Другие журналы
|
Применение технологии CUDA в задаче об определении матрицы жесткости
# 07, июль 2015
DOI: 10.7463/0715.0791286
авторы: Берчун Ю. В., Киселёв И. А., Хахалин А. С., Сычёва Е. А., Петрова Т. Д., Яблоков В. Е.
УДК 004.021
| Россия, МГТУ им. Н.Э. Баумана |
Целью работы является повышение производительности решения задачи механики деформированного твердого тела за счет применения GPGPU. Описаны технологии, предназначенные для вычислений в системах, использующих как центральный, так и графический процессор. Обусловлена эффективность применения технологии CUDA. Проанализирован метод решения задачи по определению собственных частот и форм колебаний конструкций – метод итераций в подпространстве. Метод включает несколько этапов. Рассмотрен наиболее ресурсоемкий этап – определение матрицы жесткости в подпространстве собственных форм. Приведена математическая интерпретация данного этапа. Обоснован выбор GPU в качестве вычислительного устройства. Представлен алгоритм расчёта матрицы жёсткости в подпространстве собственных форм с учетом особенностей входных данных. Глобальная матрица жесткости сильно разрежена, а её размеры могут достигать десятков миллионов. Поэтому она представлена в виде набора матриц жесткости отдельных элементов модели. Проанализированы методы представления данных в программе, и выбраны рациональные методы для вычислений на графических процессорах. Приведено описание программной реализации расчёта матрицы жёсткости в подпространстве собственных форм применением технологии CUDA. Из-за специфики входных данных применение универсальных библиотек для матричных вычислений (cuSPARSE и cuBLAS) не позволяет обеспечить загрузку графического процессора. Для эффективного использования ресурсов GPU в программной реализации произведена компоновка матриц жесткости элементов в блочные матрицы специального вида. Описаны преимущества применения разделяемой памяти в вычислениях, производимых на графических процессорах. В результате переноса вычислений на графический процессор получено двадцатикратное повышение производительности (в сравнении с многопоточной реализацией на CPU) на модели средней размерности (количество степеней свободы около 2 миллионов). Такое ускорение одного этапа повышает скорость нахождения собственных частот и форм колебаний методом итераций в подпространстве до двух раз.
Список литературы- Параллельные вычисления CUDA // NVIDIA : сайт. Режим доступа:http://www.nvidia.ru/object/cuda-parallel-computing-ru.html (дата обращения 09.06.2015).
- APP SDK – A Complete Development Platform // AMD: website. Available: http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk, accessed 15.06.2015.
- Khronos Group , 25 Май 2014: промышленный консорциум // Википедия: сайт. Режим доступа:https://ru.wikipedia.org/wiki/Khronos_Group (дата обращения 11.06.2015).
- OpenCL, 22 Июля 2013. Википедия: сайт. Режим доступа: https://ru.wikipedia.org/wiki/OpenCL (дата обращения 15.06.2015).
- C++ AMP (C++ Accelerated Massive Parallelism) // Microsoft: сайт компании . Режим доступа:https://msdn.microsoft.com/ru-ru/library/hh265137.aspx (дата обращения 15.06.2015).
- OpenACC: website. Available: http://www.openacc-standard.org/, accessed 15.06.2015.
- November 2014 // TOP500 list: website. Available at: http://www.top500.org/lists/2014/11, accessed 21.05.2015.
- Приложения для вычислений на GPU // NVIDIA : сайт. Режим доступа: http://www.nvidia.ru/object/gpu-computing-applications-ru.html (дата обращения 15.06.2015).
- Шейдер ( Shader ). 18 Ноября 2005 // GameDev . ru — Разработка игр: сайт. Режим доступа:http://www.gamedev.ru/terms/Shader (дата обращения. 15.06.2015).
- Using Shared Memory in CUDA C/C++, 28 January 2013 // NVIDIA CUDA Zone: website. Available at: http://devblogs.nvidia.com/parallelforall/using-shared-memory-cuda-cc/, accessed 11.06.2015.
- CUDA C Programming Guide, 5 March 2015 // NVIDIA Developer Zone: website. Available at: http://docs.nvidia.com/cuda/cuda-c-programming-guide, accessed 15.06.2015.
- Боресков А.В., Харланов А.А. Основы работы с технологией CUDA. М.: ДМК Пресс, 2010. 232 с.
- Сандерс Дж., Кендрот Э. Технология CUDA в примерах. Введение в программирование графических процессоров: пер. с англ. М .: ДМК Пресс , 2011. 232 с .
- Казённов А.М. Основы технологии CUDA // Компьютерные исследования и моделирование. 2010. Т. 2, № 3. С. 295-308.
- Bathe K.-J. The subspace iteration method – Revisited // Computers and Structures. 2013. Vol. 126, no. 15. P. 177-183. DOI: 10.1016/j.compstruc.2012.06.002
- Вилсон Е., Батэ К. Численные методы анализа и метод конечных элементов: пер. с англ. М.: Стройиздат, 1982. 448 с.
- Киселев А.С. Анализ эффективности методов расчета собственных частот трехмерных конструкций» // Труды 6-ой Российской НТК «Методы и программное обеспечение расчетов на прочность». 2010. С. 28-39.
- Киселев А.С. Применение параллельных вычислений для повышения эффективности решения задач большой размерности в конечно-элементном программном комплексе UZOR 1.0 // Труды 8-ой Российской НТК «Методы и программное обеспечение расчетов на прочность». 2014. С. 117-131.
- Карпенко А.П., Чернов С.К. Решение систем линейных алгебраических уравнений методом предобуславливания на графических процессорных устройствах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2013. № 1. С. 185-214. DOI:10.7463/0113.0525190
- Матвеева Н.О., Горбаченко В. И. Решение систем линейных алгебраических уравнений на графических процессорах с использованием технологии CUDA // Известия Пензенского государственного педагогического университета им. В.Г. Белинского. 2008. № 12. С. 115-120.
- Ханкин К.М. Сравнение эффективности технологий OpenMP, NVIDIA CUDA И STARPU на примере задачи умножения матриц // Вестник Южно-Уральского государственного университета. Сер. Компьютерные технологии, управление, радиоэлектроника. 2013. Т. 13, № 1. С. 34-41.
- cuSPARSE, 5 March 2015 // NVIDIA Developer: wwebsite. Available at: http://docs.nvidia.com/cuda/cusparse/#compressed-sparse-row-format-csr, accessed 28.06.2015.
- Еременко С.Ю. Методы конечных элементов в механике деформируемых тел. Харьков: Изд-во "Основа" при Харьк. ун-те, 1991. 272 с.
- Круглов В.Н., Папуловская Н.В., Чирышев А.В. Преимущества совместного использования CPU И CUDA-устройства // Фундаментальные исследования. 2014. № 8-2. С. 296-304.
- Классификация Флинна // Лаборатория Параллельных информационных технологий НИВЦ МГУ: сайт. Режим доступа: http://parallel.ru/computers/taxonomy/flynn.html (дата обращения 15.06.2015).
Публикации с ключевыми словами:
графический процессор, CUDA, GPU, GPGPU, матрица жёсткости, матричные вычисления, собственные формы
Публикации со словами:
графический процессор, CUDA, GPU, GPGPU, матрица жёсткости, матричные вычисления, собственные формы
Смотри также:
|
|