从零开始的 Rust 语言 blas 库之预备篇(1)—— blas 基础介绍

本文介绍了作者计划使用Rust语言移植BLAS库的背景及目标,并概述了BLAS的基本概念、构成及其在高性能计算中的应用。此外,还详细解析了BLAS函数和关键参数。

从零开始的 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林地宁宁

谢谢你给宁宁打米哦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值