RCUDA - RCUDA

rCUDA
Разработчики)Universitat Politecnica de Valencia
Стабильный выпуск
20.07 / 26 июля 2020 г.; 4 месяца назад (2020-07-26)
Операционная системаLinux
ТипГПГПУ
Интернет сайтrcuda.сеть

rCUDA, что означает Удаленный CUDA, это тип промежуточное ПО программная среда для удаленного GPU виртуализация. Полностью совместим с CUDA интерфейс прикладного программирования (API ), он позволяет выделить один или несколько графических процессоров с поддержкой CUDA для одного приложения. Каждый графический процессор может быть частью кластер или бегая внутри виртуальная машина. Подход направлен на повышение производительности в кластерах графических процессоров, которые не используются полностью. Виртуализация графических процессоров сокращает количество графических процессоров, необходимых в кластере, и, в свою очередь, приводит к более низкой стоимости конфигурации - меньшему количеству энергии, приобретения и обслуживания.

Рекомендуемая архитектура распределенного ускорения - это высокопроизводительные вычисления кластер с графическими процессорами, подключенными только к нескольким узлам кластера. Когда узел без локального GPU выполняет приложение, требующее ресурсов графического процессора, удаленное выполнение ядро поддерживается передачей данных и кода между локальной системной памятью и удаленной памятью графического процессора. rCUDA разработан с учетом этого клиент-сервер архитектура. С одной стороны, клиенты используют библиотеку оболочек для высокоуровневого API времени выполнения CUDA, а с другой стороны, есть служба прослушивания сети, которая принимает запросы на Порт TCP. Несколько узлов, на которых запущены разные приложения с ускорением на GPU, могут одновременно использовать весь набор ускорителей, установленных в кластере. Клиент пересылает запрос на один из серверов, который обращается к графическому процессору, установленному на этом компьютере, и выполняет запрос на нем. Временное мультиплексирование GPU, или другими словами обмен это достигается путем порождения различных серверных процессов для каждого запроса на выполнение удаленного графического процессора.[1][2][3][4][5][6]

rCUDA v20.07

Промежуточное ПО rCUDA позволяет одновременно использовать CUDA-совместимые устройства удаленно.

rCUDA использует сеть InfiniBand или API сокетов для связи между клиентами и серверами. rCUDA может быть полезен в трех различных средах:

  • Кластеры. Чтобы уменьшить количество графических процессоров, установленных в высокопроизводительных кластерах. Это приводит к экономии энергии, а также к другим связанным сбережениям, таким как затраты на приобретение, обслуживание, пространство, охлаждение и т. Д.
  • Academia. В обычных сетях - предлагать доступ к нескольким высокопроизводительным графическим процессорам одновременно многим студентам.
  • Виртуальные машины. Чтобы разрешить доступ к средствам CUDA на физической машине.

Текущая версия rCUDA (v20.07) поддерживает CUDA версии 9.0, за исключением графической совместимости. rCUDA v20.07 нацелена на ОС Linux (для 64-битных архитектур) как на стороне клиента, так и на стороне сервера.

Приложения CUDA не нуждаются в каких-либо изменениях в своем исходном коде для выполнения с rCUDA.

Рекомендации

  1. ^ Дж. Прадес; Ф. Силла (декабрь 2019 г.). «Миграция GPU-Job: случай rCUDA». Транзакции в параллельных и распределенных системах, том 30, вып. 12. Цитировать журнал требует | журнал = (помощь)CS1 maint: location (связь)
  2. ^ Дж. Прадес; К. Реаньо; Ф. Силла (март 2019 г.). «О влиянии использования rCUDA для обеспечения ускорения CUDA для виртуальных машин Xen». Кластерные вычисления, том 22, вып. 1. Цитировать журнал требует | журнал = (помощь)CS1 maint: location (связь)
  3. ^ Ф. Силла; С. Изерте; К. Реаньо; Дж. Прадес (июль 2017 г.). «О преимуществах механизма виртуализации удаленного графического процессора: пример rCUDA». Параллелизм и вычисления: практика и опыт, т. 29, нет. 13. Цитировать журнал требует | журнал = (помощь)CS1 maint: location (связь)
  4. ^ Дж. Прадес; Б. Варгезе; К. Реаньо; Ф. Силла (октябрь 2017 г.). «Многопользовательские виртуальные графические процессоры для оптимизации производительности приложения для управления финансовыми рисками». Журнал параллельных и распределенных вычислений, вып. 108. Цитировать журнал требует | журнал = (помощь)CS1 maint: location (связь)
  5. ^ Ф. Перес; К. Реаньо; Ф. Силла (6–9 июня 2016 г.). «Обеспечение ускорения CUDA виртуальным машинам KVM в кластерах InfiniBand с помощью rCUDA». 16-я Международная конференция IFIP по распределенным приложениям и интероперабельным системам (DAIS 2016), Ираклион, Крит, Греция. Цитировать журнал требует | журнал = (помощь)CS1 maint: location (связь)
  6. ^ С. Изерте; Дж. Прадес; К. Реаньо; Ф. Силла (16–19 мая 2016 г.). «Повышение производительности центров обработки данных путем объединения удаленной виртуализации GPU с Slurm». 16-й Международный симпозиум IEEE / ACM по кластерным, облачным и сетевым вычислениям (CCGRID 2016), Картахена, Колумбия. Цитировать журнал требует | журнал = (помощь)CS1 maint: location (связь)

внешняя ссылка