Znalazłem jedynie uwagę, że pamięć lokalna jest wolniejsza niż pamięć rejestrów, typy dwóch na wątek.Czy pamięć lokalna jest wolniejsza niż pamięć współdzielona w CUDA?
Pamięć współdzielona ma być szybka, ale czy jest szybsza niż pamięć lokalna [wątku]?
To, co chcę zrobić, to rodzaj filtra medianowego, ale z danym percentylem zamiast mediany. Dlatego muszę wziąć fragmenty listy, posortować je, a następnie wybrać odpowiedni. Ale nie mogę rozpocząć sortowania listy pamięci współdzielonej lub coś pójdzie nie tak. Czy stracę dużą wydajność, po prostu kopiując do lokalnej pamięci?
To tak naprawdę nie jest związane z programowaniem, prawda? Nie widzę też silnego linku do tagu Mathematica. –
@Sjoerd C. de Vries: w kontekście CUDA jest to pytanie związane z programowaniem - architektura ma nierównomierną przestrzeń pamięci, a programista musi jawnie wybrać, które typy pamięci i metody dostępu powinny być używane w dowolnym kodzie, który on lub ona pisze. Jest to podstawowa zasada programowania CUDA. – talonmies
@talonmies Rozumiem to, ale wciąż to pytanie nie dotyczy programowego wybierania pamięci, różnic w API, programowania rejestrów vs programowania pamięci współdzielonej itp. Zasadniczo chodzi o to, który typ pamięci jest szybszy. To jest pytanie sprzętowe. Uważam, że PO powinien przeformułować pytanie, na przykład w kierunku jego problemu znalezienia określonego percentyla danych przy użyciu pamięci współdzielonej w CUDA. –