Параллельные вычисления: от суперкомпьютеров до телефонов

Содержание

Слайд 2

СУПЕРКОМПЬЮТЕРЫ

СУПЕРКОМПЬЮТЕРЫ

Слайд 3

Для чего нужны суперкомпьютеры? Исследования состояния окружающей среды Проектирование космических систем

Для чего нужны суперкомпьютеры?

Исследования состояния окружающей среды
Проектирование космических систем
Изучение вселенной
Поиск новых

видов энергии
Создание лекарств
Управление чрезвычайными ситуациями
Прогнозирование климата
Разведка полезных ископаемых
Новые материалы и нанотехнологии
Некоторые задачи искусственного интеллекта
Слайд 4

Sunway TaihuLight. 1 место в top500 в ноябре 2017 г. Вычислительные

Sunway TaihuLight. 1 место в top500 в ноябре 2017 г.

Вычислительные ядра:

10,649,600
Пиковая производительность: 125 Pflops (125 х 1015)
Реальная производительность: 93 Pflops (93 х 1015)
Слайд 5

Как выглядят суперкомпьютеры? СКИФ МГУ Стойки СКИФа изнутри Блок процессоров Процессорный элемент

Как выглядят суперкомпьютеры?

СКИФ МГУ

Стойки СКИФа изнутри

Блок процессоров

Процессорный элемент

Слайд 6

Как выглядят суперкомпьютеры? Ломоносов (МГУ)

Как выглядят суперкомпьютеры?

Ломоносов (МГУ)

Слайд 7

Результаты некоторых вычислений

Результаты некоторых вычислений

Слайд 8

Тетраэдральные сетки 108 узлов

Тетраэдральные сетки 108 узлов

Слайд 9

Базовые технологии программирования MPI – Message Passing Interface – основа OpenMP

Базовые технологии программирования

MPI – Message Passing Interface – основа
OpenMP
CUDA – Compute

Unified Device Architecture
OpenACC
Ведущие языки программирования:
С/С++
Фортран
Слайд 10

Видеокарты


Видеокарты

Слайд 11

Процессор VS Видеокарта

Процессор VS Видеокарта

Слайд 12

Видеокарты NVIDIA Фактически играют роль вычислительных сопроцессоров Содержат сотни, тысячи вычислительных

Видеокарты NVIDIA

Фактически играют роль вычислительных сопроцессоров
Содержат сотни, тысячи вычислительных ядер
Доступны любому

пользователю
Система программирования (CUDA) распространяется свободно
Программирование видеокарт базируется на С/С++ и Фортране
Поддерживаются сторонние разработчики библиотек
Сочетают расчеты с графикой (моделирование поведения воды)
Слайд 13

Слайд 14

Многоядерные процессоры Многопоточное программирование На персональных компьютерах На телефонах, планшетах, смартфонах

Многоядерные процессоры

Многопоточное программирование
На персональных компьютерах
На телефонах, планшетах, смартфонах и т.д.

Естественна поддержка

многопоточности в языках программирования (С++, Java, erlang, php).

На базе специальных классов (java)

На базе стандарта POSIX