#c #compiler-construction #cuda #nvcc
#c #компилятор-конструкция #cuda #nvcc
Вопрос:
у меня вопрос (CUDA) могу ли я выполнить функцию ядра на C без компилятора nvcc? мне задали этот вопрос, и мне сказали, что это можно сделать, если вы вызываете Call напрямую из CUDA driver API с помощью C, просто намного сложнее.
Но я тоже хочу получить отзывы от других людей.
Комментарии:
1. «Они» правы. Это можно сделать, если вы вызываете call непосредственно из CUDA driver API с помощью C, просто намного сложнее.
Ответ №1:
В настоящее время, используя упакованные наборы инструментов, поставляемые nvidia, если вы пишете код CUDA на C, в какой-то момент потребуется компилятор устройства (nvcc), чтобы, как минимум, преобразовать этот исходный код C в допустимый PTX. После этого момента инструментарий (который включает nvcc) не является абсолютно необходимым. Код PTX может быть JIT-скомпилирован драйвером (который отделен от инструментария) в исполняемый код для любого используемого графического процессора. И процесс запуска надлежащим образом написанного ядра (возможно, JIT-скомпилированного из PTX) может быть выполнен с использованием только вызовов API драйвера.
API среды выполнения был создан отчасти потому, что он может упростить процесс и сделать общий процесс создания кода похожим на то, к чему привык типичный программист на C / C .