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

Рекомендована архітектура розподіленого прискорення це високопродуктивний обчислювальний кластер із графічними процесорами, підключеними лише до кількох вузлів кластера. Коли вузол без локального GPU виконує додаток, що потребує ресурсів GPU, віддалене виконання ядра підтримується передачею даних і коду між локальною системною пам’яттю і віддаленою пам’яттю GPU. rCUDA розроблена для підтримки цієї клієнт-серверної архітектури. З одного боку, клієнти використовують бібліотеку обгорток для високорівневого API середовища виконання CUDA, а з іншого - мережева служба прослуховування, яка отримує запити через порт TCP . Кілька вузлів, на яких запущені різні додатки з графічним процесором, можуть одночасно використовувати весь набір прискорювачів, встановлених у кластері. Клієнт пересилає запит на один із серверів, який звертається до встановленого на цьому комп'ютері GPU, і виконує запит на ньому. Часове мультиплексування графічного процесора або, іншими словами, його спільне використання досягається шляхом створення різних серверних процесів для кожного віддаленого запиту на виконання графічного процесора.

rCUDA v20.07 Проміжне програмне забезпечення rCUDA забезпечує одночасне використання CUDA-сумісних пристроїв віддалено.

rCUDA використовує мережу InfiniBand або API сокета для зв’язку між клієнтами та серверами. rCUDA може бути корисним у трьох різних середовищах:

Кластери.Зменшити кількість графічних процесорів, встановлених у високопродуктивних кластерах. Це призводить до економії енергії, а також інших супутніх витрат, таких як витрати на придбання, технічне обслуговування, простір, охолодження тощо. Академічне середовище. У комерційних мережах, щоб запропонувати доступ до кількох високопродуктивних графічних процесорів одночасно для багатьох студентів. Віртуальні машини. Для забезпечення доступу до можливостей CUDA на фізичній машині.

Поточна версія rCUDA (v20.07) підтримує CUDA версії 9.0, за винятком сумісності графіки. rCUDA v20.07 орієнтована на ОС Linux (для 64-розрядних архітектур) як на стороні клієнта, так і на стороні сервера.

CUDA додатки не потребують жодних змін у вихідному коді для того, щоб їх можна було виконувати з rCUDA.

Список літератури

Зовнішні посилання

Офіційний сайт rCUDA Офіційний сайт Nvidia CUDA