Мы разрабатывали наш код в Linux, но хотели бы скомпилировать исполняемый файл Windows. Старая версия без gpu прекрасно компилируется с mingw в Windows, поэтому я надеялся, что смогу сделать то же самое с версией CUDA.
Стратегия состоит в том, чтобы скомпилировать код ядра с помощью nvcc в visual studio, а остальное с помощью gcc в mingw.
До сих пор мы легко компилировали файл .cu (с ядром и запусками ядра) в visual studio. Тем не менее, мы все еще не можем скомпилировать код c в mingw. Код c содержит вызовы cuda api, такие как cudaMalloc
, и типы cuda, такие как cudaEvent_t
, поэтому мы должны включить cuda.h и cuda_runtime.h. Однако gcc выдает предупреждения и ошибки для этих заголовков, например:
../include/host_defines.h:57:0: warning: "__cdecl" redefined
и
../include/vector_functions.h:127:14: error: 'short_4' has no member named 'x'
Есть идеи о том, как мы можем включить эти заголовки и скомпилировать часть кода c?