Jestem bardzo nowy w programowaniu GPGPU, więc proszę wybacz mi, jeśli pytanie nie jest szczególnie odpowiednie. Z tego, co rozumiem, programowanie na GPU to bardzo skomplikowana praca inżynierska w porównaniu do zwykłego programowania procesora. Należy bardzo uważać na problemy z rozbieżnościami, kafelkami, przypiętą pamięcią i nakładaniem się komunikacji host-urządzenie / obliczanie urządzenia.
Po przeprowadzeniu drobnych badań znalazłem bibliotekę ciągu, która wydaje się próbować naśladować C ++ STL. To jest całkiem miłe. Jednak w oparciu o moje bardzo ograniczone doświadczenie i widziałem wszystkie mikro-zarządzanie wymagane do uzyskania dobrej wydajności, jestem nieco sceptyczny co do wydajności. Czy ciąg może skutecznie obsługiwać wewnętrznie wszystkie skomplikowane elementy programowania? Niektóre bardzo dobrze znane biblioteki, takie jak PETSc, wydają się korzystać z tego pakietu, co sprawia, że wierzę, że powinien.
Zastanawiałem się, czy ludzie z większym doświadczeniem w CUDA i ciągłości mogliby powiedzieć kilka słów na temat wydajności pakietu w porównaniu do programowania na niskim poziomie CUDA. Kiedy mogę użyć ciągu i kiedy powinienem wrócić do CUDA?