내 OpenCL 커널에서 __constant 한정자를 사용하는 데 문제가 있습니다. 내 플랫폼은 Snow Leopard입니다.OpenCL 커널에서 __constant qualifer 사용
GPU에서 CL 읽기 전용 메모리 개체를 초기화하여 호스트의 일정한 배열을 호스트로 복사하려고했습니다. 그런 다음 커널 인수를 __global 메모리 인수와 같이 설정합니다. 그러나 이것은 정상적으로 작동하지 않지만 오류나 경고는 표시되지 않습니다. 나는 또한 float 및 int 유형과 같이 clSetKernelArg 함수에서 직접 데이터를 사용하려고 시도했지만 작동하지 않습니다.
실수를 저질렀거나 Apple의 구현에 이상이 있습니까? OpenCL (gpu)과 호스트 코드가 어떻게 작동하는지 예제를보고 싶습니다.
** __constant 또는 constant 주소 공간 이름은 전역 메모리에 할당되고 커널 내에서 읽기 전용 변수 **로 액세스되는 변수를 설명하는 데 사용됩니다. OpenCL 스펙에서 나온 것입니다. 나는 OpenCL의 상수 메모리가 CUDA와 다르다고 생각한다. 나는 __global보다 __constant가 빠르지 않다는 것을 의미합니다. – Samuel