Over the last decade, most of the increase in computing power has been gained by advances in accelerated many-core architectures, mainly in the form of GPGPUs. While accelerators achieve phenomenal performances in various computing tasks, their utilization requires code adaptations and transformations. Thus, OpenMP, the most common standard for multi-threading in scientific computing applications, introduced offloading capabilities between host (CPUs) and accelerators since v4.0, with increasing support in the successive v4.5, v5.0, v5.1, and the latest v5.2 versions. Recently, two state-of-the-art GPUs - the Intel Ponte Vecchio Max 1100 and the NVIDIA A100 GPUs - were released to the market, with the oneAPI and GNU LLVM-backed compilation for offloading, correspondingly. In this work, we present early performance results of OpenMP offloading capabilities to these devices while specifically analyzing the potability of advanced directives (using SOLLVE's OMPVV test suite) and the scalability of the hardware in representative scientific mini-app (the LULESH benchmark). Our results show that the vast majority of the offloading directives in v4.5 and 5.0 are supported in the latest oneAPI and GNU compilers; however, the support in v5.1 and v5.2 is still lacking. From the performance perspective, we found that PVC is up to 37% better than the A100 on the LULESH benchmark, presenting better performance in computing and data movements.
翻译:过去十年间,计算性能的提升主要源于加速型众核架构的进步,尤以GPGPU形式最为突出。尽管加速器在各类计算任务中展现出卓越性能,但其应用仍需代码适配与转化。为此,作为科学计算应用中多线程处理最通用的标准,OpenMP从4.0版本起引入了主机(CPU)与加速器间的卸载能力,并在后续的4.5、5.0、5.1及最新5.2版本中持续增强支持。近期,两款最先进的GPU——Intel Ponte Vecchio Max 1100与NVIDIA A100 GPU已投放市场,分别借助oneAPI和GNU LLVM后端实现卸载编译。本研究针对以上设备,基于SOLLVE的OMPVV测试套件重点分析高级指令的可移植性,并通过代表性科学迷你应用(LULESH基准测试)评估硬件可扩展性,首次呈现OpenMP卸载能力的性能测试结果。结果表明:最新oneAPI和GNU编译器已支持v4.5和v5.0中绝大多数卸载指令,但对v5.1和v5.2的支持仍显不足。从性能角度而言,PVC在LULESH基准测试中较A100性能提升高达37%,在计算与数据迁移方面均表现更优。