Sto cercando la funzione multiscan/multi prefix-sum (molte righe in un kernel esecuzione) per il mio progetto in CUDA.funzione di somma/scansione del prefisso ad alte prestazioni in CUDA, alla ricerca di spinte, alterazione della libreria cuDPP
Ho provato quello della libreria Thrust ma è troppo lento. Inoltre, si verifica un arresto anomalo dopo essere stato compilato con i flag di debug nvcc (-g -G).
Dopo il mio fallimento con Thrust mi sono concentrato sulla libreria cuDPP che faceva parte del toolkit CUDA. Le prestazioni cuDPP sono davvero buone, ma la libreria non è aggiornata con l'ultimo cuda 5.5 e ci sono alcuni problemi di violazione della memoria globale nella funzione cudppMultiScan() durante il debug con il controllo della memoria. (cuda 5.5, nsight 3.1, studio visivo 2010, gtx 260 cc 1.3)
Qualcuno ha idea di cosa utilizzare al posto di queste due librerie?
R.
Hai guardato [ArrayFire] (http://accelereyes.com/arrayfire), su cui lavoriamo su AccelerEyes? – arrayfire
no, non l'ho visto prima, sembra piuttosto interessante! Grazie! :) e le sue prestazioni? È più una libreria orientata alla produttività o alla produttività? – user1946472
Se si desidera utilizzare Thrust per eseguire la scansione delle righe di una matrice, non chiamare ripetutamente "inclusive_scan". Assegna ad ogni riga un indice e usa 'inclusive_scan_by_key'. Puoi adattare questo [esempio] (https://github.com/thrust/thrust/blob/master/examples/sum_rows.cu). –