랩에서 우리는 많은 인텔 CPU, 몇 개의 AMD CPU 및 몇 개의 엔비디아 GPU가있는 이기종 클러스터 설정을 가지고 있습니다.CPU에서 OpenCL을 사용할 준비가 되었습니까?
HPC 개발의 경우,이 설정에서 한 번 쓰고 실행할 수있는 것은 OpenCL (Java조차도 알지 못함)입니다.). 그러나 우리는 실험실에서 C 나 Fortran plus MPI를 사용하여 CPU에서 완전히 실행되도록 개발하는 데 익숙합니다. CUDA에서 뭔가를 실행하려면 Nvidia의 노드를 사용해야 할 수도 있습니다.
이제 새 프로젝트를 시작할 때 MPI + OpenCL에서 코드를 작성하고 GPU와 CPU를 모두 분산 처리 할 수 있어야하며 동일한 OpenCL 코드를 실행할 수 있어야한다고 생각했습니다. . 그렇다면 OpenCL 구현이 그러한 작업을 위해 준비 되었습니까? 인텔 SDK가있는 CPU에서 실행되는 OpenCL 코드를 사용하면 인텔 컴파일러로 컴파일 된 멀티 스레드 C 프로그램에서 얻었던 것처럼 좋은 성능을 발휘할 수 있습니까? 비교와 벤치 마크를 가리킬 수 있습니까?