Ho una matrice a banda sparsa A e mi piacerebbe (diretto) risolvere Ax = b. Ho circa 500 vettori b, quindi mi piacerebbe risolvere per i corrispondenti 500 x. Sono nuovo di zecca per CUDA, quindi sono un po 'confuso su quali opzioni ho a disposizione.lotto Soluzione CUDA di Axel a banda sparsa = b per varie b
cuSOLVER ha un risolutore diretto batch cuSolverSP per sparse A_i x_i = b_i utilizzando QR here. (Anche a me starei bene con LU perché A è decentemente condizionato.) Comunque, per quanto posso dire, non posso sfruttare il fatto che tutti i miei A_i sono uguali.
Un'opzione alternativa è quella di determinare prima una fattorizzazione LU sparsa (QR) sulla CPU o GPU, quindi eseguire in parallelo la backsubstitution (rispettivamente, backsub e matrix mult) sulla GPU? Se cusolverSp< t >csrlsvlu() è per un b_i, esiste un modo standard per eseguire questa operazione in batch per più b_i?
Infine, poiché non ho intuito per questo, dovrei aspettarmi una accelerazione su una GPU per una di queste opzioni, dato il sovraccarico necessario? x ha lunghezza ~ 10000-100000. Grazie.