Сравнительный анализ алгоритмов целочисленной факторизации при работе на Центральном ЦПУ и ГПУ

В данной работе была проведена оценка времени работы четырех алгоритмов целочисленной факторизации, а именно тривиального алгоритма факторизации, алгоритма Ферма, алгоритмов Полларда Ро и Брента. Реализация этих алгоритмов была выполнена тремя способами: на языке программирования c, на языке программирования c ++, используя библиотеку GMP 6.0.0 и на архитектуре CUDA для работы на ГПУ. Результаты показали, что алгоритм Ферма и тривиальный алгоритм деления имели самое быстрое время при параллельной реализации в архитектуре CUDA. Разница между временем выполнения факторизации при реализации на CUDA и реализации на GMP доходила до 10 раз. Разница между временем выполнения факторизации при реализации на c и c ++ была в основном связана с различиями в этих языках программирования.

Comparative Analysis Of Integer Factorization Algorithms Using Cpu And Gpu

In this work we have evaluated the running time of four integer factorization algorithms, namely, trial division algorithm, Fermat algorithm, Pollard rho and Brent algorithms. Implementation of these algorithms was performed in three ways on c programming language, on c programming language, using GMP 6.0.0 library and on CUDA architecture to run on GPU. Results showed that Fermat algorithm and trivial division algorithm had the fastest running time in parallel implementation on CUDA architecture. The difference of running times between CUDA implementation and GMP implementation was up to 10 times. The difference between c and c implementation was mainly due to difference in these programming languages.

___

  • References
  • [1] Asaduzzaman, A., Yip, C. M.