Аннотация:
Гибридный кластер подразумевает использование вычислительных ресурсов с различными архитектурами. Как правило, в таких системах используется CPU распространенной архитектуры (например, x86_64) и GPU (например, NVIDIA CUDA). Создание и эксплуатация подобного кластера требует определенного опыта: для того чтобы задействовать все вычислительные мощности такой системы и получить существенное ускорение на задачах, требуется учесть множество факторов. К таким факторам относятся как характеристики оборудования (например, особенности сетевой инфраструктуры, хранилища, архитектуры GPU), так и характеристики программного обеспечения (например, реализация MPI, библиотеки для работы с GPU). Таким образом для эффективных научных расчетов на подобных системах требуется помнить о характеристиках ускорителя (GPU), особенностях программного обеспечения, характеристиках задачи и о многих других факторах.
В этой статье анализируются достоинства и недостатки гибридных вычислений. Будут приведены результаты запуска некоторых тестов и научных приложений, использующих GPGPU. Основное внимание уделено программных продуктах с открытым исходным кодом, которые поддерживают работу с GPGPU.
Существует несколько подходов для организации гетерогенных вычислений. В данной статье мы рассмотрим приложения, использующие CUDA и OpenCL. CUDA довольно часто используется в подобных гибридных системах, в то время как переносимость OpenCL-приложений может сыграть решающую роль при выборе средства для разработки. Мы также уделим внимание системам с несколькими GPU, которые все чаще используются в рамках подобных кластеров. Вычисления проводились на гибридном кластере ресурсного центра «Вычислительный центр СПбГУ».