내가 수행 할 프로젝트에 대한 조언이 필요합니다. CUDA 4.0을 사용하는 Multi-GPU 노드에서 간단한 커널을 실행할 계획입니다. (아직 결정하지는 않았지만, 당황스럽고 병렬적인 것들에 대해 힌팅을하고 있습니다.) 아래의 전략을 따르면됩니다. CUDA가 멀티 GPU 환경에서 제공하는 다양한 전략으로 커널을 시작하여 노드를 프로파일 링합니다.CUDA를 사용한 멀티 GPU 프로그래밍 전략
- 단일 호스트 스레드 - 여러 장치 (공유 컨텍스트)
- 단일 호스트 스레드 - 단일 장치 커널의 동시 실행 (공유 컨텍스트)
- 여러 호스트 스레드 - (같음) 여러 장치 (독립 문맥)
- 단일 호스트 스레드 - 하나 개의 장치에 순차 커널 실행
- 여러 호스트 스레드 - 하나 개의 장치에 커널의 동시 실행 (독립 컨텍스트)
- 여러 호스트 스레드 - 하나의 장치에서 커널을 순차적으로 실행 (독립적 인 컨텍스트)
나는 어떤 누락 되었습니까? 내가 선택한 테스트 카테고리와 멀티 GPU 프로그래밍에 대한 일반적인 조언을 환영합니다.
감사합니다,
사얀
편집 :
내가 그렇게 수정, 이전 분류가 일부 중복을 포함 생각했다.
"다중 호스트 스레드 - (Equal) Multiple devices, Independent Contexts"와 같이 갈 것입니다.이 접근법은 가능한 한 데이터 공유가 거의 없기 때문에 병렬 처리를 극대화 할 수 있기 때문입니다. 그러나 GPGPU를 수행하지 않기 때문에 일반적인 관찰 일뿐입니다. –