Gpu кластер
GPU кластер — це комп'ютерний кластер, в якому кожен вузол оснащений графічним процесором (GPU). Використовуючи обчислювальні потужності сучасних графічних процесорів за допомогою обчислень загального призначення на графічних процесорах (GPGPU), може бути виконаний дуже швидкий розрахунок в GPU-кластері.

Обладнання (ГПУ) 
Апаратна класифікація GPU кластери поділяються на дві категорії: гетерогенні та гомогенні

Гетерогенні 
Може використовуватися апаратне забезпечення обох основних IHV (AMD і nVidia).  Навіть якщо використовуються різні моделі одного GPU (наприклад, 8800GT, змішана з 8800GTX), кластер GPU вважається неоднорідним.

Гомогенні 
Кожен окремий графічний процесор має однаковий клас, апарат і модель. (тобто однорідний кластер, що містить 100 8800GTs, все з однаковим обсягом пам'яті)

Класифікація кластера GPU відповідно до вищенаведеної семантики значною мірою спрямовує розробку програмного забезпечення на кластер, оскільки різні GPU мають різні можливості, які можна використовувати.

Обладнання (інше)

З'єднання 
На додаток до комп'ютерних вузлів та їх відповідних графічних процесорів, необхідне досить швидке з'єднання для передачі даних між вузлами. Тип взаємозв'язку багато в чому залежить від кількості присутніх вузлів. Деякі приклади взаємоз'єднань включають Gigabit Ethernet і InfiniBand.

Постачальники 
NVIDIA надає список Tesla Preferred Partners (TPP) з можливістю побудови та доставки повністю налаштованого кластера GPU з використанням GPGPU серії Tesla 20-series. AMAX Information Technologies, Dell, Hewlett-Packard і Silicon Graphics є одними з небагатьох компаній, які надають повний спектр кластерів і систем GPU.

Програмне забезпечення 
Компоненти програмного забезпечення, необхідні для роботи багатьох машин, обладнаних GPU, включають:
 Операційна система
 Драйвер GPU для кожного типу GPU, присутнього в кожному вузлі кластера.
 Кластеризація API (наприклад, інтерфейс передачі повідомлень, MPI).
 Платформа кластера VirtualCL (VCL) — це обгортка для OpenCL ™, яка дозволяє більшості незмінених програм прозоро використовувати кілька пристроїв OpenCL у кластері, як якщо б всі пристрої знаходилися на локальному комп'ютері.

Алгоритм відображення 
Зіставлення алгоритму для запуску кластера графічного процесора дещо схоже на відображення алгоритму для запуску на традиційному комп'ютерному кластері.  Приклад: замість розподілу частин масиву з оперативної пам'яті, текстура ділиться між вузлами кластера GPU.

NVIDIA CUDA

CUDA 
CUDA — програмно-апаратна архітектура паралельних обчислень, яка дозволяє істотно збільшити обчислювальну продуктивність завдяки використанню графічних процесорів фірми Nvidia.

CUDA SDK надає можливість включати в текст програм на С виклик підпрограм, що виконуються на графічних процесорах Nvidia. Це реалізовано шляхом команд, які записуються на особливому діалекті C. Архітектура CUDA дає розробнику можливість на свій розсуд організовувати доступ до набору інструкцій графічного прискорювача й керувати його пам'яттю.

Первинна версія CUDA SDK була представлена 15 лютого 2007 року. У основі CUDA API лежить розширена мова C. Для успішної трансляції коду цією мовою, до складу CUDA SDK входить власний C-компілятор командного рядка nvcc компанії Nvidia. Компілятор nvcc створений на основі відкритого компілятора Open64.

Платформа паралельних обчислень CUDA 
Платформа паралельних обчислень CUDA забезпечує набір розширень для мов C і С++, що дозволяють висловлювати як паралелізм даних, так і паралелізм завдань на рівні дрібних і великих структурних одиниць. Програміст може вибрати засоби розробки: мови високого рівня, такі як C, C++, Fortran або ж відкриті стандарти, такі як директиви OpenACC. Платформа паралельних обчислень CUDA використовується на сьогоднішній день в тисячах GPU-прискорених додатків і тисячах опублікованих наукових статтях. Повний список засобів розробки і екосистема рішень CUDA доступний розробникам.

Переваги CUDA 
У порівнянні з традиційним підходом до організації обчислень загального призначення допомогою можливостей графічних API, у архітектури CUDA відзначають наступні переваги в цій області:

 Інтерфейс програмування додатків CUDA (CUDA API) заснований на стандартній мові програмування Сі з деякими обмеженнями. На думку розробників, це повинно спростити і згладити процес вивчення архітектури CUDA
 Колективна між потоками пам'ять (shared memory) розміром в 16 Кб може бути використана під організований користувачем кеш з більш широкою смугою пропускання, ніж при вибірці зі звичайних текстур
 Більш ефективні транзакції між пам'яттю центрального процесора і відеопам'яттю
 Повна апаратна підтримка цілочисельних і побітових операцій
 Підтримка компіляції GPU коду засобами відкритого LLVM.

Примітки

Посилання та зовнішні посилання 

 NCSA's Accelerator Cluster
 GPU Clusters for High-Performance Computing 
 GPU cluster at STFC Daresbury Laboratory
 GPU Cores Temperature Monitoring 
 Are Magnus Bruaset, Aslak Tveito (2006). Numerical Solution of Partial Differential Equations on Parallel Computers. Birkhäuser. ISBN 3-540-29076-1

__ІНДЕКС__

Кластерні обчислення
GPU кластер — це комп'ютерний кластер , в якому кожен вузол оснащений графічним процесором ( GPU ) . Використовуючи обчислювальні потужності сучасних графічних процесорів за допомогою обчислень загального призначення на графічних процесорах ( GPGPU ) , може бути виконаний дуже швидкий розрахунок в GPU - кластері . Обладнання ( ГПУ ) Апаратна класифікація GPU кластери поділяються на дві категорії : гетерогенні та гомогенні Гетерогенні Може використовуватися апаратне забезпечення обох основних IHV ( AMD і nVidia ) . Навіть якщо використовуються різні моделі одного GPU ( наприклад , T , змішана зTX ) , кластер GPU вважається неоднорідним . Гомогенні Кожен окремий графічний процесор має однаковий клас , апарат і модель . ( тобто однорідний кластер , що містить8800GTs , все з однаковим обсягом пам'яті ) Класифікація кластера GPU відповідно до вищенаведеної семантики значною мірою спрямовує розробку програмного забезпечення на кластер , оскільки різні GPU мають різні можливості , які можна використовувати . Обладнання ( інше ) З'єднання На додаток до комп'ютерних вузлів та їх відповідних графічних процесорів , необхідне досить швидке з'єднання для передачі даних між вузлами . Тип взаємозв'язку багато в чому залежить від кількості присутніх вузлів . Деякі приклади взаємоз'єднань включають Gigabit Ethernet і InfiniBand . Постачальники NVIDIA надає список Tesla Preferred Partners ( TPP ) з можливістю побудови та доставки повністю налаштованого кластера GPU з використанням GPGPU серії Teslaseries . AMAX Information Technologies , Dell , Hewlett- Packard і Silicon Graphics є одними з небагатьох компаній , які надають повний спектр кластерів і систем GPU . Програмне забезпечення Компоненти програмного забезпечення , необхідні для роботи багатьох машин , обладнаних GPU , включають : Операційна система Драйвер GPU для кожного типу GPU , присутнього в кожному вузлі кластера . Кластеризація API ( наприклад , інтерфейс передачі повідомлень , MPI ) . Платформа кластера VirtualCL ( VCL ) — це обгортка для OpenCL ™ , яка дозволяє більшості незмінених програм прозоро використовувати кілька пристроїв OpenCL у кластері , як якщо б всі пристрої знаходилися на локальному комп'ютері . Алгоритм відображення Зіставлення алгоритму для запуску кластера графічного процесора дещо схоже на відображення алгоритму для запуску на традиційному комп'ютерному кластері . Приклад : замість розподілу частин масиву з оперативної пам'яті , текстура ділиться між вузлами кластера GPU . NVIDIA CUDA CUDA CUDA — програмно - апаратна архітектура паралельних обчислень , яка дозволяє істотно збільшити обчислювальну продуктивність завдяки використанню графічних процесорів фірми Nvidia . CUDA SDK надає можливість включати в текст програм на С виклик підпрограм , що виконуються на графічних процесорах Nvidia . Це реалізовано шляхом команд , які записуються на особливому діалекті C . Архітектура CUDA дає розробнику можливість на свій розсуд організовувати доступ до набору інструкцій графічного прискорювача й керувати його пам'яттю . Первинна версія CUDA SDK була представленалютогороку . У основі CUDA API лежить розширена мова C . Для успішної трансляції коду цією мовою , до складу CUDA SDK входить власний C- компілятор командного рядка nvcc компанії Nvidia . Компілятор nvcc створений на основі відкритого компілятора Open64 . Платформа паралельних обчислень CUDA Платформа паралельних обчислень CUDA забезпечує набір розширень для мов C і С + + , що дозволяють висловлювати як паралелізм даних , так і паралелізм завдань на рівні дрібних і великих структурних одиниць . Програміст може вибрати засоби розробки : мови високого рівня , такі як C , C + + , Fortran або ж відкриті стандарти , такі як директиви OpenACC . Платформа паралельних обчислень CUDA використовується на сьогоднішній день в тисячах GPU - прискорених додатків і тисячах опублікованих наукових статтях . Повний список засобів розробки і екосистема рішень CUDA доступний розробникам . Переваги CUDA У порівнянні з традиційним підходом до організації обчислень загального призначення допомогою можливостей графічних API , у архітектури CUDA відзначають наступні переваги в цій області : Інтерфейс програмування додатків CUDA ( CUDA API ) заснований на стандартній мові програмування Сі з деякими обмеженнями . На думку розробників , це повинно спростити і згладити процес вивчення архітектури CUDA Колективна між потоками пам'ять ( shared memory ) розміром вКб може бути використана під організований користувачем кеш з більш широкою смугою пропускання , ніж при вибірці зі звичайних текстур Більш ефективні транзакції між пам'яттю центрального процесора і відеопам'яттю Повна апаратна підтримка цілочисельних і побітових операцій Підтримка компіляції GPU коду засобами відкритого LLVM . Примітки Посилання та зовнішні посилання NCSA's Accelerator Cluster GPU Clusters for High - Performance Computing GPU cluster at STFC Daresbury Laboratory GPU Cores Temperature Monitoring Are Magnus Bruaset , Aslak Tveito Numerical Solution of Partial Differential Equations on Parallel Computers . Birkhäuser . ISBN29076 - 1 __ІНДЕКС__ Кластерні обчислення