Розробка та оптимiзацiя C++ програм з використанням технологiї CUDA для гетерогенних систем з графiчним процесором

Дата
2023
Автори
Демедюк Вiталiй
Назва журналу
ISSN журналу
Назва тому
Видавець
Анотація
Розглянуто розширення мови C++ вiд компанiї NVIDIA – CUDA С++, яке дозволяє звичним нам способом розробляти застосунки, якi використовують переваги графiчних процесорiв. Розглянуто ряд основних обмежень, якi накладає компiлятор NVCC на код пристрою, недотримання яких може призвести до помилки компiляцiї або невизначенiй поведiнцi при виконаннi, розглянуто рiзнi методи керування й доступу до пам’ятi, а також рiзнi технiки для оптимiзацiї передачi даних мiж хостом та графiчним процесором. Розглянуто рiзнi методи оптимiзацiї алгоритмiв, використовуючи усi переваги гетерогенної системи, яка складається з двох 64 ядерних центральних та одного графiчного NVIDIA A100 процесорiв. Для кожного реалiзацiї були проведенi замiри часу їх виконання, i де потрiбно для кращого розумiння таких показникiв, провели повне профiлювання програми за допомогою утилiти Nsight Systems. Для кожної задачi спершу приводились однопотоковi та паралельнi реалiзацiї, якi для обчислень використовували тiльки CPU. Було покращено алгоритм Флойда – Воршелла, для уже менш класичної пролеми для вiдеокарт – задачi про найкоротший шлях в орiєнтованому зваженому граф. Для неї уже шляхом замiни двох внутрiшнiх циклiв у алгоримi Флойда – Воршелла, на виклик ядра у двовимiрнi сiтцi з двовимiрних блокiв, було досягнуто прискорення у 20-30 разiв вiдносно паралельного алгоритму на CPU. Ключовi слова: CUDA, C++, GPU, графiчний процесор, гетерогенна система, оптимiзацiя, високопродуктивнi обчислення.
Бібліографічний опис
Галузь знань та спеціальність
12 Інформаційні технології , 122 Комп’ютерні науки
Бібліографічний опис
Демедюк В. Розробка та оптимiзацiя C++ програм з використанням технологiї CUDA для гетерогенних систем з графiчним процесором : кваліфікаційна робота … бакалавра : 122 Комп’ютерні науки / Демедюк Віталій. – Київ, 2023. – 95 с.