【ESWIN实习】一、熟悉kernel编译流程

本文记录了一位开发者在使用PINT SDK编译BLAS Level3矩阵乘法kernel过程中遇到的问题与解决,包括环境配置、版本切换、编译报错及最终成功。涉及Git分支管理、BLAS基础概念和Convolution2Dkernel的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务

以矩阵乘法kernel为例子。


一、初始编译实验

直接运行pint_sdk/core/kernels/blas/build.sh,会出现缺少一些头文件的报错,例如缺少:pintdev.h、pintmath.h等库。后尝试从Bitbucket上安装uaptool,由于缺少root权限,所以没有安装仓库中要求的依赖。

在这里插入图片描述
直接进行如下操作进行安装:

在这里插入图片描述
最后make install出现如下报错信息:

在这里插入图片描述
好像安装失败了?但是此时再执行./build.sh,竟然没有报错了?不知道我这个是否编译成功了呢?

在这里插入图片描述

二、更换服务器后再次编译

fpga03据说缺少一些环境信息,故更换fpga12再次进行尝试!

在这里插入图片描述

还是有报错,继续找问题…

在万工的帮助下,终于找到问题了,团队开发的最新代码都在dev-weekly分支上,不在master上,所以将分支切换到dev-weekly分支上即可编译通过!

git clone http://192.168.0.16:7990/scm/pan/pint_sdk.git
cd /home/xbwang/PINT/pint_sdk/core/kernels/blas
git status //查看分支状态
git branch -a //查看全部分支
git checkout remotes/origin/dev_weekly //切换到 dev_weekly 分支
git status //查看分支状态
./build.sh

编译成功截图如下:
在这里插入图片描述

疑问:

  • 1、同一个用户的不同服务器文件竟然都在?
  • 2、各个服务器的环境是不是不一样?
  • 3、BLAS LEVEL3是什么含义?

三、Convolution 2D 代码研读

官方文档整理版,可参考这里

三、BLAS Level geem(矩阵乘法) 代码研读

3.1、BLAS简介

BLAS【Basic Linear Algebra Subprograms,基础线性代数程序集】是一个应用程序接口【API】标准,用于规范发布基础基础线性代数操作的数值库【常用于向量或矩阵计算】。该程序集最初发布于1979年,并用于创建更大的数值程序包【例如:LAPACK】。在高性能计算领域,BLAS被广泛使用。

3.2、BLAS特点

1、BLAS按照功能被分为三个级别:

  • Level1:向量-向量计算,比如:点积【dot】,向量加法和乘法【axpy】,绝对值的和【asum】等。
  • Level2:向量-矩阵计算,比如:矩阵向量乘法【gemv】。
  • Level3:矩阵-矩阵计算,比如:矩阵乘法【gemm】。

2、每一种函数操作都区分不同的数据类型【单精度、双精度、复数】,比如:矩阵乘法分为sgemm【单精度一般矩阵乘法】、dsymm【双精度对称矩阵乘法】、zhemm【双精度复数埃米特矩阵乘法】。之所以要分这么多种,主要是针对每种不同类型的矩阵都要分别设计专门的算法,使得计算性能最优。

3.3、基本运算函数

在这里插入图片描述

:BLAS运算中的每个函数分为:单精度、双精度、复数和双精度复数4种类型。

3.3、Level1~3常见的运算函数

3.3.1、Level1:向量-向量计算

在这里插入图片描述

3.3.2、Level2:向量-矩阵计算

在这里插入图片描述

3.3.3、Level3:矩阵-矩阵计算

在这里插入图片描述

3.4、代码研读

注:命名前缀gemm-f32中,gemm表示矩阵乘法,f32表示float


参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

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

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

打赏作者

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

抵扣说明:

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

余额充值