heterogeneous

软件框架决定了软件的生命力,其最主要特征是软件功能的适应性,具体包括理论建模支撑、计算模块、 逻辑流程控制和数据分析等模块.随着计算机硬件特性和软件编程语言的发展,许多科学计算软件已不能很好 地适应应用需求,大部分问题是软件的原框架受到冲击导致的.如原有程序采用 Fortran语言编写,后来为了适应 新的运行环境改用 C++实现大规模设计,又需要新的 C++11 改进编程效率,导致软件框架不稳定.其次早期采用 OpenMP 为主的多 CPU 核计算模型,需要转为异构 OpenCL 计算模式;另外由于新的加速设备,原来的 CUDA 程 序可能需要改造为 OpenACC 并行编程方式.以上问题在高性能计算软件的设计中普遍存在,内在原因为软件并 行计算模式较多,硬件体系结构差异大. 对于高性能计算软件来说,优秀的软件框架可提高编程开发效率,适应新的软件需求和用户服务推广.如何 以不变的设计原则应对多变的软件需求是一个关键问题.对于软件框架来说,分层式设计常用方式如通用并行 软件 JASMIN 和格点 QCD 应用软件 Chroma.但从异构计算这方面考虑,面向异构计算环境有机统一计算模拟 的各方面是根本性解决问题,如统一处理器核计算、主存和加速内存管理和网络通信等三大模块,屏蔽异构计 算带来的差异性可以使上层软件设计保持不变性;当前 Khronos 组织发表的 SYCL 规范[36]和 Intel oneAPI[37]正 在建立面向异构计算环境的统一编程接口,SYCL 底层基于 OpenCL 跨平台异构 API 规范,基于 SYCL 的 DPC++ 作为 Intel oneAPI 的主体,已经实现了 Intel GPU 和 Nvidia GPU 的异构加速计算;针对 AMD GPU 常用选择 ROCm 框架下的 HIP 编程方式,而 HIP 实际上能够兼容 CUDA 在 Nvidia GPU 上编译运行,另外,值得注意的是,基于 HIP 也可以实现 SYCL 统一规范[38].

 

 

 

 

 

 

 

 

 

libiomp5,libgomp,libomp分别是intel、gnu和clang的OpenMP runtime library

 

-acc

https://blog.csdn.net/AAAA202012/article/details/122644357

http://t.zoukankan.com/huty-p-8517023.html

posted @   zJanly  阅读(214)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示