2011-04-06 4 views
0

Tesla X2050 어댑터의 CUDA로 처리하는 응용 프로그램이 있습니다. 내 시스템에는이 목적으로 응용 프로그램에서 사용하지 않는 Qudaro4000도 있습니다. 또한 패턴을 표시하는 데 사용되는 또 다른 Geforce2xx 그래픽 카드가 있습니다. 패턴을 표시하는 부분은 GeForce2xx 어댑터에 전체 화면 DX9 장치를 만들고 각 디스플레이 프레임마다 다른 패턴을 표시하는 코드입니다. 이를 위해 VSynched를 표시해야하며 패턴을 건너 뛰거나 놓치면 안됩니다. 내가 겪고있는 문제는 VSync를 켜면 모든 CUDA 프로세싱이 너무 느려지 게된다는 것입니다. VSynch를 비활성화하면 원하지 않는 패턴이 끊어집니다. CUDA 처리와 패턴 표시를 어떻게 결합 할 수 있습니까? 문맥 상, 이는 하나의 어댑터가 패턴을 투사하는 프로젝터에 연결된 구조화 된 조명 시스템에 대해 수행됩니다.Tesla 어댑터의 CUDA 및 다른 NVIDIA 어댑터의 전체 화면 DX 창

편집 10.4.2011 : 나는 왜 시퀀스가 ​​한 컴퓨터에 완벽하게 투영되고 왜 더 강력한 컴퓨터에서 이미지가 때때로 멈추는지를 발견했습니다. 차이점은 하나는 온보드 인텔 GPU이고 다른 하나는 3 개의 NVIDIA GPU입니다. 글쎄요,이 특별한 임무의 경우, 온보드 인텔 GPU는 NVIDIA GPU보다 훨씬 잘 작동합니다. 그것은 다른 드라이버 때문일 수 있으며 인텔 GPU와 동일한 완벽한 성능을 갖기 위해 NVIDIA 드라이버에서 설정할 옵션 \ 매개 변수 조합이 있는지를 찾고 있습니다.

감사합니다.

Ofer.

답변

0

한 가지 해결책은 생성 된 이미지를 버퍼링하고 순서대로 표시하는 것입니다.

어떻게 DX9 컨텍스트를 사용하고 있습니까? 2050의 결과를 DX9 컨텍스트에 복사하고 있습니까? 계산 측면에서 AsyncCalls을 사용하고 있습니까?

+0

DX9 경연 대회는 테슬라에서 행해진 것과는 완전히 별개입니다. 어느 방향으로도 복사하지 않습니다. DX9 컨텍스트의 목적은 구조 빛으로 프로젝터에 패턴을 표시하는 것입니다.지금까지 내가 한 일은 별도의 컴퓨터를 사용하여 DX9 부분을 실행하는 것입니다. 그리고 그것은 완벽하게 작동했습니다. 문제는 동일한 컴퓨터에서 계산과 패턴 투영을 모두 시도 할 때입니다. 이것은 이론적 인 것이어야하지만, 3 GPU가있는 i7은 이러한 유형의 멀티 태스킹을 적절하게 처리 할 수 ​​없습니다. 프로젝터가 멈추고 모든 것이 동기화되지 않습니다. – Ofer

1

나는 얼마 전에이 문제를 해결했습니다.

VSync도 CUDA 계산을 지연시키기 때문에이 문제가 발생하는 이유는 전체 GPU가 스톨됩니다. 그래서 두 가지 솔루션이 있습니다 :

  1. 당신은 당신이 독점 모드 테슬라 TCC로 모드를 설정할 수 테슬라가있는 경우. 즉, 디스플레이 GPU (A GeForce 또는 Quadro)의 VSync가 Tesla 및 CUDA 계산을 지연시키지 않습니다.

  2. 가능한 한 늦게 VSync 정지 작업을 호출하거나 정지 된 vsync 대신 테스트 명령을 실행하십시오. DX9에서

본 명령은 현재이 성공하면, 그것은 실속없는되지 않은 경우 중 블록합니다 (GPU)하고, 수직 동기화 대기 또는 시험 두 가지 모드가 있습니다.

마지막 프레임의 측정 시간 또는 측정 시간의 조합을 사용하거나 Present가 성공했는지 테스트하면 VSync에서 GPU가 가능한 작게 멈추게 할 수 있습니다. 동일한 GPU (GeForce 320M)에서 DX9 + 3D 디스플레이로 CUDA 구조의 광 디코딩 + 패턴 투영을이 방법으로 실행할 수있었습니다.