C++ Accelerated Massive Parallelism

вторник, 26 июля 2011, Владимир Мудрык

Интересуясь темой гетерогенных вычислений я наткнулся на C++ AMP. Поискав на эту тему информацию, я решил вкрации рассказать что это. Ниже будет ссылка на программу “Hello World”.

C++ AMP (Accelerated Massive Parallelism) — открытая платформа построения гетерогенных приложений на C++. Гетерогенные вычисления, это использование CPU и GPU.

Эта платформа впервые была представлена на конференции AMD Fusion Developer Summit, проходившей в июне 2011 года, корпорацией Microsoft. В основе C++ AMP лежат технологии Microsoft DirectX, за счет чего C++ AMP сможет работать на графических процессорах всех основных производителей. Кроме того, старший вице-президент Microsoft Developer Division С. Сомасегар пообещал, что спецификация C++ AMP будет открытой. Появиться это чудо в новой версии Visual Studio vNext (2012). Также в новую «студию» будут включены новые версии библиотек Parallel Patterns Library и C++ Concurrency, содержащие ряд шаблонов и алгоритмов для параллельного программирования на любых процессорах.

Схожие технологии с C++ AMP: OpenCL, CUDA, DirectCompute. Представители Microsoft особено подчеркивают перспективи даной технологии для выполнения облачных вычислений в будущем. Платформа создавалась с расчетом, что, возможно, скоро будут использоваться сотни милионов вычислительных модулей графического процессора в своих приложениях черех облачные сервисы.

Технология C++ AMP основывается на новом стандарте и использует лямбда-выражения.

Основные причины создания библиотеки:

  • C++, а не C, более распостраненный язык;
  • гетерогенные вычисления должны стать преобладающим направлением, доступным для всех;
  • минимальные расширения языка для простоты понимания;
  • переносимость, один код потребляет от платформы все возможные ресурсы, которые доступны;
  • ориентир на будущее, когда разработчикам будут доступны много вычислительных блоков GPU в облаке;
  • открытость.

В C++ AMP разработчик может явно указать платформу на какую он ориентируется (cpu, gpu или другие ключевые слова). Для более производительных расчетов и использования особенностей вычислений на GPU введены типы для оперирования фрагментами данных.

Так что, ждем с нетерпением Visual Studio vNext.

Далее идет набор ссылок, в которых, возможо, лучше описана эта технология и просто ссылки по теме:

Компании из статьи


Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии