Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Лабораторная работа №1 по курсу ПОД: 2015/16 уч. года Освоение программного обеспечения среды программирования NVIDIA
Общий вид команд для запуска ядра
incKernel<<<bl, th, ns, st>>> ( data );
bl - число блоков в сетке
th - число нитей в сетке
ns - количество дополнительной shared памяти, выделенной блоку
st - поток, в котором нужно запустить ядро
Основы CUDA API
char ** cudaGetErrorString (* cudaError_t );
cudaError_t cudaGetLastError ();
cudaError_t cudaThreadSynchronize ();
cudaError_t cudaEventCreate ( cudaEvent_t ** );*
cudaError_t cudaEventRecord ( cudaEvent_t ** );*
cudaStream_t );
cudaError_t cudaEventQuery ( cudaEvent_t );
cudaError_t cudaEventSynchronize ( cudaEvent_t );
cudaError_t cudeEventElapsedTime ( float ** time,*
cudaEvent_t start, cudaEvent_t stop );
cudaError_t cudaEventDestroy ( cudaEvent_t );
cudaError_t cudaGetDeviceCount ( int ** );*
cudaError_t cudaGetDevicePropertis (
cudaDeviceProp ** props,*
int deviceNo );
Компиляция программ
Используем утилиму make/nmake, явно вызывающую nvcc
Используем MS Visual Studio
подключаем cuda.rules
используем CUDA Wizard (http://sourceforge.net/projects/cudawizard)
Общие правила по оформлению программ
Программа должна делать проверки на ошибки:

  • Наличие аппаратной поддержки CUDA
  • Открылся ли файл исходных данных
  • Правилен ли формат данных?
    Программа должна быть скомпилирована с опцией Release и запускаться на Windows 7 с CUDA Toolkit 7.0
    Программа должна компилироваться. Для этого должен быть приложен vcproj для VS2010 либо (makefile + .bat)
    Варианты заданий
  1. Написание программы «Hello, World!» на CUDA
  2. Написание программы «Hello, World!» на OpenCl
  3. Вывести фразу 10 раз
  4. Вычислить функции корня из аргумента
  5. Перемножить два массива
  6. Вычислить значения функции синуса
  7. Вывести на экран числа от 1 до 65535
  8. Задать массив чисел от 1

...

  1. до 512 и инвертировать его
  2. Вычислить функцию тангенса
  3. Вычислить функцию синус икс делить на икс.
  4. Вычислить функцию косинуса
  5. Вычислить функцию экспоненты
  6. Задать массив чисел и вычислить их квадраты
  7. Создать 10^8 чисел
  8. Получить полином из чисел
  9. Получить палиндром


Литература

  1. Боресков А.В., Харламов А.В. Основы работы с технологией CUDA. – Изд-во: ДМК Пресс, 2010, 232 стр


Варианты заданий составлены проф. Зайцевым В.Е, проф. Ревизниковым Д.Л. и м.н.с. Семеновым С.А.