Как использовать другие компиляторы С++ с CUDA в Windows?

Я пытаюсь создать простое приложение с CUDA, и я пытался часами подряд, и я просто не могу заставить его работать в Windows. nvcc абсолютно отказывается компилироваться без компилятора Visual Studio, который не поддерживает то, что мне нужно. Я пытался собрать с помощью nvcc с clang, но он просто просит меня использовать компилятор Visual Studio. Я также пытался использовать clang напрямую, так как теперь он поддерживает CUDA, но я получаю эту ошибку:

clang++.exe: error: Unsupported CUDA gpu architecture: compute_52

Для меня это не имеет смысла, потому что у меня есть инструментарий CUDA версии 7.5, а моя видеокарта — GTX 970 (их две). Я много гуглил, и везде я сталкивался с ошибкой, которую всегда имеет человек, это его инструментарий CUDA ‹ 7.5. Я сейчас на грани слез, пытаясь заставить что-то такое же простое, как VLA, работать с этим приложением CUDA, и я просто не могу этого добиться...


person user3441843    schedule 18.07.2016    source источник
comment
Возможно, вы захотите показать свою исходную проблему, что-то, что вам нужно, но VS, похоже, не поддерживает. Было бы лучше решить ее с помощью официального инструментария - CUDA с компилятором VS.   -  person kangshiyin    schedule 18.07.2016
comment
Массивы переменной длины в любом случае не являются С++. И я понимаю, почему они не будут работать на CUDA; они по сути являются оболочкой вокруг alloca, и я не думаю, что CUDA поддерживает это,   -  person MSalters    schedule 18.07.2016


Ответы (2)


Набор инструментов CUDA для Windows требуется компилятор Visual Studio C++. Вы не можете использовать что-либо еще на этой платформе. Если компилятор VS не поддерживает функции языка, которые вам нужны в коде хоста CUDA, у вас нет другого выбора, кроме как сменить платформу или ваши ожидания.

Вы по-прежнему можете скомпилировать хост-код, отличный от CUDA, с помощью другого компилятора, а затем связать этот код с помощью NVCC и цепочки инструментов VS.

person Community    schedule 18.07.2016

Попробуйте использовать clang-cl, --cubin=clang-cl.exe

person zhanghaolong    schedule 22.05.2020
comment
Требуется объяснение кодов для получения дополнительной информации, пожалуйста, отредактируйте свой пост и напишите объяснение к нему. - person Farbod Ahmadian; 22.05.2020