make cuda usage optional