1. 概述
1.1. 编写目的
本文档主要用于介绍科学计算软件框架,并指导用户使用这一软件框架助力高性能科学计算(HPC)程序的开发和使用。
图 1.1 沐曦通用GPU通用计算架构
1.2. 科学计算软件框架介绍
MXMACA SDK集成了可靠的编译器、经过验证和优化的数学库、AI算子库、支持多卡互联的通讯库以及调试分析工具,旨在提供高效的高性能科学计算程序开发和使用的支持。
MXMACA编译器支持使用C和C++编程语言进行开发。使用C/C++进行GPU内核(kernel)编程可以结合driver API和runtime API,实现对GPU行为的精细控制,以最大程度地优化GPU调度,充分发挥GPU的性能潜力。 针对Fortran,可以使用Fortran与C/C++ GPU内核函数混编的形式,实现Fortran科学计算应用的GPU移植和加速。
HPC SDK提供了一系列经过验证和优化的数学库,如基本线性代数库mcBLAS、稀疏矩阵库mcSPARSE、线性方程直接求解器mcSOLVER、快速傅里叶变换(FFT)库mcFFT、随机数库mcRAND以及并行算法和数据结构库mcCUB、mcThrust等。 这些数学库的持续优化和扩展,旨在帮助用户在沐曦通用GPU平台上运行高性能科学计算程序,不断提升性能。
此外,HPC SDK以及经MXMACA充分验证的HPC应用,将通过Docker镜像的方式进行发布,简化了应用开发到部署的过程。 容器将SDK模块及其所有依赖的软件开发环境打包合并为一个软件包,使其在不受底层主机操作系统限制的情况下使用。
1.3. 适用产品
本文档适用于沐曦MXC500系列产品:曦云® C500、C500X、C550、C550‑PL、C588,曦思® N260,曦索® X206;以及MXC600系列产品:曦云® C600,曦思® N300,曦索® X301、X302。