diff --git a/sig/Hygon Arch/README.md b/sig/Hygon Arch/README.md index 0ede29ca155d1b68710382b584a3455081e83f4d..12c070d31083dea836a61690d1915f20158bb6ec 100644 --- a/sig/Hygon Arch/README.md +++ b/sig/Hygon Arch/README.md @@ -1,5 +1,5 @@ ## SIG目标 -致力于构建国产C86架构的软件生态,包括国密、可信计算、机密计算和虚拟化等。 +致力于构建国产C86架构的软件生态,包括国密、可信计算、机密计算、虚拟化和基础软件库等。 ## SIG详细介绍 C86处理器兼容市场主流的x86指令集,具有成熟而丰富的应用生态,内置专用安全硬件,支持通用的可信计算标准,能够进行主动安全防护。本小组计划在openAnolis社区软件支持C86处理器安全功能(机密计算、国密、可信等) @@ -23,6 +23,14 @@ jiangxin00, fenghao, BugKeeper, chench00, wojiaohanliyang, panpingsheng, poetic- - TDM(Trusted Dynamic Measurement)是海光基于安全处理器实现的轻量级动态度量,是特有功能。通过TDM可以实现对设定内存目标进行持续的周期性度量,及时发现程序异常,保护程序运行时安全;同时TDM通过独有的双重授权保护方式确保非授权用户无法篡改TDM内的度量任务设定,极大的增强了模块的安全性。 - TSB(Trusted Secure Boot)是除了上述TPCM/TPM/TCM之外另一个独立的由CPU硬件验证平台固件BIOS完整性的功能,验证基于数字签名。CPU上电或重启时,TSB首先验证颁发的OEM公钥证书,再用OEM公钥证书中的公钥验证BIOS固件的OEM签名,验证通过后才运行BIOS固件,从而保证BIOS固件的安全以及后续整个启动信任链的源头安全。 +- 高性能数学库 + - HML(Hygon Math Library)是基于海光CPU平台构建的一套高性能数学库,基于海光CPU架构特点极致优化,能够充分发挥海光CPU计算性能。 + - BLAS库:为HML子项,基础线性代数运算数学库(Basic Linear Algebra Subprograms),提供level1、level2、level3共几十个函数优化,该库可以用于HPC和AI。 + - SPARSE库:为HML子项,稀疏基础线性代数运算库(Sparse Basic Linear Algebra Subprograms),提供稀疏的向量和向量、稀疏的向量和矩阵、稀疏的矩阵和矩阵运算。 + - SMM库:为HML子项,小矩阵乘法运算库(Small matrix multiplication),提供小规模矩阵乘矩阵运算,在小规模下性能极致优化。 + - VML库:向量数学库(Vector Mathematical),向量的数学运算,包含幂函数、三角函数、指数函数、双曲函数、对数函数等,根据海光CPU特性深度优化,在保证精度的同时,性能达到最优。 + - VSIP库:矢量、信号和图像处理库(Vector Signal Image Processing),包含向量基础运算、矩阵基础运算、快速傅里叶运算等,提供视频、图像、信号处理的础软件算法和框架。 + ## 联系我们 使用海光安全功能时,遇到任何问题,请发邮件到`securitytech@hygon.cn`。 diff --git "a/sig/Hygon Arch/content/8-HML\344\275\277\347\224\250\346\226\207\346\241\243/1-HML\347\224\250\346\210\267\346\214\207\345\215\227\350\257\264\346\230\216.md" "b/sig/Hygon Arch/content/8-HML\344\275\277\347\224\250\346\226\207\346\241\243/1-HML\347\224\250\346\210\267\346\214\207\345\215\227\350\257\264\346\230\216.md" new file mode 100755 index 0000000000000000000000000000000000000000..157a39d520877e24525dc63c3a31ba0d669b6a43 --- /dev/null +++ "b/sig/Hygon Arch/content/8-HML\344\275\277\347\224\250\346\226\207\346\241\243/1-HML\347\224\250\346\210\267\346\214\207\345\215\227\350\257\264\346\230\216.md" @@ -0,0 +1,123 @@ +## HML + +### 简介 + +HML是基于海光CPU平台构建一套高性能的数学函数库,基于海光CPU架构特点极致优化,能够充分发挥海光CPU计算性能。 + +官方发布的 HML数学库位于 gitee 的 `hygon-devkit` 仓库,地址: + +```sh +git clone https://gitee.com/anolis/hygon-devkit.git +``` + +HML高性能数学库在hygon-devkit中的目录结构示意图如下: + +``` +hygon-devkit/ + ├─ hml + ├──pkg + │ └── hml_1.0.0 + │ + └── README.md + +``` + +* pkg目录:内含各版本hml高性能数学库。 +* README.md文件:有关HML的简单情况。 + + +### 安装与使用 + +#### 环境配置 + +确保gcc版本号>=8.5.0 +```sh +可以通过如下命令查看gcc版本号 +gcc -v +``` + +#### 安装 + +* 安装包命令规则 + +包命名规则如下: +hml----.. +如: +hml-1.0.0-2024-0320-rc.x86_64.rpm + +* RPM安装 +```sh +# 1. 安装 + sudo rpm -Uvh hml-1.0.0-2024-0320-rc.x86_64.rpm + +# 2. 检查是否安装成功 + rpm -qi hml + +# 3. 显示安装路径 + rpm -ql hml + +# 4. 卸载 + sudo rpm --verbose --erase hml +``` + +* DEB安装 +```sh +# 1. 检查DEB信息 + dpkg -I hml-1.0.0-2024-0320-rc.x86_64.deb + +# 2. 安装 + sudo dpkg -i hml-1.0.0-2024-0320-rc.x86_64.deb + +# 3. 检查安装是否成功 + dpkg -l hml + +# 4. 卸载 + sudo dpkg -r hml +``` + +* 安装路径 + HML库会被安装到/opt/hygon/目录下,包含blas、fft、smm、sparse、vml、vsip库。 + +#### 使用 + +* 添加HML库路径到环境变量 +```sh + export LD_LIBRARY_PATH=/opt/hygon:$LD_LIBRARY_PATH +``` + +* 链接HML库 +```sh +# 1. 链接BLAS库 + -L /opt/hygon/blas/lib -lblis-hg + +# 2. 链接FFT库 + -L /opt/hygon/fft/fftw_double/lib -lfftw3 + -L /opt/hygon/fft/fftw_single/lib -lfftw3 + +# 3. 链接SMM库 + -L /opt/hygon/smm/lib -lsmm-hg + +# 4. 链接SPARSE库 + -L /opt/hygon/sparse/lib -lhml_sparse-hg + +# 5. 链接VML库 + -L /opt/hygon/vml/lib -lvml-hg + +# 6. 链接VSIP库 + -L /opt/hygon/vsip/lib -lvsip-hg +``` + +### 使用指南 + +参考HML用户指南.pdf + +指南包含: + +* HML库介绍 +* HML库安装 +* HML_BLAS库接口和使用说明以及代码示例。 +* HML_SMM库接口和使用说明以及代码示例。 +* HML_SPARSE接口和使用说明以及代码示例。 +* HML_VML接口和使用说明以及代码示例。 +* HML_VSIP接口和使用说明以及代码示例。 + diff --git "a/sig/Hygon Arch/content/8-HML\344\275\277\347\224\250\346\226\207\346\241\243/HML\347\224\250\346\210\267\346\214\207\345\215\227.pdf" "b/sig/Hygon Arch/content/8-HML\344\275\277\347\224\250\346\226\207\346\241\243/HML\347\224\250\346\210\267\346\214\207\345\215\227.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..301cfe22092e62d339e13ee5e948064eda7d12f3 Binary files /dev/null and "b/sig/Hygon Arch/content/8-HML\344\275\277\347\224\250\346\226\207\346\241\243/HML\347\224\250\346\210\267\346\214\207\345\215\227.pdf" differ