Описание:Практически все сегменты рынка полупроводниковой продукции, включая персональные компьютеры, игровые консоли, мобильные устройства, серверы, суперкомпьютеры и сетевые устройства переходят к использованию параллельных платформ. Есть две основные причины такой тенденции. Во-первых, параллельные процессоры предоставляют более эффективное использование доступной площади кристалла и бюджета энергопотребления для многих требовательных приложений. Во-вторых, большое количество задач, которые традиционно решались с использованием специализированных интегральных схем теперь могут быть реализованы на параллельных процессорах, что позволяет добиться нового уровня функциональности и сократить расходы на их разработку. Центральной задачей является разработка приложений, которые бы наиболее эффективно использовали возможности параллельных архитектур для достижения поставленных целей по эффективности и производительности.
Задачей этого курса является обучение разработке приложений для графических процессоров, которые имеют массивно параллельную вычислительную архитектуру. Процессор называется «массивно параллельным», если он способен выполнять более чем 64 арифметические операции за один цикл тактовой частоты. Сегодня графические процессоры NVIDIA могут быть отнесены к этому классу. Эффективное программирование таких процессоров потребует детального понимания принципов параллельного программирования, а также моделей параллелизма, обмена данными и знания различных архитектурных ограничений этих процессоров.
В данном курсе излагаются теоретические и практические знания, которые понадобятся всем будущим специалистам, которые хотели бы научиться разрабатывать приложения для графических процессоров NVIDIA с использованием модели CUDA. Будут рассмотрены основные принципы работы графических процессоров. Будет рассмотрена программно-аппаратная архитектура параллельных вычислений CUDA, которая позволяет существенно увеличить вычислительную производительность благодаря использованию графических процессоров фирмы NVIDIA.