Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК 2 Лекционный курс.doc
Скачиваний:
12
Добавлен:
16.08.2019
Размер:
3.92 Mб
Скачать

9. Базовые особенности программирования графических процессоров шейдерной модели 4.0 160

9.1. Предпосылки появления новой шейдерной модели 160

9.2. Архитектура GPU шейдерной модели 4.0. Преимущества этой модели 161

9.2.1. Иерархия вычислительных блоков и памяти в шейдерной модели 4.0 162

9.2.2. Конвейерная обработка данных на GPU SM4 164

9.2.3. Логическая структура вычислений на GPU SM4 165

9.2.4. Преимущества GPU шейдерной модели 4.0 165

9.3. Средства высокоуровневого программирования GPU шейдерной модели 4.0 166

9.3.1. Совместимость с шейдерной моделью 3.0 166

9.3.2. Специальные средства программирования GPU SM4. CUDA 167

9.3.3. Средства для написания и компиляции программ на CUDA 168

9.3.4. Структура программы на CUDA 169

9.4. Перемножение матриц на CUDA 169

9.4.1. Алгоритм перемножения матриц 169

9.4.2. Процедура перемножения матриц на GPU SM4 172

9.4.3. Вызов процедуры перемножения матриц из программы на C 177

9.5. Молекулярная динамика на CUDA 178

9.5.1. Алгоритм с использованием разделяемой памяти 178

9.5.2. Расчёт сил на GPU с использованием 3-го закона Ньютона 178

Библиографический список 183

Приложение 1 Операторы и функции языка HLSL, использованные в курсе лекций 188

П.1.2. Типы данных 188

П.1.2. Встроенные функции 188

П.1.3. Другие операторы и выражения 188

П.1.4. Системные переменные 189

Приложение 2 Процедуры CUDA, исполняемые на CPU 190

Введение

Рост объема вычислений, связанный с усложнением задач, решаемых с помощью ЭВМ в военной, технологической, научной и финансовой областях, привел к созданию мощных суперкомпьютеров и их более дешевых заменителей, многопроцессорных вычислительных комплексов – супер­клас­теров.

Несмотря на меньшую стоимость высокопроизводительные супер­кластеры все еще достаточно дороги, занимают достаточно много места и имеют большой вес.

Так, например, 40-ядерный кластер, обеспечивающий при идеальном распараллеливании ускорение расчетов не более чем в 40 раз, требует для установки отдельную комнату, персонал для обслуживания и стоит порядка 2-млн. рублей.

Представляется перспективной разработка высокопроизводительных персональных ЭВМ разных классов, базирующихся на применении в качестве основных процессоров – графических процессоров. Последнее, как позволяет заключить имеющийся опыт, позволит в существенной мере (на порядки) минимизировать недостатки суперкластеров, сохранив, а в отдельных случаях и превысив их производительность.

Первые две лекции данного конспекта посвящены описанию архитектуры и принципов работы обычных ЭВМ. Последнее сделано для того, чтобы в дальнейшем материале можно было более четко акцентировать все последующие шаги по повышению их производительности.

Во втором разделе, включающем три лекции, изложены методы повышения производительности обычных ЭВМ, обеспечивающие эффективность работы высокопроизводительных ЭВМ. Последние к настоящему времени образуют отдельную отрасль, в которой разрабатывают и создают ЭВМ для решения сложных задач с большим потоком данных и сложными арифметическими операциями. Используют эти суперкомпьютеры в самых разных областях науки – от обработки статистики по чрезвычайным ситуациям во всей стране, до расчета сложнейших уравнений химических реакций. От обычных высокопроизводительные ЭВМ отличают большие на порядок (и более) объем памяти, быстродействие и прочие характеристики, существенные для выполняемых операций. Подобные компьютерные гиганты по карману далеко не всем исследовательским центрам. Поэтому сейчас высокопроизводительную ЭВМ вполне можно создать из нескольких обычных ЭВМ, объединив их в сеть.

В третьей части (в рамках одной лекции) проанализированы типы архитектур высокопроизводительных вычислительных систем, показано, что решение вопроса разработки высокопроизводительной и экономной ЭВМ может быть достигнуто за счет использования графических процессоров.

Основная часть материала лекций посвящена относительно новому методу высокоскоростного программирования на графических процессорах и проведению моделирования физических процессов в реакторных материалах с помощью указанных процессоров.

Этот раздел включает описание принципов работы графических процессоров, приемов их программирования. В нем достаточно подробно изложено описание взаимодействия графического и центрального процессоров, приведены конкретные примеры составления общей программы.

Особое внимание в этом разделе уделено программированию задачи моделирования методом молекулярной динамики кристаллов диоксида урана. Рассмотрены задачи восстановления потенциалов межчастичных взаимодействий по температурной зависимости периода решетки кристалла, получении коэффициентов диффузии кислорода по временной зависимости среднеквадратичных смещений по анализу механизмов диффузии кислорода в диоксиде урана.

Закрепление знаний, получаемых после чтения курса, предполагает выполнение ряда практических занятий, для которых имеется учебное пособие.