2012-08-28 4 views
2

아시다시피 CUDA는 스트림 기능을 제공합니다. 메모리 전송과 커널 실행이 이 같은에서 실행되는 것을 가능하게합니다. 물론 메모리 전송 및 커널 실행의 데이터는 이고 다른 데이터는입니다. OpenCL을 사용하여이 작업을 수행 할 수 있습니까? 언젠가 비디오에서 일부 처리를 할 때가 있습니다. 병목 현상은 메모리 운송입니다.OpenCL에서 메모리 전송과 커널 실행을 동시에 실행할 수 있습니까?

+2

OpenCL SDK의 oclCopyComputeOverlap 예제를 참조하십시오. – talonmies

답변

2

예, OpenCL에서 메모리 연산과 커널 실행을 겹칠 수 있습니다. clEnqueueReadBUffer 기능의 blocking_read 매개 변수를 CL_FALSE으로 설정하기 만하면됩니다. 그러나 데이터를 조작하기 전에 전송이 완료되었는지 확인해야합니다. 이벤트를 사용하십시오.

관련 문제