Cześć, mam do Was takie pytanie: doczytałem na stronie: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compute-capabilities że istnieje jakieś ograniczenie w programowaniu na karcie graficznej, które mówi, że: Maximum number of instructions per kernel wynosi 512 milionów.
Mam pytanie co to oznacza w praktyce?
Załóżmy, że w pamięci globalnej mam > 512 milionów danych. Każdy blok wątków pobiera maksymalnie dużo danych do swojej pamięci wspólnej -> operuje na tych danych a następnie znowu pobiera kolejne dane itd. aż do przetworzenia wszystkich danych. Wszystko wykonywane jest w pętli w jeden funkcji na GPU (kernelu).
Przykładowo operacje na tych zmiennych polegają (banalny przykład - chodzi o zobrazowanie problemu) na z sumowaniu wyników mnożenia pewnej stałej (innej dla każdego wątku/bloku) z każdą zmienną przechowywaną w pamięci => sum += stala*zmienna;
Mam więc pytanie czy wówczas przekroczę wspomniane ograniczenie? W końcu wszystkich danych jest > 512 milionów a z każdą zmienną wykonuję dodawanie i mnożenie.
Czy może chodzi o coś innego?
Z góry dzięki za wyjaśnienie.