난 아주 문제는 특히 적합하지 않으면 그렇게 용서해주십시오 프로그래밍 GPGPU에 새. 내가 이해 한 바에 따르면 GPU 프로그래밍은 일반적인 CPU 프로그래밍과 비교할 때 매우 복잡한 엔지니어링 작업입니다. 분기 문제, 바둑판 식 배열, 고정 된 메모리 할당 및 호스트 장치 통신 / 장치 계산 겹침에 매우주의해야합니다.
약간의 연구를 한 후에 C ++ STL을 모방하려는 스러스트 라이브러리 를 발견했습니다 . 이것은 꽤 좋다. 그러나 매우 제한된 경험과 좋은 성능을 얻는 데 필요한 모든 미세 관리 기능을 보았을 때 성능에 대해 약간 회의적입니다. 추력은 복잡한 모든 프로그래밍 부분을 내부적으로 효율적으로 처리 할 수 있습니까? PETSc와 같은 잘 알려진 라이브러리 중 일부는이 패키지를 사용하는 것 같습니다.
CUDA 및 추력에 대한 경험이 많은 사람들이 저수준 CUDA 프로그래밍과 비교할 때 패키지의 성능에 대해 한두 가지를 말할 수 있는지 궁금합니다. 스러스트는 언제 사용할 수 있고 언제 CUDA로 다시 전환해야합니까?