Особенности использования GPU для параллельной обработки данных
Аннотация
Уже в нулевые было понятно, что закон Мура не будет работать вечно из-за фундаментальных физических ограничений. В то же время обсчитываемые модели становились все сложнее и появлялись новые ресурсоемкие задачи. Это обусловило появления разного рода аппаратный ускорителей вычислений. В виду относительно недавнего появления аппаратных ускорителей как класса и всплеска их популярности, работа с ними редко изучается в университетах, даже на профильных специальностях. Как следствие, базовое GPGPU обросло набором заблуждений и предрассудков. Автор разбирает аспекты программирования на наиболее распространенном аппаратном ускорителе среди простых пользователей – GPU. В статье приводятся основные архитектурные отличия CPU от GPU. Автор описывает возможные фреймворки и языки для GPGPU, отдавая предпочтение связки из CuPy (Python) и Google Colab в виду их доступности и удобства использования. Тем самым показывается, что порог входа для использования графического ускорителя для ускорения вычислений может быть весьма низким. Автор парирует распространенные заблуждения об недостатках использования GPU, такие как такие как пересылка данных из оперативной в видеопамять и обратно, узкая область применения такого класса устройств, относительно небольшой объем видеопамяти. Вместе с тем, в статье отмечается, что простой перенос вычислений с CPU на GPU без учета их особенностей архитектур может не дать желаемого результата. Приводится наглядный пример ситуации, в которой CPU справляется с вычислениями быстрее. Таким образом, решение нестандартной задачи может потребовать отдельного исследования оптимального для нее аппаратного комплекса.
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.