아무런 언어도 CPU 캐시에 직접 액세스 할 수 없습니다 (인용되었지만 3 개의 URL을 가질 담당자가 충분하지 않습니다 ...). 이는 OpenCL이 개인용 메모리를 캐시에 보관할 방법이 없다는 것을 의미합니다.
In this presentation from AMD 그들은 단순히 메모리 모델을 컨텍스트 (16 페이지)로 추상화 된 일련의 메모리 개체로 나타냅니다. 컨텍스트에서 장치가 사용할 수있는 버퍼이면 읽을 수 있습니다. 다른 종류의 커널 메모리에 관해서라면, GPU 대신 CPU에서 실행될 때 성능 차이가 없다고 가정 할 수 있습니다 (다른 유형의 DRAM이 있기 때문에).
그러나 클러스터에서 컴퓨팅하는 경우 호스트 메모리와 로컬 메모리는 여전히 달라 지므로 전송 속도를 고려해야합니다. 질문의 두 번째 부분에서이 기사 on memory models in OpenCL을 참조하십시오. 주어진 작업 그룹 내에서만 의사 소통을해야하는 방식으로 프로그램을 구성하면 얻을 수있는 성능이 있습니다.
추가 읽기를 들어, -http 참조하십시오 //software.intel.com/sites/landingpage/opencl/optimization-guide/index.htm