Я использую шаблонные функции CUDA (Thrust library) в своем основном файле cpp, поэтому мне нужно скомпилировать его с помощью CUDA NVCC.
Я беспокоюсь о том, как NVCC будет обращаться с моим кодом хоста.
Как происходит оптимизация кода хоста? NVCC передает код хоста компилятору MSVC и обрабатывает только код, связанный с CUDA?
Да, nvcc
драйвер компилятора, который разделяет код хоста и устройства Код хоста передается напрямую компилятору хоста (cl.exe
в случае Microsoft Windows), а оптимизация кода хоста осуществляется компилятором хоста.
Nvcc документация охватывает этот поток компиляции, а также указывает, как передавать флаги компилятору хоста.
Других решений пока нет …