Witam!

Pia\ę program wykorzystujący technologię CUDA do wykonywania obliczeń na kartach graficznych nVidia. Chce zrównoleglić algorytm kompresji CRS dla macierzy liczbowych. W tym celu napisałem alorytm sekwencyjny, wykonujący kompresje CRS na macierzy na jednym wątku:

//Sposób sekwencyjny
	int kol = 0, wart = 0;
	for(int i = 0; i < m; i++)
	{
		row_ptr[kol++] = wart+1;
		for(int j = 0; j <m; j++)
		{
			if(M[j + m * i] != 0.0)
			{
				value[wart] = M[j + m * i];
				col_ind[wart] = j + 1;
				wart++;
			}
		}
		row_ptr[kol] = wart + 1; //trzeba zabezpieczyc przed powielaniem przez watki
	}

TYen kod jest wykonywany na jednym i tym samym wątku dla całej macierzy. Natomiast, ja chciałbym aby każdy wiersz był wykonywany w oddzielnym wątku żeby uzyskać takim sposobem zrównoleglenia, przez co, aby znacznie przyspieszyć kompresję. Ma ktoś z was jakiś pomysł jak rozwiązać taki problem?