Курс "Современные технологии программирования, часть 2"
В данной части курса рассматривается одна из наиболее интересных технологий современного программирования - CUDA. Сегодня современные графические адаптеры обладают серьезными вычислительными мощностями, для того, чтобы генерировать двухмерные и трехмерные динамические сцены в режиме реального времени для вывода их на экран монитора. В результате современные графические адаптеры оснащаются своими собственными процессорами, своей оперативной памятью, причем количество таких процессоров велико. Каждый из них по вычислительной мощности, конечно, слабее основного процессора, но вместе они могут дать производительность в сотни раз выше, чем дает основной процессор, благодаря распараллеливанию выполняемой задачи. Компания NVidia была первой, кто предоставил программный интерфейс к вычислительным мощностям своих видеокарт. Этот интерфейс и есть CUDA.
Благодаря CUDA стало возможным написание программ, которые требуют большого количества одинаковых или подобных вычислений, например в задачах обработки матриц, массивов данных.
В результате изучения данного курса студент должен знать:
- синтаксис языка CUDA C/C++ - расширение стандартного языка С, предложенного компанией NVidia для написания параллельных программ;
- способы распараллеливания данных и программ;
- архитектуру CUDA устройства.
В результате изучения данного курса студент должен уметь:
- анализировать поставленную задачу и принимать решения относительно ее распараллеливания (возможно, нет, если возможно, то как);
- настраивать и создавать проекты CUDA в Visual Studio;
- решать задачи интеграции созданных приложений с другими проектами.
Вложение | Размер |
---|---|
![]() | 40.5 КБ |
![]() | 28.5 КБ |
![]() | 316.64 КБ |
![]() | 506.5 КБ |
![]() | 406.5 КБ |