从零开始的 Rust 语言 blas 库之预备篇(1)—— blas 基础介绍
下一篇:从零开始的 Rust 语言 blas 库之预备篇(2)—— blas 矩阵格式详解
文章部分参考:https://blog.csdn.net/hehe199807/article/details/108365427
目录索引
前言
最近想着自己即将要踏入深度学习的领域发展,不能够只知其用法却不知道底层。
许多深度学习的模型,底层本质都是矩阵运算,于是突发奇想,打算自己移植一个线性代数库。凭借着之前的并行计算的基础,我选中了 blas 库,也是顺应了时代。
至于开发语言,我选中了 Rust 语言。一部分原因是我曾经参与过 rcore 项目,另一方面是 Rust 语言最近开始被 linux 社区接受了,我想也是时候支持这门新生语言了。
项目取名为 roblas,含义为 rust-only blas,项目地址为:https://github.com/rust-family/roblas
BLAS 基本说明
此处基本参考:https://blog.csdn.net/hehe199807/article/details/108365427
BLAS 库,即 Basic Linear Algrbra Subprograms,是进行向量和矩阵等基本线性代数操作的事实上的数值库。这些程序最早在 1979 年发布,是 LAPACK(Linear Algebra PACKage) 的一部分,便于建立功能更强的数值程序包。BLAS库在高性能计算中被广泛应用,由此衍生出大量优化版本,如 Intel MKL,AMD 的 ACML,ATLAS 等。在 cuda 计算领域,也有实现了相应接口的 cublas 库存在。
BLAS 构成
- BLAS1:支持向量与向量之间相关的操作。主要是为了编程方便,在实际计算中使用很少,因为不能在大多数机器上实现高性能。
- BLAS2:支持矩阵与向量之间相关的操作。在 O ( n 2 ) O(n^2) O(n

本文介绍了作者计划使用Rust语言移植BLAS库的背景及目标,并概述了BLAS的基本概念、构成及其在高性能计算中的应用。此外,还详细解析了BLAS函数和关键参数。
—— blas 基础介绍&spm=1001.2101.3001.5002&articleId=119329776&d=1&t=3&u=b915f167e50645d49450140c353b6866)
346

被折叠的 条评论
为什么被折叠?



