2012-10-28 11 views
7

Czy ma sens przepisanie kodu tak, aby ładował on dane przez bufor tekstowy (zakładając, że nie potrzebuję filtrowania i innych opcji modułów tekstur) lub czy jest taki sam? Jak załadować niektóre dane przez pamięć podręczną L1 i niektóre moduły teksturowania korytowego? mam kod, w którym mógłbym użyć takiej strategii, ale czy to ma sens?CUDA: Czy pamięć podręczna tekstur na FERMI jest oddzielona od pamięci podręcznej L1?

Aby było jasne, miałem na myśli "jest pamięć podręczną tekstur na FERMI oddzielnym sprzęcie ze sprzętu L1 cache" - innymi słowy, czy mogę sprytnie uzyskać w sumie łączny wolumen pamięci podręcznej tekstury L1 + dla mojego kodu?

Odpowiedz

11

Jest oddzielny. Obciążenie teksturą nie przechodzi przez L1. W przypadku aplikacji bez teksturowania (tzn. Nie używasz takich funkcji, jak interpolacja i mocowanie), główną zaletą teksturowania jest to, że pozwala selektywnie dodawać dużą ilość pamięci globalnej, która może być potencjalnie buforowana (zakładając lokalizację i ponowne użycie) bez zakłócania co się dzieje w L1. W przypadku małych zbiorów danych teksturowanie nie daje lepszej precyzji niż L1. W przypadku dużych zestawów danych, gdzie istnieje pewna lokalizacja i ponowne użycie, ale obciążenia z regionu, które są objęte pamięcią podręczną tekstury, mogą w przeciwnym razie spowodować uszkodzenie L1 (które może być tak małe jak 16 KB na SM w Fermi, w zależności od konfiguracji pamięci podręcznej), pamięć podręczna tekstury może zapewnić ogólną korzyść dla aplikacji. Często zdarza się, że użytkownicy używają tekstury, która nie jest tak szybka, jak w przypadku L1, ale może być znacznie szybciej niż w przypadku nieobciążonych ładunków lub rozproszonych ładunków, które powodują uszkodzenie L1. Wiele będzie zależeć od wzorca dostępu i rozmiarów danych. Rozmiar pamięci podręcznej tekstury jest rzędu 8 KB na SM. Możesz buforować znacznie większy region, ale wysoki poziom ponownego użycia i lokalizacji zdecydowanie poprawi wydajność pamięci podręcznej tekstury. Należy również pamiętać, że pamięć tekstur jest tylko do odczytu. Możesz być zainteresowany tym webinar.

+0

Dokładnie odpowiedź, której szukałem, dziękuję. –

Powiązane problemy