2014-07-15 2 views
0

저는 DirectCompute에 관심이 있습니다. 컴퓨터에 연결된 두 개의 다른 그래픽 어댑터를 사용하여 CUDA 에서처럼 Direct Compute를 동시에 사용할 수 있는지 알고 싶습니다. 내가 아는 한 직접 컴퓨터에서 컴퓨터 쉐이더를 디스 패칭하는 것이 비동기 적이기 때문에 컴퓨터 쉐이더를 다른 어댑터로 생성 된 다른 장치로 보낼 수 있습니까?여러 GPU에서 직접 컴퓨터를 실행할 수 있습니까?

미리 감사드립니다.

+0

직접 계산에 익숙하지 않지만 [본 프레젠테이션] (http://on-demand.gputechconf.com/gtc/2010/presentations/S12312-DirectCompute-Pre-Conference-Tutorial.pdf)의 슬라이드 59로 판단하십시오. 전반적인 구문은 가능해야합니다 :'D3D11CreateDevice'를 사용하여 여러 개의 장치를 만들고 그 둘 다를 위해 셰이더를 컴파일하는 등등. – aland

+0

그건 내 느낌, CPU에 여러 스레드를 만들고 동시에 다른 장치를 관리하지만, 그것은 작동하지만, 직접 컴퓨터 커널의 성능이 저하되고 그것은 메인 스레드에서 쉐이더를 실행하는 것과는 거리가 멀다. 이 문제는 있지만 Directx11을 사용하는 경우가 아니면 불가능합니다. – sorts

+0

각 어댑터마다 장치를 만들면됩니다. 예상대로 작동하지 않는 것이 있습니까? – MooseBoys

답변

-1

youd는 한 번의 호출로 원하는 것이지만 2 개의 다른 장치 컨텍스트가 필요합니다. 주요 문제는, 당신이 2 개의 장치 객체를 가지고 있다는 사실이 아니라, 문제는, 한 번의 호출로 버스 라인을 두 번 꺼내는 지 궁금합니다. 당신은 불필요하게 단 하나의 그래픽 카드 만 가지고는 안된다는 것입니다.

문제가 있습니다. 따라서 작동중인 128 개의 디스패치가 2 개의 카드를 가지고 있다면 이제는 64 회의 디스패치 만 수행 할 수 있습니다.

+0

이 조언은 매우 모호합니다. PCIe 기반의 GPU에 대한 작업이 거의 없다면, 처음에는 그곳에서 작업하지 않아야 할 것입니다. – MooseBoys

관련 문제