2012-09-08 7 views
5

Piszę kernel OpenCL, który zawiera kilka barier w pętli. Przetestowałem jądro na procesorze (8-rdzeniowy FX8150), a wynik pokazuje, że te bariery zmniejszyły prędkość działania o 50-100 razy (dodatkowo zweryfikowaliśmy to przez ponowne wdrożenie jądra w Javie przy użyciu wielowątkowości + CyclicBarrier) . Podejrzewam, że powodem tego jest fakt, że bariera w zasadzie uniemożliwia procesorowi wykorzystanie niecałkowitej realizacji, więc jestem trochę zaniepokojony, że zaobserwowałbym taką samą redukcję prędkości na GPU. Sprawdziłem kilka oficjalnych dokumentów i trochę goograłem, ale jest niewiele dostępnych informacji na ten temat.Czy współczesny procesor graficzny (np. Fermi/Evergreen) obsługuje realizację poza kolejnością?

+0

Oczywiście, że ma. Powinieneś niejednorodnie rozdzielać czasowe obliczenia FpU za pomocą kodu, aby mógł wykonywać całkowitą kalkulację. podczas robienia unoszenia się w tym samym czasie –

+0

@ tuğrulbüyükışık Thanks. Czy możesz wskazać mi oficjalny dokument, który to potwierdza (w celach referencyjnych)? – aaronqli

Odpowiedz

7

Aktualny stan-karty graficzne sztuki są rzędu potokowym procesorem. Procesory GPU efektywnie wypełniają potoki, przeplatając instrukcje z różnych osnów (wavefronts). W porównaniach procesory wykorzystują spekulacyjne wykonanie poza kolejnością, aby wypełnić potok. Istnieją różne jednostki funkcjonalne, takie jak jednostki ALU i SFU, które mają oddzielone potoki. Ale zauważ, że zależność od instrukcji zatrzyma odkształcenie. Więcej informacji na temat rozwiązywania zależności instrukcji na układach GPU można znaleźć na stronie this NVIDIA patent.

2

NVIDIA Next Generation
CUDA Compute i architektura graficzna, o nazwie kodowej „Fermi”:

Nvidia GigaThread Engine ma możliwości (na stronie 5)

  • 10x szybsze kontekście aplikacji przełączania
  • Równoczesne wykonywanie jądra
  • Zlecenie bloku wątków poza kolejnością :)
  • podwójnego przesyłania zachodzą na siebie silniki pamięci

Evergreen has SIMD capabilities and has a chance outperform some fermi but i dont know about oooe of it. There is also "local atomic add" upper hand of HD 7000 series compared to GTX 600 series (nearly 10x faster)

Powiązane problemy