Я работаю над высокопроизводительным кодом на C++ и использовал как CUDA, так и OpenCL, а в последнее время C++ AMP, которые мне очень нравятся. Тем не менее, я немного обеспокоен тем, что он не разрабатывается и не расширяется и не умрет.Каков текущий статус C++ AMP
Что приводит меня к этой мысли, так это то, что даже блоги MS C++ AMP молчали около года. Глядя на библиотеку алгоритмов C++ AMP http://ampalgorithms.codeplex.com/wikipage/history, похоже, ничего больше не происходит уже больше года.
Единственное, что я увидел, это то, что теперь LLVM поддерживает C++ AMP, поэтому это не только окна, но и все, а не то, что было сказано далеко и широко.
Какая работа происходит, если таковая имеется, о которой вы знаете?
Возможно, вы захотите найти OpenMP 4.0, которые поддерживают экспорт на устройство. Я видел на clang ML, что они работают над генерацией кода GPU, но я не знаю текущего состояния. Как OpenMP 3.0 пришел в clang 3.6, я думаю, что другой придет позже. –
Спасибо за подсказку. Я не знал, что openmp теперь поддерживает gpu. Это не «каркас», который у меня есть личный опыт, но он выглядит интересным. Посмотрев на него еще немного, я действительно задаюсь вопросом, почему вы хотите использовать CUDA, OpenCL или AMP поверх OpenMP? Кажется, что он предлагает большую часть того же в общем виде, но, возможно, я просто не знаю достаточно, чтобы увидеть проблемы. – JoeTaicoon
OpenMP будет генерировать код для вас. Это здорово, но это может быть не так эффективно, как ожидалось. В этом случае вы можете написать код CUDA, чтобы сделать его более эффективным. Так же, как вы можете написать код sse/avx, потому что компилятору не удалось векторизовать цикл. Но я согласен с тем, что в долгосрочной перспективе будет действительно лучше, если мы сможем положиться на эти функции! –