2012-09-10 21 views
8

Czy Kepler ma 2x lub 4x przepustowość Fermiego podczas uzyskiwania dostępu do pamięci współdzielonej?Współdzielona przepustowość pamięci Fermi vs Kepler GPU

instrukcji programowania stwierdza: „Każdy bank ma przepustowość 32 bitów dwóch cyklach zegara” (dla 2.X) i „Każdy bank ma przepustowość 64 bitów na zegara cyklu” (3. X), więc 4x jest dorozumiane?

+0

@Dom: Cytuję z 5.0 PG. (Rzeczywiście dodano zdanie o szerokości pasma 3.X w.r.t 4.2 PG.). W obu przypadkach jest 32 banków. Moje pytanie wynika częściowo z p81 z [tej prezentacji] (http://developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S0514-GTC2012-GPU-Performance-Analysis.pdf), gdzie mówią, że przepustowość jest x2. Nie widzę żadnych odniesień do różnych zegarów w wersjach 2.X i 3.X i ufam, gdy używany jest "cykl zegara", oznacza to samo na wszystkich możliwościach obliczeniowych (np. Z przepustowością instrukcji). To, jakie są te cykle zegarowe w Hz, nie ma związku z tym pytaniem. –

+0

Częstotliwość zegara jest fundamentalna, ponieważ mówimy o szerokości pasma, które są zwykle mierzone w bajtach/sek. Przechodzenie od bajtów/cyklów do bajtów/sekundę wymaga częstotliwości zegara. Zgadzam się, że dokument jest niejasny i mam nadzieję, że ostateczne wydanie CUDA 5.0 zostanie poprawione (wersja, którą masz, prawdopodobnie pochodzi od kandydata do wydania). – Tom

Odpowiedz

6

Na Fermi, każdy SM ma 32 banków dostarczających 32 bity na każde dwa cykle zegara.

Na Kepler każdy SMX ma 32 banków dostarczających 64 bity na każdy cykl zegara. Ponieważ jednak SMX Keplera został całkowicie przeprojektowany, aby był energooszczędny, a ponieważ szybkie zegary pobierają dużo energii, Kepler działa ze znacznie wolniejszym zegarem rdzenia. Sprawdź rozmowę Inside Kepler z GTC, około 8 minut, aby uzyskać więcej informacji.

Więc odpowiedź na pytanie brzmi, że Kepler ma ~ 2x, nie 4x.

Następna wersja dokumentów (CUDA 5.0) powinna wyjaśnić to lepiej.

+0

Zaczynam widzieć twój punkt widzenia. SP na 3.X działają na podstawowym zegarze GPU, natomiast na 2.X działają na zegar cieniujący, który był 2x głównym zegarem GPU. Tak więc na Kepler jest to "na główny cykl zegara", a na Fermi było to "na dwa cykle zegara shaderów" (= na jeden główny cykl zegara). Dostęp jest zatem równie częsty z perspektywy podstawowego zegara GPU, a 2-bitowa szerokość pasma pochodzi z szerszych słów 64-bitowych. Znajduje to również odzwierciedlenie w "Podstawowej architekturze przetwarzania SMX" w Kepler Whitepaper. Dobrze się nauczyć czegoś o zegarze SPs niż! Dzięki! –

1

Jak podano w

Programming Guide 4.2: wspólna pamięć posiada 16 banków, które są zorganizowane tak, że kolejne 32-bitowe słowa map do kolejnych banków. Każdy bank ma przepustowość 32 bitów na dwa cykle zegara.

Kepler Whitepaper: Współdzielona przepustowość pamięci dla 64b i większych operacji ładowania jest również podwojona w porównaniu do Fermi SM, do 256B na rdzeń zegara.

Dla małych operacji ładowania, 4X to jest.

+0

@ Tom: Jeśli liczba banków jest taka sama, jeśli zajmuje ona 32b/2cc na Fermi i 64b/1cc w Kepler, jego matematycznie 4X. Potrzebujesz więcej wyjaśnień na temat logiki. – Fr34K

+2

Pytanie dotyczy porównania Fermiego (2.x) i Keplera (3.x). Cytat z przewodnika programowania dotyczący 16 banków znajduje się w sekcji 1.x. Kepler kontra Fermi jest 2x. – Tom

+0

Nie zapominaj, że zegar Keplera wolniej oszczędza energię (zobacz wideo, do którego linkowałem w mojej odpowiedzi). – Tom

Powiązane problemy