2012-02-10 1 views
0

머신에 GPU가 여러 개 있다고 가정하고 GPU0에서 커널을 실행 중입니다.multi-gpu cuda : 한 장치에서 커널을 실행하고 다른 장치에서 요소를 수정 하시겠습니까?

CUDA 4.0의 UVA 및 P2P 기능을 사용하면 커널이 GPU0에서 실행될 때 GPU1과 같은 다른 장치의 어레이 내용을 수정할 수 있습니까?

CUDA 4.0 SDK의 simpleP2P 예제는 이것을 설명하지 않습니다.

그것은 단지 보여

  • 피어 투 피어 memcopies
  • GPU1에서 입력 버퍼 판독 GPU0 버퍼

  • 커널 출력을 기록 GPU0 실행 커널 은 GPU0 버퍼에서 입력을 읽고 GPU1 버퍼에 출력을 씁니다.

+0

하나의 GPU에있는 커널이 실제로 UVA와 P2P를 통해 다른 GPU에있는 전역 메모리에 쓸 수 있는지 묻는 중입니까? – talonmies

답변

1

짧은 답변 : 가능합니다.

Longer answer

링크 된 프리젠 테이션은 자세한 내용을 제공하지만, 여기에 요구 사항은 다음과 같습니다

  • (테슬라 컴퓨팅 클러스터 드라이버 리눅스 또는 Windows) 64 비트 OS에 있어야합니다.
  • GPU는 Compute Capability 2.0 (sm_20) 이상이어야합니다.
  • 현재 GPU는 반드시 IOH에 부착되어야합니다.

cudaDeviceCanAccessPeer()을 사용하여 직접 P2P 액세스가 가능한지 여부를 쿼리 할 수 ​​있습니다.

관련 문제