如果我的机器没有CUDA GPU,我能否在OpenMP设备系统中使用Thrust?如果可以,是否仍然需要CUDA工具包?
如果我的机器没有CUDA GPU,我能否在OpenMP设备系统中使用Thrust?如果可以,是否仍然需要CUDA工具包?
我在CUDA文档中找到了这个内容:
使用OpenMP或TBB系统时,不需要使用nvcc
。通常情况下,只有在针对CUDA的Thrust时才需要使用nvcc
。例如,我们可以使用以下命令行直接使用g++
编译上面的代码:
$ g++ -O2 -o monte_carlo monte_carlo.cpp -fopenmp -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP -lgomp -I<path-to-thrust-headers>