Microsoft опубликовала спецификации C++ AMP (Accelerated Massive Parallelism). Эта система позволяет распараллелить любые процессы в рамках С++.
AMP создан Microsoft с подачи AMD и NVIDIA. Имплементация Microsoft позволяет программам задействовать одновременно CPU и видеокарты с поддержкой Direct3D. Кроме того, возможна имплементация, основанная на OpenGL/OpenCL.
AMP — весьма интересная вещь. Программы, написанные на С++, могут выполняться в параллельных процессах на CPU или видеокартах, но при этом остаются приложениями на С++ или выглядят также, как и обычное ПО на этом языке, не предполагающее параллельного исполнения в нескольких процессах.
Ближе всего по идее к AMP стоит OpenCL. Однако, в отличие от AMP, OpenCL основна на С, а не С++. При этом OpenCL предполагает более низкоуровневый подход и «ручное» управление. Функционал многопоточных GPU реализуется через отдельные файлы или вставляется в качестве дополнительных блоков в текст программ. C++ AMP позволяет задействовать параллельные вычисления на GPU без лишних ухищрений.