Первая программа CUDA

Опубликовано марта 5, 2018 в Технология CUDA

Поскольку мы собираемся изучать язык CUDA С на примерах, то и начнем с примера. Чтобы не отступать от традиций написания статей по программированию, в качестве первого примера мы возьмем программу «Здравствуй, мир!».

Здравствуй, мир!

Первая программа CUDA

Наверняка вы сейчас подумали, что авторы вас попросту надули. Это ведь обычный С, не так ли? А существует ли вообще CUDA С? Ответ на оба вопроса утвердительный, и эта информация — не ловкое мошенничество. Пример программы «Здравствуй, мир!» приведен только для того, чтобы показать: между CUDA С и стандартным С, к которому вы привыкли, нет фундаментальных различий.

Своей простотой пример обязан тому факту, что работает целиком на основном процессоре — CPU (host). В этом разделе сайта мы будем называть GPU вкупе с его памятью устройством (device). Этот пример так сильно напоминает код, который мм писали раньше, потому что вообще игнорирует какие-либо вычислительные устройства, кроме CPU.

Чтобы избавить вас от горького ощущения, что вы потратили деньги на дорогостоящее собрание банальностей, мы будем постепенно расширять этот пример. Для начала взглянем на нечто, способное использовать GPU (устройство) для исполнения кода. Функция, исполняемая на устройстве, обычно называется ядром (kernel).