Общий вид команд для запуска ядра

incKernel<<<bl, th, ns, st>>> ( data );

bl - число блоков в сетке

th - число нитей в сетке

ns - количество дополнительной shared памяти, выделенной блоку

st - поток, в котором нужно запустить ядро

Общие правила по оформлению программ

Программа

- должна выполняться параллельно

- должна распределять память

- должна использовать векторные операции

Программа должна делать проверки на ошибки:

 - Наличие аппаратной поддержки CUDA

 - Открылся ли файл исходных данных

 - Правилен ли формат данных?

 

Программа должна быть скомпилирована с опцией Release и запускаться на Windows 7  CUDA Toolkit 4.2

Программа должна быть скомпилирована CUDA 3.2, 4.2, OpenCl, OpenACC

Программа должна компилироваться. Для этого должен быть приложен vcproj для VS2008, VS2010  либо makefile + .bat

Варианты заданий (* отмечены задачи повышенной сложности)

  • сортировка массива 108 элементов Report1.doc
  • Два массива, длиной в 512 слов складываются поэлементно в несколько потоков 1lab.report.gpu.doc
  • Написание программы «Hello, World!» на CUDA
  • Написание программы «Hello, World!» на OpenCl
  • Вывести фразу 10 раз
  • Вычислить функции корня из аргумента
  • Перемножить два массива
  • Вычислить значения функции синуса
  • Вывести на экран числа от 1 до 65535
  • Задать массив чисел от 1 до 512 и инвертировать его
  • Вычислить функцию тангенса
  • Вычислить функцию синус икс делить на икс.
  • Вычислить функцию косинуса
  • Вычислить функцию экспоненты
  • Задать массив чисел и вычислить их квадраты
  • Создать 10^8 чисел
  • Получить полином из чисел
  • Получить палиндром
  •  

  • Нет меток