Make cuda optional