TY - CONF A1 - Noack, Matthias T1 - OpenCL in Scientific High Performance Computing: The Good, the Bad, and the Ugly T2 - Proceedings of the 5th International Workshop on OpenCL N2 - For writing a new scientific application, portability across existing and future hardware should be the major design goal, as there is a multitude of different compute devices, and programme codes typically outlive systems by far. Unlike other programming models that address parallelism or heterogeneity, OpenCL does provide practical portability across a wide range of HPC-relevant architectures. Other than that, it has a range of further advantages like being a library-only implementation, and using runtime kernel-compilation. We present experiences with utilising OpenCL alongside C++, MPI, and CMake in two real-world scientific codes. Our targets are a Cray XC40 supercomputer with multi- and many-core (Xeon Phi) CPUs, as well as multiple smaller systems with Nvidia and AMD GPUs. We shed light on practical issues arising in such a scenario, like the interaction between OpenCL and MPI, discuss solutions, and point out current limitations of OpenCL in the domain of scientific HPC from an application developer's and user's point of view. Y1 - 2017 UR - https://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/6619 SP - 12:1 EP - 12:3 ER -