Каков текущий статус C++ AMP?

Я работаю над высокопроизводительным кодом на C++ и использую как CUDA и OpenCL, так и совсем недавно C++AMP, который мне очень нравится. Я, однако, немного волнуюсь, что он не разрабатывается и не расширяется и вымрет.

Что приводит меня к этой мысли, так это то, что даже блоги MS C++AMP молчали около года. Глядя на библиотеку алгоритмов C++ AMP http://ampalgorithms.codeplex.com/wikipage/history кажется, что ничего больше не происходило в течение года.

Единственное, что я видел, это то, что теперь LLVM поддерживает C++AMP, так что это не только окна, но и все, а не то, что было сказано повсюду.

Какого рода работа идет, если таковая имеется, о которой вы знаете?

5 ответов

Решение

Что приводит меня к этой мысли, так это то, что даже блоги MS C++AMP молчали около года. Глядя на библиотеку алгоритмов C++ AMP http://ampalgorithms.codeplex.com/wikipage/history кажется, что ничего больше не происходило в течение года.

Я работал над библиотекой алгоритмов C++ AMP. После первоначального выпуска, который Microsoft собрал, я создал ряд дополнительных функций и перенес их на более новые версии VS. Казалось, что вокруг C++ AMP произошла потеря импульса. У меня нет планов заниматься дальнейшей работой над проектом.

Делай из этого что хочешь. Возможно, кто-то из Microsoft может прояснить ситуацию?

Я обнаружил, что AMD все еще использует C++AMP. http://developer.amd.com/community/blog/2015/09/15/programming-models-for-heterogeneous-systems/ http://developer.amd.com/community/blog/2015/01/19/bolt-1-3-whats-new/ и есть некоторые ссылки на форумы, где Intel также упоминает об этом.

Главное, что я вижу, это то, что мы, программисты, наконец-то начинаем играть с мыслью, что мы можем использовать GPU и для обычных задач. Особенно сейчас, когда HBM приходят в APU, вы могли бы многое сделать на относительно дешевой системе. Поэтому не нужно копировать данные на графическую карту или в основную память, но храните их в БОЛЬШОМ HBM-кеше, где они могут быть доступны в режиме реального времени, то есть без задержки GPU.

Таким образом, Microsoft создала действительно очень приятную технологию, которая станет актуальной только через несколько лет, то есть когда аппаратное обеспечение станет "удобным для пользователя". Но вещь может устареть, если они не будут продвигаться, как другие. Не то, чтобы что-то не работало в C++ AMP, но потому, что скорость изменений в последнее время настолько велика, что программисты не рискуют начать использовать это, если они не видят каких-то достижений... по крайней мере, одного или двух блогов в год, где они что-то тестировали, чтобы вы увидели, что Microsoft все еще верит в это.

Мы также используем C++AMP в мире финансов. очень успешно, относительно легко кодировать. CUDA, вероятно, является более безопасным выбором, но если кто-то задумывается об изучении AMP, я советую сначала освежить в памяти ваш базовый STL, а затем ознакомиться с представлениями массивов.

Если есть кто-то, кто все еще думает о будущем C++ AMP, вот для вас печальные новости.

C++ AMP официально закрыт MS с версии VS 2022.https://learn.microsoft.com/en-us/cpp/parallel/amp/cpp-amp-overview?view=msvc-170

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

Я все еще использую усилитель. Прямо сейчас я делаю трассировщик пути gpu (надеюсь) для игр.

Это говорит о том, что на данный момент у усилителя нет много документации или много новых обновлений. Это определенно что-то, что я хотел бы видеть обновленным и использовать больше, но это кажется мертвым.

Другие вопросы по тегам