Sto lavorando su codice ad alte prestazioni in C++ e ho usato sia CUDA che OpenCL e più recentemente C++ AMP, che mi piace molto. Sono comunque un po 'preoccupato che non si sviluppi e si estenda e si estinguerà.Qual è lo stato corrente di C++ AMP
Ciò che mi porta a questo pensiero è che anche i blog AMP MS C++ sono rimasti in silenzio per circa un anno. Guardando la libreria degli algoritmi AMP C++ http://ampalgorithms.codeplex.com/wikipage/history sembra che non sia successo nulla per oltre un anno.
L'unico sviluppo che ho visto è che ora LLVM supporta sorta di C++ AMP, quindi non è solo le finestre, ma questo è tutto, e non qualcosa che è stato detto in lungo e in largo.
Che tipo di lavoro sta succedendo, se del caso, che tu sappia?
Si consiglia di cercare OpenMP 4.0 che supporta l'esportazione nel dispositivo. Ho visto sul clang ML che stanno lavorando sulla generazione del codice GPU ma non conosco lo stato attuale. Come OpenMP 3.0 è entrato in clang 3.6, suppongo che l'altro verrà dopo. –
Grazie per il suggerimento. Non ero a conoscenza del fatto che openmp ora supportava gpu's. Questo non è un "quadro" con cui ho esperienza personale, però, ma sembra interessante. Dopo averlo guardato ancora, mi sto davvero chiedendo perché vorresti usare CUDA, OpenCL o AMP su OpenMP? Sembra offrire molto degli stessi in generale, ma forse non ne so abbastanza per vedere ancora i problemi. – JoeTaicoon
OpenMP "genererà" il codice per te. È fantastico ma potrebbe non essere efficiente come previsto. In questi casi, potresti voler scrivere il codice CUDA per renderlo più efficiente. Proprio come si può scrivere codice sse/avx perché il compilatore non riesce a vettorizzare un ciclo. Ma sono d'accordo sul fatto che a lungo termine sarà davvero meglio se possiamo contare su queste caratteristiche !! –