Конференція Високопродуктивні обчислення, Київ, 13-15 жовтня 2014

Програмна платформа для паралельної обробки надвеликих обсягів даних

Гібридні системи стають все більш популярними у сфері високопродуктивних обчислень. Але навіть застосування CUDA або OpenCL не гарантує досягнення оптимальної продуктивності на GPU. Є певні підходи, які спрощують програмування:

  • Merge – набір бібліотек для гібридних багатоядерних систем;
  • Zippy – паралельне виконання коду на багатьох GPU;
  • BSGP – нова мова програмування для GPGPU;
  • CUDA-lite – розширення CUDA, яке перетворює код на основі анотацій.

З іншого боку, вживаються заходи з покращення компіляторів для автоматичної паралелізації та оптимізації вкладених циклів для GPU, а також для автоматичної трансляції коду OpenMP на CUDA.

У даній роботі розглядається альтернативний підхід. Нова обчислювальна платформа для розробки паралельних наукових додатків, які обробляють надвеликі обсяги даних, орієнтованих на надпотужні гібридні системи. Платформа створена на основі проекту Cactus. У якості нетривіального прикладу ми пропонуємо код для тривимірної обчислювальної задачі гідродинаміки, яка має покращену продуктивність.

Висновки

У роботі розглянута реалізація нової платформи загального призначення для гібридних архітектур, основаної на проекті Cactus. Здатність обміну даними між адресними просторами GPU та CPU, а також проведення обчислень у гібридному середовищі було реалізовано у вигляді нового «шипа» CaCUDA. Крім того, існує можливість спрощувати процес написання коду завдяки шаблонам усіх оголошених функцій ядра. Завдяки гнучкості та масштабованості платформи Cactus, не знадобилось жодних втручань у його код, тому існуючі функції та можливості залишились незмінними.

Для тестування загальної продуктивності та масштабованості було створено код задачі обчислювальної гідродинаміки. Результати моделювання показали корисність нової платформи. Наступним кроком авторів стане робота, спрямована на мінімізацію кількості обмінів даними між CPU та GPU.

Marek Blazewicz, Steven R. Brandt, Peter Diener, David M. Koppelman, Krzysztof Kurowski, Frank Löffler, Erik Schnetter, Jian Tao. A Massive Data Parallel Computational Framework for Petascale/Exascale Hybrid Computer Systems. arXiv:1201.2118v1[cs.DC] [PDF].

Теги: CUDA, GPU, OpenCL, OpenMP, високопродуктивні обчислення, програмування, процесори

Матеріали за темою:

Коментарі