저는 Stream 2.0 베타에서 ATI OpenCL 구현을 사용 해왔습니다. 현재 베타 버전의 OpenCL은 현재 CPU 만 사용하고 다음 버전은 GPU 커널을 지원하기로되어 있습니다. 내 작업 컴퓨터에 ATI GPU가 있기 때문에 Stream을 다운로드했습니다.하드웨어 공급 업체의 OpenCL 실행
나는 GPU를 사용함으로써 큰 이익을 얻을 수있는 소프트웨어를 작성한다. 그러나이 소프트웨어는 고객 기계에서 실행되기 때문에 개발할 정확한 하드웨어를 선택하고이를 최적화 할 수있는 고급 스러움이 없습니다 (많은 과학 컴퓨팅 환경 에서처럼). 그래서 내 질문은, 만약 내가 ATI OpenCL 구현을 내 응용 프로그램과 함께 배포한다면, 그것은 결코 예를 들어서 사용할 수 없다는 것을 의미 할 것이다. NVidia 비디오 카드? NVidia OpenCL SDK를 사용하면 AMD 칩 (ATI/AMD 링크 고려)에서 절대로 최적으로 실행되지 않습니다.
다른 말로하면 누가 OpenCL 구현을 제공 할 책임이 있습니까? 사용자가 예를 들어 NVIDIA 비디오 카드 용 OpenCL '드라이버'를 AMD CPU에서 최적의 성능을 제공하는 '드라이버'와 함께 설치하십시오.
이외에도 OpenCL에 대한 좋은/적극적인 지원 포럼이 Khronos 게시판과 별도로 존재합니까? 아니면 갈 장소입니까? ATI에는 게시판이 있으며, NVidia는 아마도 자신 만의 고유 한 기능을 가지고있는 것으로 보입니다. OpenCL 사용자/개발자 커뮤니티는 어디에서 놀고 있습니까? 이미 한 곳으로 통합 되었습니까?
OpenGL과의 차이점은 OpenGL의 경우 GPU 공급 업체가 드라이버 기간을 작성한다는 것입니다. OpenGL은 비디오 카드에서만 작동합니다. 그러나 OpenCL의 경우 CPU 공급 업체가 CPU 커널 용 드라이버를 작성하고 OpenCL 커널이 CPU 스레드 또는 GPU 스레드에서 실행될 수 있기 때문에 GPU 공급 업체가 GPU 커널 용 드라이버를 작성하는 것이 이상적입니다. 앞으로 어떻게 작동 할 예정입니까? – Roel
OpenGL은 하드웨어가 특정 작업을 지원하지 않을 때 항상 소프트웨어 경로를 지원합니다. 따라서 OS 공급 업체는 소프트웨어 OpenGL 구현을 제공해야합니다 (MS Windows OpenGL은 OpenGL 1.1에서 중단됨). OpenCL을 사용하면 비슷한 결과가 발생할 수 있습니다. 어쨌든 AMD/ATI는 CPU와 GPU를 모두 지원할 수있는 OpenCL 버전을 출시 할 것으로 보인다. 마찬가지로 Intel은 일반 CPU와 Larrabee GPU를 지원하는 OpenCL도 출시 할 것입니다. 필자는 Apple의 OpenCL 구현에 대해 충분히 알고 있지 않습니다. – Eric
고객이 ATI 비디오 카드와 Intel CPU를 가지고 있다면 최적의 성능을 낼 수 없다는 결론을 내릴 수 있습니까? 즉, 그들이 설치 한 OpenCL 드라이버/구현에 따라 CPU 또는 GPU에서 커널을 실행하게됩니까? 내 말은 아마 내가 기계에서 달릴 것이라는 것을 안다. 그건 내 관심사가 아니다. 내 관심사는 기계에서 모든 하드웨어, 모든 CPU 코어 및 모든 GPU '코어'를 사용하므로 * 빠름 *입니다. – Roel