CUDA Fortran для инженеров и научных работников : рекомендации по эффективному программированию на языке CUDA Fortran
Здесь можно купить книгу "CUDA Fortran для инженеров и научных работников : рекомендации по эффективному программированию на языке CUDA Fortran" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-89818-540-4
Страниц: 365
Артикул: 107960
Возрастная маркировка: 16+
Краткая аннотация книги "CUDA Fortran для инженеров и научных работников"
Fortran – один из важнейших языков программирования для высокопроизводительных вычислений, для которого было разработано множество популярных пакетов программ для решения вычислительных задач. Корпорация NVIDIA совместно с The Portland Group (PGI) разработали набор расширений к языку Fortran, которые позволяют использовать технологию CUDA на графических картах NVIDIA для ускорения вычислений. Книга демонстрирует всю мощь и гибкость этого расширенного языка для создания высокопроизводительных вычислений. Не требуя никаких предварительных познаний в области параллельного программирования авторы скрупулезно шаг за шагом раскрывают основы создания высокопроизводительных параллельных приложений, попутно поясняя важные архитектурные детали современного графического процессора – ускорителя вычислений. Издание предназначено для инженеров, научных работников, программистов, в также будет полезно студентам вузов соответствующих специальностей.
Содержание книги "CUDA Fortran для инженеров и научных работников : рекомендации по эффективному программированию на языке CUDA Fortran"
Благодарности
Предисловие
ЧАСТЬ 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. L1-кэш
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. Примеры задач
Глава 5. Метод Монте-Карло
5.1. Библиотека CURAND
5.2. Вычисление π с помощью CUF-ядер
5.2.1. Стандарт IEEE-754 (дополнительная тема)
5.3. Вычисление π с помощью ядер редукции
5.3.1. Редукция с атомарными блокировками (дополнительная тема)
5.4. Точность суммирования
5.5. Опционное ценообразование
Глава 6. Метод конечных разностей
6.1. Девятиточечный шаблон конечно-разностной схемы для вычисления первой производной
6.1.1. Повторное использование данных и разделяемая память
6.1.2. Ядро производной по x
6.1.3. Производные по y и z
6.1.4. Неравномерные сетки
6.2. Двумерное уравнение Лапласа
Глава 7. Приложения быстрого преобразования Фурье
7.1. Библиотека CUFFT
7.2. Спектральное дифференцирование
7.3. Свертка
7.4. Решение уравнения Пуассона
ЧАСТЬ III. Приложение
Приложение А. Технические характеристики Tesla
Приложение B. Управление системой и окружением
B.1. Переменные окружения
B.1.1. Общие переменные окружения
B.1.2. Командный профилировщик
B.1.3. JIT-компиляция
B.2. Интерфейс управления системой nvidia-smi
B.2.1. Включение и выключение режима ECC
B.2.2. Режим вычислений
B.2.3. Инерционный режим
Приложение C. Вызов CUDA C из CUDA Fortran
C.1. Вызовы библиотеки, написанной на CUDA C
C.2. Вызов написанной пользователем функции на CUDA C
Приложение D. Исходный код
D.1. Текстурная память
D.2. Транспонирование матрицы
D.3. Параллелизм на уровне потоков и команд
D.4. Программирование с использованием нескольких GPU
D.4.1. Транспонирование с применением равноправного доступа к памяти
D.4.2. Транспонирование с применением библиотеки MPI для передачи данных между хостами
D.4.3. Транспонирование с применением библиотеки MPI для передачи данных между устройствами
D.5. Программирование метода конечных разностей
D.6. Решение уравнения Пуассона спектральным методом
Литература
Предметный указатель
Все отзывы о книге CUDA Fortran для инженеров и научных работников : рекомендации по эффективному программированию на языке CUDA Fortran
С книгой "CUDA Fortran для инженеров и научных работников" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "CUDA Fortran для инженеров и научных работников : рекомендации по эффективному программированию на языке CUDA Fortran (автор Грегори Рутш, Массимилиано Фатика)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку