bonjour , je voudrais faire un calcul pour une matrice comme suit:
chaque ligne de la matrice est exécutée dans un block du GPU, et par la suite chaque element de cette ligne s'execute par un thread de ce block
je ne veux pas utiliser une boucle for pour appeler le kernel et executer chaque ligne à part comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
les matrice[ligne][colonne]= valeur-determinees
for(i=0,i<nbrLigne;i++)
{
// donner à la fct comme parametre 1seule ligne et nn pas la matrice entiere
monkernel<<<1,nbrColonne>>>(matrice[ligne]) 
}
je veux plutot faire un seul appel du kernel (et non pas des appels séquentiels) comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
monkernel<<<nbrLigne,nbrColonne>>>(matrice)
donc, devrais donner à mon kernel comme parametre la matrice entiere? si oui comment pourrais-je , au sein de la fonction __global__ , repartir le calcul de façon que chaque ligne soit calculée dans un block différent des autres lignes ?
si nn y a t-il d'autres solutions?
merci pour aide