rCUDA
Разработчик(и) | Политехнический университет Валенсии |
---|---|
Стабильная версия | 20.07 / 26 июля 2020 г |
Операционная система | Линукс |
Тип | ГПГПУ |
Веб-сайт | www |
rCUDA , что означает Remote CUDA , представляет собой тип промежуточного программного обеспечения для удаленной виртуализации графического процессора . Полностью совместимый с CUDA интерфейсом прикладного программирования ( API ), он позволяет выделять один или несколько графических процессоров с поддержкой CUDA для одного приложения. Каждый графический процессор может быть частью кластера или работать внутри виртуальной машины . Подход направлен на повышение производительности в кластерах графических процессоров, которые не полностью загружены. Виртуализация графических процессоров уменьшает количество графических процессоров, необходимых в кластере, и, в свою очередь, приводит к более низкой стоимости конфигурации — меньше энергии, приобретения и обслуживания.
Рекомендуемая архитектура распределенного ускорения — это высокопроизводительный вычислительный кластер с графическими процессорами, подключенными лишь к нескольким узлам кластера. Когда узел без локального графического процессора выполняет приложение, требующее ресурсов графического процессора, удаленное выполнение ядра поддерживается передачей данных и кода между локальной системной памятью и памятью удаленного графического процессора. rCUDA разработан для реализации этой клиент-серверной архитектуры. С одной стороны, клиенты используют библиотеку оболочек для высокоуровневого API среды выполнения CUDA, а с другой стороны, существует служба прослушивания сети, которая получает запросы через TCP-порт . Несколько узлов, на которых работают разные приложения с графическим ускорением, могут одновременно использовать весь набор ускорителей, установленных в кластере. Клиент перенаправляет запрос на один из серверов, который обращается к графическому процессору, установленному на этом компьютере, и выполняет на нем запрос. Мультиплексирование по времени графического процессора или, другими словами , его совместное использование достигается путем создания различных серверных процессов для каждого запроса на выполнение удаленного графического процессора. [1] [2] [3] [4] [5] [6]
rCUDA v20.07
[ редактировать ]Промежуточное программное обеспечение rCUDA позволяет удаленно одновременно использовать CUDA-совместимые устройства.
rCUDA использует либо сеть InfiniBand, либо API сокетов для связи между клиентами и серверами. rCUDA может быть полезен в трех различных средах:
- Кластеры. Чтобы уменьшить количество графических процессоров, установленных в высокопроизводительных кластерах. Это приводит к экономии энергии, а также к другим связанным с этим экономиям, таким как затраты на приобретение, обслуживание, пространство, охлаждение и т. д.
- Академия. В обычных сетях обеспечить доступ к нескольким высокопроизводительным графическим процессорам одновременно множеству студентов.
- Виртуальные машины. Чтобы включить доступ к средствам CUDA на физическом компьютере.
Текущая версия rCUDA (v20.07) поддерживает CUDA версии 9.0, за исключением совместимости графики. rCUDA v20.07 ориентирован на ОС Linux (для 64-битных архитектур) как на стороне клиента, так и на стороне сервера.
Приложения CUDA не требуют каких-либо изменений в исходном коде для выполнения с помощью rCUDA.
Ссылки
[ редактировать ]- ^ Ж. Прад; Ф. Силла (декабрь 2019 г.). «Миграция графических процессоров и рабочих мест: случай rCUDA». Транзакции в параллельных и распределенных системах, том 30, вып. 12.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) CS1 maint: расположение ( ссылка ) - ^ Ж. Прад; К. Реаньо; Ф. Силла (март 2019 г.). «О влиянии использования rCUDA для обеспечения ускорения CUDA для виртуальных машин Xen». Кластерные вычисления, том 22, вып. 1.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) CS1 maint: расположение ( ссылка ) - ^ Ф. Силла; С. Изерте; К. Реаньо; Ж. Прадес (июль 2017 г.). «О преимуществах механизма виртуализации удаленного графического процессора: случай rCUDA». Параллелизм и вычисления: практика и опыт, том. 29, нет. 13.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) CS1 maint: расположение ( ссылка ) - ^ Ж. Прад; Б. Варгезе; К. Реаньо; Ф. Силла (октябрь 2017 г.). «Мультитенантные виртуальные графические процессоры для оптимизации производительности приложения, связанного с финансовыми рисками». Журнал параллельных и распределенных вычислений, том. 108. arXiv : 1606.04473 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) CS1 maint: расположение ( ссылка ) - ^ Ф. Перес; К. Реаньо; Ф. Силла (6–9 июня 2016 г.). «Предоставление ускорения CUDA для виртуальных машин KVM в кластерах InfiniBand с помощью rCUDA». 16-я Международная конференция ИФИП по распределенным приложениям и взаимодействующим системам (DAIS 2016), Ираклион, Крит, Греция.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) CS1 maint: расположение ( ссылка ) - ^ С. Изерте; Ж. Прад; К. Реаньо; Ф. Силла (16–19 мая 2016 г.). «Повышение производительности центров обработки данных за счет сочетания удаленной виртуализации графического процессора с Slurm». 16-й Международный симпозиум IEEE/ACM по кластерным, облачным и грид-вычислениям (CCGRID 2016), Картахена, Колумбия.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) CS1 maint: расположение ( ссылка )