Могу ли я использовать Thrust с системой устройств OpenMP, если на моей машине нет графического процессора CUDA? Если да, то нужен ли мне инструментарий CUDA?
Засунуть OpenMP без CUDA?
Ответы (1)
Я только что нашел это в документации CUDA:
При использовании систем OpenMP или TBB nvcc
не требуется. Как правило, nvcc
требуется только при нацеливании Thrust на CUDA. Например, мы могли бы скомпилировать предыдущий код напрямую с помощью g++
с помощью этой командной строки:
$ g++ -O2 -o monte_carlo monte_carlo.cpp -fopenmp -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP -lgomp -I<path-to-thrust-headers>
https://github.com/thrust/thrust/wiki/Device-Backends
person
lodhb
schedule
09.05.2013
Если я передаю значения host_vector в алгоритмы тяги, они работают на CPU, но если я передаю в алгоритмы значения device_vector, они работают на GPU. Дело в том, что алгоритмы, работающие на ЦП, используют OpenMP, а те, что работают на ГП, используют бэкенд Cuda?
- person phoad; 17.01.2015