Первое знакомство с GPU: Ваш первый файл .cu
Соберите и запустите минимальную программу CUDA.
«Первое знакомство с GPU: Ваш первый файл .cu» — бесплатный урок CUDA Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CUDA Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CUDA Academy содержит 4 уроков всего.
Ваш первый файл .cu
Пора собрать что-нибудь настоящее. Программа CUDA хранится в файле .cu, который может содержать одновременно код CPU и GPU. 🎉
Подключение заголовочного файла
Большинство примеров CUDA начинается с подключения стандартных заголовочных файлов. Заголовочный файл runtime CUDA подключается nvcc автоматически, поэтому часто достаточно iostream.
#include <cstdio>Обозначение ядра
Функция, выполняемая на GPU, называется ядром. Пометьте её квалификатором __global__, чтобы nvcc скомпилировал её для устройства.
__global__ void hello() {
}Вывод с GPU
Внутри ядра можно вызывать printf так же, как на CPU. Каждый поток GPU, выполняющий этот вызов, создаёт собственную строку вывода.
__global__ void hello() {
printf("Hello from GPU\n");
}Синтаксис запуска
Чтобы запустить ядро, используется запуск с тройными угловыми скобками. Числа внутри определяют, сколько блоков и потоков будет его выполнять.
hello<<<1, 1>>>();Запуски выполняются асинхронно
Запуск ядра немедленно возвращает управление, пока GPU работает в фоновом режиме. CPU продолжает выполнение, что очень удобно, но поначалу может быть неожиданным.
Ожидание GPU
Поэтому перед завершением программы необходимо выполнить синхронизацию, иначе вывод printf может так и не появиться на экране.
cudaDeviceSynchronize();Собираем всё вместе
Ваша функция main запускает ядро, а затем ожидает его завершения. Это весь каркас работающей программы CUDA.
int main() {
hello<<<1, 1>>>();
cudaDeviceSynchronize();
}Компиляция
Сохраните файл как hello.cu и соберите его с помощью nvcc, задав имя выходной программы флагом -o.
nvcc hello.cu -o helloЗапуск
Теперь запустите программу. Если вы видите напечатанное Hello from GPU, значит код действительно выполнился на устройстве. Это ваш первый вывод с GPU! 🚀
./helloМного потоков одновременно
Увеличьте число запускаемых потоков, и приветствие появится несколько раз — по одной строке на поток. Это настоящая параллельная работа в действии.
hello<<<1, 8>>>();Быстрая проверка
Одна деталь определяет, будет ли эта программа работать.
Итоги
Вы написали настоящую программу CUDA: ядро __global__, запуск с тройными скобками и синхронизация. Скомпилируйте её с помощью nvcc, запустите — и GPU поприветствует вас. Поздравляем! 🎓
Часто задаваемые вопросы
Урок «Первое знакомство с GPU: Ваш первый файл .cu» бесплатный?
Да — полный текст урока «Первое знакомство с GPU: Ваш первый файл .cu» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CUDA Academy, подпишись на CoddyKit PRO. Курс CUDA Academy содержит 4 уроков всего.
Чему я научусь в уроке «Первое знакомство с GPU: Ваш первый файл .cu»?
Соберите и запустите минимальную программу CUDA. Ты практикуешь CUDA Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать CUDA Academy?
Предыдущий опыт не требуется. CUDA Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Первое знакомство с GPU: Ваш первый файл .cu»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке CUDA Academy?
Да. Каждый урок CUDA Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Версии драйвера, среды выполнения и набора инструментов
- Профессиональная работа с nvidia-smi
- Компиляция с помощью компилятора CUDA
- Первое знакомство с GPU: Ваш первый файл .cu