Mam aplikację, która rozwiązuje system równań w CUDA, wiem na pewno, że każdy wątek może znaleźć do 4 rozwiązań, ale jak mogę skopiować następnie z powrotem do hosta?Jak skutecznie gromadzić dane z wątków w CUDA?
Mijam ogromną tablicę z wystarczającą ilością miejsca dla wszystkich wątków, przechowującą 4 rozwiązania (4 podwójne dla każdego rozwiązania), i drugą z liczbą rozwiązań na wątek, ale to naiwne rozwiązanie i jest obecnym wąskim gardłem mojego jądra.
Bardzo lubię to optymalizować. Głównym problemem jest łączna liczba różnych rozwiązań na wątek w jednej macierzy.
O wiele łatwiej byłoby mi pomóc, gdybym wiedział coś więcej na temat twojego programu. według mojej wiedzy (Minęło około roku, odkąd bałam się z cudą, więc mogę się mylić), memcopy są jedynym sposobem na odzyskanie informacji i są powolne. A jaka wersja cuda na jakiej karcie? – 8bitwide
Mam dostępne CUDA 4.0 i 4.2. – RSFalcon7
Kod jest zbyt duży, aby umieścić go tutaj. Zgadzam się, że to cudaMemCpy to jedyny sposób, aby uzyskać wyniki, ale mogę uniknąć kopiowania śmieci. – RSFalcon7