그래서 내가 MPI를 사용하여 여러 컴퓨터에 걸쳐 배포되는 OpenCL을 사용하여 구현하려는 응용 프로그램이 있습니다.OpenCL 부분 버퍼 DMA 읽기/쓰기
이제 알고리즘을 반복 할 때마다 MPI 프로세스간에 버퍼를 동기화해야하지만 여기에서는 catch가 있습니다. 2D 버퍼의 경계 만 전체 영역이 아닌 동기화/복사해야합니다. 이 읽기/ 전체 버퍼의 전체 복사본을 유발하지 않고 2D 버퍼 의 테두리를 작성하는 오픈 CL의 메모리 매핑 메커니즘 (clEnqueueMapBuffer & clEnqueueUnmapMemObject)와 가능하다면
그래서 제 질문입니다.
기본적으로 OpenCL이 호스트 측 버퍼 복사본 대신 DMA를 사용하는 경우에만 작동합니다. 그래서 제 질문은 OpenCL이 개별적인 PCIe GPU에서 장치 버퍼 데이터의 DMA 액세스를 지원하는지 여부입니다. 그리고 그렇다면 어떤 하드웨어와 운영 체제에 있습니까?
clEnqueueWriteBufferRect/clEnqueueReadBufferRect 내가 뭘 찾고 있었는지, 감사합니다. –