Jestem zdezorientowany maksymalną liczbą wątków, które można uruchomić w procesorze graficznym Fermi.Maksymalna liczba wątków, które można zainicjować w jednym jądrze CUDA.
Moje zapytanie urządzenia GTX 570 mówi następująco.
Maximum number of threads per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 65535
Z mojego zrozumienia, rozumiem powyższe stwierdzenie jak:
Dla jądra CUDA możemy uruchomić co najwyżej 65536 bloków. Każdy uruchomiony blok może zawierać do 1024 wątków. W związku z tym mogę w zasadzie uruchomić do 65536 * 1024 (= 67108864) wątków.
Czy to prawda? Co się stanie, jeśli mój wątek używa rejestrów partii? Czy nadal będziemy w stanie osiągnąć te teoretyczne maksimum liczby wątków?
Po napisaniu i uruchomieniu jądra CUDA, skąd wiadomo, że liczba wątków i bloków, które wprowadziłem, została wykonana pod numerem , w rzeczywistości została utworzona. Chodzi mi o to, że nie chcę, żeby GPU obliczyło jakieś śmieci lub zachowywało się dziwnie, gdybym przez przypadek wytworzył więcej wątków, niż jest to możliwe dla tego konkretnego jądra.
Może to pomóc: http://stackoverflowflow.com/questions/2392250/understanding-cuda-grid-dimensions-block-dimensions-and-threads-organization-s – user1154664