2013-08-22 8 views
3

POCL (Portable Computing Language)과 OpenCL의 차이점은 무엇이며 POCL의 장점은 무엇입니까? http://pocl.sourceforge.net/POCL (Portable Computing Language)과 OpenCL의 차이점은 무엇입니까?

는 POCL는 OpenCL을, 다른 컴파일러, 다른 백엔드 (> = 3.2 연타) (LLVM)에서 다른 C와 같은 언어, 더 나은 이동성, 또는 뭔가 다른이 있습니까?

(하드 링크) OCL을 사용해야하고 ICD를 사용해야하는 경우? http://streamcomputing.eu/blog/2013-07-08/installing-and-using-pocl/

답변

3

Pocl 다른 OpenCL을 플랫폼 같다. x86/arm과 더 많은 시스템에서 opencl cpu 장치를 제공합니다. 그것은 clcl/llvm을 사용하여 CPU 내의 모든 CPU 코어와 벡터 유닛을 사용합니다.

의 OpenCL은 사양하고 pocl 당신이 둘 이상 설치의 OpenCL 플랫폼이있을 때 당신에게, 당신은 ICD에 대한 링크를 ICD 오는 CPU 장치

와 플랫폼을 제공하기 위해이 사양을 구현합니다. 이 icd 코드를 khronos http://www.khronos.org/registry/cl/specs/opencl-icd-1.2.11.0.tgz에서 컴파일하면 모든 opencl 플랫폼을로드 할 수있는 icd 로더가 생깁니다. ".so"플랫폼에 대한 하드 링크는 libpocl.so라고 할 수 있지만 다른 설치된 플랫폼은 clGetPlatformIDs 호출에 표시되지 않습니다. 따라서 ICD가 더 우수합니다

3

OpenCL은 Khronos가 관리하는 사양입니다. AMD, NVIDIA, Intel 및 Apple과 같은 공급 업체의 많은 구현이 있습니다. OpenCL의 구현이라고 부르기 위해서 공급 업체는 적합성 테스트를 통과해야하고, Khronos의 회원이어야하며, 다른 것들도 있어야합니다.

POCL (Portable Computing Language, 이전 Portable OpenCL)은 OpenCL과 매우 유사한 오픈 소스 구현이지만 진행중인 작업이며 적합성 테스트를 통과하지 않았으므로 실제로 OpenCL 구현이 아닙니다. . 나는 그들이 모여 미래에 하나가되는 것을 목표로하고 행운을 기원합니다.

차이점이 있습니다. 하나는 사양이고 다른 하나는 그 사양의 구현을 목표로합니다.

OpenCL과 호환되는 POCL은 커널에 동일한 C99 기반 언어를 사용한다고 가정합니다. 에서 POCL에

더 : http://pocl.sourceforge.net/

+0

그래서 OpenCL은 표준입니다. POCL은이 표준 OpenCL의 구현이며 나중에 적합성 테스트를 통과하게되면 POCL의 서면 프로그램은 OpenCL의 구현에서 컴파일 될 수 있습니다. AMD, NVIDIA, Intel 및 Apple과 같은 공급 업체는 맞습니까? – Alex

+1

POCL을 모르기 때문에 확실하게 말할 수는 없지만 POCL로 작성된 프로그램은 표준 OpenCL을 작성할 때 다른 OpenCL 플랫폼에서 사용할 수 있습니다. – Dithermaster