ЕФЕКТИВНІСТЬ ПЛАТФОРМИ NVIDIA CUDA ДЛЯ СИСТЕМАТИЧНОГО ПОШУКУ ПРОСТИХ ЧИСЕЛ
DOI:
https://doi.org/10.28925/2663-4023.2026.33.1215Ключові слова:
високопродуктивні обчислення; прості числа; GPGPU; CUDA; C++; генерація псевдовипадкових чисел; алгоритми просіювання; паралельні обчислення; профілювання.Анотація
Стаття присвячена дослідженню ефективності використання платформи NVIDIA CUDA для систематичного пошуку простих чисел у діапазоні 1÷10⁹. Метою роботи є оптимізація процесів пошуку та тестування простих чисел із застосуванням GPGPU. Завданнями є програмна CPU- та CUDA-реалізація алгоритмів просіювання (решето Ератосфена, колісна факторизація, решето Аткіна, решето Сундарама), ймовірнісних тестів простоти (Мілера-Рабіна, Ферма, Соловея-Штрасена, Люка-Лемера), а також порівняння їх швидкодії та масштабованості, визначення переваг і обмежень GPGPU. Реалізовано алгоритми решета Ератосфена, Сундарама, колісної факторизації, тестів Мілера-Рабіна та Люка-Лемера для CPU і GPU з використанням Visual Studio та NVIDIA CUDA Toolkit. Проведено експерименти в діапазонах від мільйона до мільярда чисел із фіксацією часу пошуку, кількості знайдених простих чисел та максимального значення. Для оцінки системних характеристик застосовано Microsoft Concurrency Visualizer, що дозволив проаналізувати споживання ресурсів CPU, рівень синхронізації та ефективність розподілу навантажень. Авторами розроблено інтегральний показник продуктивності алгоритмів пошуку, який враховує пропускну здатність, ефективність паралелізації та синхронізаційні втрати. Результати показали значне скорочення часу пошуку у CUDA-реалізаціях для алгоритмів з високим паралелізмом. Решето Ератосфена забезпечує стабільне прискорення від 2 до 8 разів, колісна факторизація – до 32 разів, тест Мілера-Рабіна – до 3 разів. Водночас GPU-підхід виявив обмеження для послідовних алгоритмів: решето Сундарама працює повільніше до 3 разів, тест Люка-Лемера – у 4 рази. Профілювання виявило високий рівень синхронізації (понад 80%), що знижує ефективність та вказує на можливість подальшої оптимізації. Також зафіксовано зменшення навантаження на CPU в середньому на 20%, що відкриває перспективи створення гібридних обчислювальних систем із поєднанням ресурсів CPU та GPU. На основі дослідження сформульовано рекомендації щодо вибору алгоритмів та підходів до їх реалізації на GPU для високопродуктивних обчислень.
Завантаження
Посилання
Durant, L., Preda, M., Woltman, G., & Blosser, A. (2024). Discovery of the 52nd Mersenne prime 2^136279841-1. Great Internet Mersenne Prime Search (GIMPS). https://www.mersenne.org/primes/press/M136279841.html
Bentz, J., Kumar, R., & Singh, A. (2025). NVIDIA Blackwell and NVIDIA CUDA 12.9 introduce family-specific architecture features. NVIDIA Technical Blog. https://developer.nvidia.com/blog/nvidia-blackwell-and-nvidia-cuda-12-9-introduce-family-specific-architecture-features/
Bahig, H. M., Hazber, M. A. G., Al-Utaibi, K., & Nassr, D. I. (2022). Efficient sequential and parallel prime sieve algorithms. Symmetry, 14(12), 2527. https://doi.org/10.3390/sym14122527
Frąckiewicz, M. (2025). High-performance computing highlights (June-July 2025): Exascale era, HPC-AI convergence, and global supercomputing advances. TechStock. https://ts2.tech/en/high-performance-computing-highlights-june-july-2025-exascale-era-hpc-ai-convergence-and-global-supercomputing-advances/
Månsson, J. (2021). Comparative study of CPU and GPGPU implementations of the sieves of Eratosthenes, Sundaram and Atkin [Master’s thesis, Blekinge Institute of Technology]. DiVA. https://www.diva-portal.org/smash/get/diva2:1531686/FULLTEXT01.pdf
Asaduzzaman, A., Maiti, A., & Yip, C. (2014). Fast effective deterministic primality test using CUDA/GPGPU. International Journal of Computer Applications, 98(11), 37-41. https://doi.org/10.5120/17234-7625
NVIDIA. (2025). CUDA C++ best practices guide 12.9. NVIDIA Developer Documentation. https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/
Ghidarcea, M., & Popescu, D. (2024). Prime time tactics: Sieve tweaks and boosters. Algorithms, 17(7), 291. https://doi.org/10.3390/a17070291
Naik, H., Mishra, M., Routray, G., & Behera, M. (2020). Performance optimization by integrating memoization and MPI_Info object for sieve of prime numbers. International Journal of Computer Applications, 177(47), 34-38. https://doi.org/10.5120/ijca2020920114
Seizert, C., Garland, M., & Temam, O. (2018). A highly efficient multi-GPU implementation of the sieve of Eratosthenes. Journal of Parallel and Distributed Computing, 113, 90-100. https://doi.org/10.1016/j.jpdc.2017.10.016
Chykunov, P., & Chernetskyi, V. (2023). Organization of prime number search process using NVIDIA CUDA. In Modern technologies in power engineering, electromechanics, control systems and mechanical engineering: Proceedings of the VI All-Ukrainian Scientific-Practical Internet Conference (pp. 40-41). Kharkiv. https://www.nnppi.in.ua/index.php/abit/2-uncategorised/270-naukovi-konferentsiyi
Shafie Khorassani, K., Hashmi, J., Chu, C. H., Chen, C. C., Subramoni, H., & Panda, D. K. (2021). Designing a ROCm-aware MPI library for AMD GPUs: Early experiences. In High Performance Computing (Vol. 12728). Springer. https://doi.org/10.1007/978-3-030-78713-4_7
Shama, E., & Grant, R. (2025). NAV: A comparative analysis tool for Nsight Systems GPU traces. In 2025 33rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP) (pp. 536-543). IEEE. https://doi.org/10.1109/PDP66500.2025.00082
Massimo, J. (2020). An analysis of primality testing and its use in cryptographic applications [Doctoral dissertation, Royal Holloway, University of London]. https://pure.royalholloway.ac.uk/ws/portalfiles/portal/39023193/2020MassimoJPhD.pdf
Chykunov, P. O., Manakov, S. Yu., & Trofymenko, O. H.(2025).Efficiency of algorithms for systematic search of prime numbers. Scientific Works of Donetsk National Technical University. Series: Problems of Modeling and Design Automation,2(22),146-154.https://doi.org/10.31474/2074-7888-2025-2-22-146-154
Luo, W., Chen, X., Wang, Y., & Li, Z. (2025). Dissecting the NVIDIA Hopper architecture through microbenchmarking and multiple level analysis. arXiv. https://doi.org/10.48550/arXiv.2501.12084
Chykunov, P., & Kotov, A. (2023). Profiling multithreaded programs in the Visualizer Concurrency. In Modern technologies in power engineering, electromechanics, control systems and mechanical engineering: Proceedings of the VI All-Ukrainian Scientific-Practical Internet Conference (pp. 36-38). Kharkiv. https://www.nnppi.in.ua/index.php/abit/2-uncategorised/270-naukovi-konferentsiyi
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2026 Павло Чикунов, Сергій Манаков, Олена Трофименко

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.