ГЛАВНАЯ
> Вернуться к содержанию
Статьи автора Оленников Алексей Александрович
Кибернетика и программирование, 2018-5
|
Сеченов П.А., Оленников А.А. - Применение технологии параллельного программирования NVIDIA CUDA в задаче расплавления шарообразной частицы |
|
c. 8-14
|
DOI: 10.25136/2644-5522.2018.5.20345
Аннотация: В статье рассмотрена технология параллельного программирования NVIDIA CUDA в задаче расплавления шарообразной частицы. Показана тенденция современных компьютеров к увеличению мощности за счет увеличения количества ядер, а не за счет увеличения частоты процессора (что приводит к значительному потреблению энергии и выделению тепла). Представлен закон Амдала, позволяющий оценить ускорение времени программы при распараллеливании на N процессоров. Перечислены условия увеличения производительности алгоритма при распараллеливании задачи. Представлена задача расплавления частицы железной руды. Рассмотрены особенности языка параллельного программирования CUDA C и представлены алгоритмы для выбранной задачи. Произведен сравнительный анализ времени выполнения задачи на CPU (С#) и GPU (CUDA C). Технология параллельного программирования CUDA позволяет увеличить производительность распараллеливаемых алгоритмов сложности N до 60 раз. Для этого требуется наличие графического процессора с поддержкой данной технологии, среда разработки и компилятор языка CUDA, знание языка CUDA C, а также хорошее знание задачи и возможности ее распараллеливания.
|