Причины успеха CUDA от Linux Magazine

Редактор издания «Linux Magazine» Douglas Eadline высказался о причинах успеха технологии NVIDIA CUDA.

Ведущий раздела высокопроизводительных вычислений в своей авторской колонке привёл некоторую статистику NVIDIA по использованию CUDA и её популярности в целом:

  • более 2700 упоминаний CUDA в Google Scholar;
  • более 800 видеоупоминаний CUDA на YouTube;
  • более 670 программ на CUDA Zone;
  • более 350 участников CUDA Superhero Challenge;
  • более 300 университетских курсов по изучению модели параллельного программирования CUDA;

Всё это явно выделяет CUDA среди прочих HPC технологий программирования, включая MPI, OpenMP, OpenCL и будущий Ct от Intel. Douglas Eadline попытался разобраться в причинах такого успеха CUDA.

Средства разработки CUDA бесплатны.

Хотя CUDA и не является open-source, CUDA Toolkit может загрузить и свободно использовать любой желающий с сайта NVIDIA. Даже не требуется регистрация, фактор, который нельзя недооценивать, поскольку традиционно компании-разработчики бесплатных инструментов заставляют проходить сложные регистрации с неизбежной дальнейшей обработкой их пользователей отделами продаж.

CUDA не вносит капитальных изменений в язык C.

Создатели CUDA не стали изобретать новый язык программирования. Любой владеющий C может сходу приступить к изучению и использованию CUDA.

Возможность постепенного перехода на CUDA.

Программист может постепенно добавлять функции CUDA в программу, написанную на C. Не требуется коренной переделки программ для извлечения выгоды из GPU-ускорения.

Низкий порог вхождения.

Обычно нелегко привлечь внимание к новой технологии, когда её использование требует значительных инвестиций в оборудование. В случае CUDA достаточно одной видеокарты на базе NVIDIA для начала работы. Можно проверить эффект на плате начального уровня и лишь потом решать, инвестировать ли в более мощное оборудование.

Поддержка и продвижение CUDA со стороны NVIDIA.

Многие кластерные технологии вроде MPI имеют многие схожие факторы и демонстрируют неплохой рост, но за ними не стоит компании, которая столько вкладывала бы в их продвижение. Для того же MPI просто нет аналогов центра компетенции уровня CUDA Center of Excellence Program.

NVIDIA CUDA logo

Успех CUDA должен служить образцом действий для прочих разработчиков HPC технологий. Низкий порог вхождения — ключ к продвижению, а если вы предоставляете свободу разработки, ждать внедрений долго не придётся. К выходу Fermi её уже будут ждать приложения и заказы — многие ли могут похвастаться тем же?