Лабораторная 3

Лабораторная работа №3 по курсу ПОД

Программирование Tesla

GPU Tesla M2070

 Number of processor cores: 448

 Processor core clock: 1.15 GHz

 Voltage: 887.5 mV to 975 mV

 Package size: 42.5 mm × 42.5 mm 1981-pin ball grid array (BGA)

Memory

Memory clock: 1.50 GHz

Interface: 384-bit

6GB

24 pieces 64M × 32 GDDR5 136-pin BGA, SDRAM

 

  • NVCC – компилятор для CUDA

Основными опциями команды nvcc являются:

ü  --use_fast_math - заменить все вызовы стандартных математических функций на их быстрые (но менее точные) аналоги

ü  -o <outputFileName> - задать имя выходного файла

  • CUDA файлы обычно носят расширение .cu
  • Пример компиляция nvcc -o myprog.cu myprog

 

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

Программа

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

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

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

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

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

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

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

 

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

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

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

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

 

  1. Сортировка массива за O(N)
  2. Решение системы уравнений методом Гауса
  3. Разложение матрицы LU
  4. Найти корень уравнения
  5. Записать метод прогонки
  6. Задать массив чисел от 1 до 100000 и инвертировать его
  7. Реализовать явную разностную схему
  8. Решение уравнения с разностной схемой второго порядка
  9. Найти простые множители натурального числа n
  10.  Дано натуральное число N. Найти все меньшие n совершенные числа (числа, равные сумме всех своих делителей, кроме самого числа)
  11. Дано натуральное число N. Найти все меньшие n числа Мерсена (число называется числом Мерсена, если оно может быть представлено в виде 2р-1, где р – простое число)
  12. Дано натуральное число N. Найти все меньшие n простые числа-близнецы, т.е. между которыми находится только одно составное число.
  13. Найти все трехзначные числа Армстронга - сумма кубов цифр которых равна самому числу. Например: 153=13+53+33
  14. Перемножить две матрицы 100 значных чисел.
  15. Дано натуральное число N.  Проверить, является ли оно степенью числа 2.
  16. Продолжите последовательность: 24, 81, 63, 26, 41, 28 ...
  17. Вычислить функцию Аккермана
  18. Вычислить
  19. Найти количество различных элементов заданного массива
  20. Назовём магическим квадратом матрицу размера NxN, которая заполнена числами 1..N2 таким образом, что суммы чисел на любых вертикалях, горизонталях и диагоналях были равны. Для заданного натурального N подсчитать количество магических квадратов.
  21. Для натурального числа n найти число, состоящее только из цифр 7 и 0 и делящееся на n.

Литература

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

2. Казённов А.М. Основы технологии CUDA // Компьютерные исследования и моделирование 2010 Т. 2 № 3 С. 295–308 7.

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

 

  • Нет меток