begin
来源:互联网 发布:淘宝店铺如何上传图片 编辑:程序博客网 时间:2024/06/10 19:07
参考 [1] http://blog.csdn.net/stn_lcd/article/details/77483224
[2] http://blog.csdn.net/stn_lcd/article/details/77374468
计划 maxpool, slice用 指令实现
armv7 16个128位寄存器
1. 数据类型命名
type
size
xnum
_t
- type: float,int,uint
- size:float- 32, int,uint - 8,16,32,64
- num: size x num = 64/128
example: uint16x8_t
,float32x4_t
2. 函数命名
v
op
_type
- op: 操作 add,dup,mul,mla
- dt:
- type: u8,u19,f32,s8(int8),s16(int16),s32
example: vmal_f32
,vmlaq_f32
,vmlal_u32
,vaddw_s32
,vmovn_u64
,
3. 的
3. 例子
1. 初始值
float temp[4]={0.f};float32x4_t temp=vdupq_n_f32(0.f);
_n: 因为 源数据有标量(0.f), 目标数据是向量
q: 因为目标数据32x4=128
2. 拷贝数组数据
float A_copy[4]=A[i:i+4]float32x4_t data=vld1q_f32(A+i);int B_copy[4]=B[i:i+4];int32x4_t data=vld1q_s32(B+i);
ld1 : load one vector
q : 32x4=128 (f32,s32)
3. 加乘
// addout=vaddq_s32(src1,src2);// cfor i in range(4) temp[i]+=(data1[i]*data2[i])// neontemp=vmlaq_f32(temp,data1,data2)
4. gemm
算数操作 ===========================add,submax,minmul 乘, mla 乘加, mls 乘减neg 负数abs 绝对值比较操作 ===========================c表示 compareceq = (equal)cge >= (greater equal)cage ||>= (absolute value >=)cle <= (less equal)cale逻辑运算 =====================andorr (or)加载储存操作 ========================ld1 从内存加载数据到1个向量中 (load ->ld)ld2 从内存加载数据到2个向量中ld3 从内存加载数据到3个向量中ld4 从内存加载数据到4个向量中特殊操作 ==========================dup 复制值
阅读全文
0 0
- BEGIN...
- Begin!
- begin
- Begin
- Begin!
- begin
- BEGIN
- Begin
- Begin
- begin!
- begin
- Begin
- begin
- begin
- Begin
- begin
- begin?
- Begin
- ZooKeeper-ExpiryQueue详解
- Android知识图谱
- jar javac javadoc javah分别是什么?
- python中访问限制
- HDU 6178 && 2017 多校训练:Monkeys(DFS)
- begin
- 【安卓学习笔记】JAVA基础Lesson3-面向对象和类
- Android输入系统笔记
- 同时安装jdk1.7 和 1.8,自由切换
- css 加号 选择器 加号 选择临近紧贴后面的一个元素
- redis面试总结
- 将html里面的img标签拼上全路径
- 使用JDBC获取与mysql的连接
- netty初步学习