Комп’ютерна система розпаралелення алгоритмів машинного навчання мовою С++
Вантажиться...
Дата
2026
Науковий керівник
Назва журналу
Номер ISSN
Назва тому
Видавець
КПІ ім. Ігоря Сікорського
Анотація
Бакалаврський дипломний проєкт включає пояснювальну записку (72 стор., 16 рис., 2 табл., список використаної літератури з 7 найменувань, 4 додатки).
Об’єкт розробки - створення програмної системи для розпаралелення алгоритмів навчання нейронних мереж, з можливістю дослідницької діяльності. Дана програмна система дозволяє: забезпечити паралельне виконання алгоритму навчання нейронної мережі на трьох рівнях архітектури: мережевому, апаратному та багатопоточності; масштабування обчислень, завдяки паралельному виконанню; динамічний розподіл даних; математично точна синхронізація; проводити порівняльний аналіз динамічного балансування навантаження між центральним та графічним процесорами; аналізувати вплив мережевих затримок на роботу кластеру; оцінювати ефективність багаторівневого розгалуження алгоритму навчання з лінійним варіантом навчання. В процесі розробки були використані стандарти та інструменти мови C++ (C++17/20), зокрема бібліотеки для багатопоточності (<thread>, <mutex>), роботи з файловою системою (<filesystem>), а також функціональні обгортки та лямбда-вирази для реалізації архітектури зворотних викликів (callback).
Для побудови системи збирання та керування залежностями застосовано кросплатформні інструменти CMake та vcpkg. Також була використана стороння бібліотека:
• LibTorch (C++ API for PyTorch) – для виконання оптимізованих тензорних обчислень та роботи з архітектурами нейронних мереж на базі апаратного прискорення (NVIDIA CUDA).
• ZeroMQ (cppzmq) – для організації високонадійної асинхронної мережевої взаємодії між вузлами кластера за патернами REQ/REP (рукостискання) та PUB/SUB (мережеві бар'єри).
В ході розробки: проведено аналіз існуючих рішень.
Опис
Ключові слова
система, розпаралелення, рівні, кластери, cpu, gpu, kernel, розподілене обчислення, нейронній мережі, с++, синхронізація градієнтів, libtorch, zeromq, cppzmq., system, parallelisation, levels, clusters, distributed computing, neural networks, c++, gradient synchronisation
Бібліографічний опис
Марінченко, М. О. Комп’ютерна система розпаралелення алгоритмів машинного навчання мовою С++ : дипломний проєкт ... бакалавра : 123 Комп'ютерна інженерія / Марінченко Михайло Олексійович. – Київ, 2026. – 88 с.