Language Agnostic Approach for Unification of Implementation Variants for Different Computing Devices

Parallel Processing and Applied Mathematics(2023)

引用 1|浏览1
暂无评分
摘要
Scientific software used on high performance computing platforms is in a phase of transformation because of combined increase in the heterogeneity and complexity of models and hardware platforms. Having separate implementations for different platforms can easily lead to combinatorial explosion, therefore, computational science community has been looking for mechanisms to express code through abstractions that can be specialized for different platforms. Some approaches have met success through the use of template meta-programming in C++. However, their reliance upon C++ makes these approaches inaccessible to non C++ codes. In this paper, we describe a language agnostic methodology using macros that not only mimics the behavior of templates as applied in the abstractions, but also allows the use of code components as building blocks to explore implementation variants. We have successfully applied this methodology to Flash-X, a new multiphysics multicomponent code with many Fortran legacy components.
更多
查看译文
关键词
Performance Portability, Implementation Variants, Program assembly
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要