Справка
x
Поиск
Закладки
Озвучить книгу
Изменить режим чтения
Изменить размер шрифта
Оглавление
Для озвучивания и цитирования книги перейдите в режим постраничного просмотра.
CUDA Fortran для инженеров и научных работников. Рекомендации по эффективному программированию на языке CUDA Fortran
ЧАСТЬ I. Программирование на CUDA Fortran
Предыдущая страница
Следующая страница
Table of contents
Благодарности
Предисловие
ЧАСТЬ I. Программирование на CUDA Fortran
-
Глава 1. Введение
1.1. Краткая история вычислений на GPU
1.2. Параллельные вычисления
1.3. Основные идеи
1.3.1. Первая программа на CUDA Fortran
1.3.2. Обобщение на большие массивы
1.3.3. Многомерные массивы
1.4. Определение возможностей и ограничений оборудования с поддержкой CUDA
1.5. Обработка ошибок
1.6. Компиляция программы на CUDA Fortran
1.6.1. Раздельная компиляция
Глава 2. Измерение производительности и метрики производительности
2.1. Измерение времени выполнения ядра
2.1.1. Синхронизация хоста и устройства и таймеры CPU
2.1.2. Хронометраж с помощью событий CUDA
2.1.3. Командный профилировщик
2.1.4. Профилировщик nvprof
2.2. Ядра, производительность которых, ограничена вычислениями, пропускной способностью памяти и задержкой
2.3. Пропускная способность памяти
2.3.1. Теоретически максимальная пропускная способность
2.3.2. Эффективная пропускная способность
Глава 3. Оптимизация
3.1. Передача данных между хостом и устройством
3.1.1. Зафиксированная область памяти
3.1.2. Объединение мелких операций передачи в один пакет
3.1.3. Асинхронная передача данных (дополнительная тема)
3.2. Память устройства
3.2.1. Объявление данных в коде, выполняемом на устройстве
3.2.2. Объединенный доступ к глобальной памяти
3.2.3. Текстурная память
3.2.4. Локальная память
3.2.5. Константная память
3.3. Внутрикристалльная память
3.3.1. И-клп
3.3.2. Регистры
3.3.3. Разделяемая память
3.4. Пример оптимизации работы с памятью: транспонирование матрицы
3.4.1. Недогрузка разделов (дополнительная тема)
3.5. Конфигурация выполнения
3.5.1. Параллелизм на уровне потоков
3.5.2. Параллелизм на уровне команд
3.6. Оптимизация команд
3.6.1. Встроенные функции устройства
3.6.2. Флаги компилятора
3.6.3. Расходящиеся варпы
3.7. Директивы генерации ядра из цикла
3.7.1. Редукция в CUF-ядрах
3.7.2. Потоки CUDA в CUF-ядрах
3.7.3. Параллелизм на уровне команд в CUF-ядрах
Глава 4. Программирование компьютера с несколькими GPU
4.1. Средства CUDA для работы с несколькими GPU
4.1.1. Связь между равноправными устройствами
4.1.2. Прямая передача данных между равноправными устройствами
4.1.3. Транспонирование матрицы с применением равноправного доступа
4.2. Программирование нескольких GPU с применением библиотеки MPI
4.2.1. Сопоставление устройств рангам MPI
4.2.2. Транспонирование матрицы с применением MPI
4.2.3. Транспонирование матрицы с применением MPI, поддерживающей GPU
ЧАСТЬ II. Примеры задач
+
ЧАСТЬ III. Приложение
+
Литература
Предметный указатель
Данный блок поддерживает скрол*