Я хочу использовать второе устройство GPU в качестве посвященного устройства под Linux, чтобы сравнить ядро.Как настроить выделенный графический процессор для тестирования ядра CUDA?
Ядро, которое я тестирую, является ядром SIMD-вычислений без сокращений, а X-Server не привязан к графическому процессору, это GeForce GTX-480, поэтому я полагаю, что вычислительная способность равна 2. Поэтому расширенные функции как динамический параллелизм и другие, отключены.
с использованием NVidia-сми утилиты существуют различные режимы для установки ГПУ
"Default" means multiple contexts are allowed per device.
"Exclusive Process" means only one context is allowed per device, usable from multiple threads at a time.
"Prohibited" means no contexts are allowed per device (no compute apps).
Что является лучшим способом для настройки GPU для того, чтобы получить точку отсчета, как верный, как это возможно?
Что такое команда, которую я должен использовать, чтобы сделать постоянную такую настройку?
Я скомпилировать ядро, используя следующие флаги:
nvcc --ptxas-options=-v -O3 -w -arch=sm_20 -use_fast_math -c -o
существует лучшее сочетание флагов для того, чтобы получить дополнительную помощь от компилятора, чтобы получить более быстрое время выполнения?
Любое предложение будет очень оценено.
Не совсем ясно, в чем проблема, которую вы надеетесь решить, но вы можете изучить утилиту 'CUDA_VISIBLE_DEVICES', как объясняется в этом [blog post] (https://devblogs.nvidia.com/parallelforall/cuda-pro-tip-control-gpu-visibility-cuda_visible_devices /) – njuffa
Мне удалось выбрать целевой GPU, используя HANDLE_ERROR (cudaSetDevice (1)); – user3116936
Мне удалось выбрать целевой GPU, используя HANDLE_ERROR (cudaSetDevice (1)). Я думаю, что это программный эквивалент для экспорта переменной CUDA_VISIBLE_DEVICES. мой вопрос связан с тем, что более уместно? настройте GPU в режиме эксклюзивного вычисления или нет. – user3116936