安装KML_BLAS
操作步骤
- 获取KML_BLAS源码rpm包。
- 安装KML_BLAS。
rpm -ivh kml_blas-xxxx.src.rpm
- 进入源码包安装目录下的SPECS子目录。
cd ~/rpmbuild/SPECS
- 编译生成KML_BLAS的二进制安装包。
rpmbuild -bb kml_blas.spec
- 执行二进制包安装。
rpm -ivh ~/rpmbuild/RPMS/aarch64/kml_blas-xxxx.aarch64.rpm
安装结束后,系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录(即“/usr/local/kml/lib/kblas/[nolocking | pthread]”)。
上述命令中涉及的xxxx代表版本号。
安装后验证
- 退出当前终端重新登录。
- 查看环境变量LD_LIBRARY_PATH是否包含KML_BLAS的安装路径“/usr/local/kml/lib/kblas/xxx”(xxx:nolocking | pthread)。
env | grep LD_LIBRARY_PATH
如果变量包含安装路径,说明安装成功。
安装成功后安装路径(默认路径是“/usr/local/kml”)下会生成相应文件,其中,include文件夹包含了头文件,lib文件夹包含了KML_BLAS动态库文件。
使用时,请在GCC编译选项中添加路径-L /usr/local/kml/lib/kblas/nolocking(单线程)或-L /usr/local/kml/lib/kblas/pthread(多线程),并链接动态库-lkblas,添加编译选项后用ldd指令检查程序依赖库是否链接正确。
由于本数学库使用了内存池加速技术,内存分配大小与运行目标机器的CPU核数成线性关系,在编译期必须配置正确,配置方法:
在source/cmake/linux_arm64_toolchain.cmake配置文件中设置NUM_CORES变量,默认使用编译机器的CPU核数,当编译机器与目标运行机器不一致时需显式指定,推荐96核时NUM_CORES设置为96,内存池最大内存占用为6.75G;128核时NUM_CORES设置为128,内存池最大内存占用为9G(即告知编译系统指定运行环境的具体核数)。
特别注意:如果编译期指定的核数小于实际运行机器的核数,在多线程场景下可能会出现内存分配失败而导致的无法进行计算的问题。
父主题: 如何使用数学库