В лаборатории у нас есть гетерогенная кластерная установка со многими процессорами Intel, несколькими процессорами AMD и несколькими графическими процессорами Nvidia.Готово ли OpenCL для использования на процессоре?
Для разработки HPC, единственная вещь, которую я знаю, что я могу написать один раз и запустить всюду на этой установке, - OpenCL (даже Java;)). Но здесь, в лаборатории, мы очень привыкли использовать C или Fortran plus MPI для разработки полностью для процессора, и, может быть, редко, кому-то, возможно, потребуется использовать узел Nvidia для запуска чего-то в CUDA.
Теперь, в начале нового проекта, я подумал, что было бы очень хорошо иметь возможность кодировать вещи в MPI + OpenCL и быть в состоянии включать в распределенную обработку как графические процессоры, так и процессоры, работая с тем же кодом OpenCL , Итак, целесообразно ли, что OpenCL-реализации готовы к такой задаче? С кодом OpenCL, работающим на процессоре с Intel SDK, могу ли я рассчитывать с такой же хорошей производительностью, как и с многопоточной программой на языке C, скомпилированной с помощью компилятора Intel? Можете ли вы указать на сравнения и контрольные показатели?