Этот репозиторий содержит учебные проекты, выполненные в рамках факультатива "Введение в высокопроизводительные вычисления на кластерах с использованием графических ускорителей NVIDIA".
-
Jacobi3D Benchmark - реализация трёхмерной итерационной схемы Якоби:
- Сравнение CPU (OpenMP) и GPU (CUDA) реализаций
- Анализ производительности для различных размеров CUDA-блоков
- Ускорение до 6.35x на GPU
-
ADI3D Benchmark - реализация метода переменных направлений (ADI):
- Оптимизированная обработка трёхмерных данных
- Сравнение производительности CPU/GPU
- Ускорение до 1.35x на GPU
Все проекты включают:
- Реализации для CPU (с OpenMP) и GPU (с CUDA)
- Утилиты для сравнения производительности и точности
- Гибкую систему сборки с Makefile
- Поддержку как float, так и double precision вычислений
- Скрипты для автоматического тестирования различных конфигураций
- Компилятор с поддержкой C99 (gcc)
- NVIDIA CUDA Toolkit
- OpenMP
- Linux (рекомендуется)
Для каждого проекта:
- Перейдите в соответствующую директорию (
jacobi3dилиadi3d) - Соберите проект командой
make - Запустите тесты:
make run- базовое сравнение CPU/GPUmake test_blocks- тестирование различных размеров блоков
В ходе выполнения проектов были освоены:
- Основы программирования на CUDA
- Оптимизация вычислений для GPU
- Методы анализа производительности
- Особенности работы с трёхмерными данными
- Техники сравнения CPU и GPU реализаций