0
저는 병렬 응용 프로그램을 만들고 있는데 혼란 스럽기 때문에 한 가지 질문을하고 싶습니다. 100 개의 커널 인스턴스가 있고 그 값을 팔고 싶습니다. 모든 커널이 동일 할 것입니다. 모든 커널에 대해 동일한 값 (각 커널에 대해 하나씩)을 배열해야합니다. 아니면 하나의 값으로 충분합니다. 단일 값을 사용하면이 값에 대한 동시 액세스가 유지됩니까? 값은 읽기 전용입니다.OpenCL 커널 매개 변수 값에 대한 동시 액세스
내가 작성한 것처럼 값을 저장하면 개인 메모리에 저장됩니까? 그리고 이런 식으로 할 때 : ** 커널 무효 코드 (__ local int cval, .....) ** ** 은 작업 블록에서이 값을 읽을 때 동시 액세스를 유지합니다. 항목? –
그런 __local 메모리를 사용할 수 있다고 생각하지 않습니다. 커널 외부에있는 __local 메모리를 초기화 할 수 없습니다. – talonmies
로컬 메모리를 확실히 사용할 수 없습니다. 로컬 메모리는 외부에서만 할당 할 수 있지만 호스트에서는 쓸 수 없습니다. 스칼라를 사용하는 가장 좋은 방법은 탤런에 의해 언급되었습니다. 전체 메모리가 너무 느립니다. 상수 메모리는 많은 계산 중에 전역 성질을 갖는 한 적합 할 수 있습니다. –