ARM
农夫山泉2号
关于交流可以发邮件:778961303@qq.com
展开
-
【Tengine端侧推理框架】——注册机制(一)
code:https://github.com/OAID/Tengine图片,代码都来自以上项目。1. 简介Tengine 由 OPEN AI LAB 主导开发,该项目实现了深度学习神经网络模型在嵌入式设备上的快速、高效部署需求。为实现在众多 AIoT 应用中的跨平台部署,本项目使用 C 语言进行核心模块开发,针对嵌入式设备资源有限的特点进行了深度框架裁剪。同时采用了完全分离的前后端设计,有利于 CPU、GPU、NPU 等异构计算单元的快速移植和部署,降低评估、迁移成本。2. Content.原创 2021-06-25 19:35:55 · 444 阅读 · 2 评论 -
【ARMV7】——一段armv7代码的注释
代码摘取自:https://github.com/BBuf/how-to-optimize-gemmcode"vld1.f32 {d16-d17}, [%1] \n" // vld1.f32, 从 %1 载入128bit // float *destptr1 = c + ldc;"vld1.f32 {d18-d19}, [%2] \n"// float *destptr2 = c + 2 * ldc;"vld1.f32 {d20-d21}, .原创 2021-06-23 15:54:33 · 317 阅读 · 0 评论 -
【arm】——tx2 float16测试
code: main.cc#include <arm_neon.h> // 重点包含这个头文件#include <stdlib.h>#include <iostream>int main(void){ int count = 100; float16_t* a = (float16_t *) malloc(count * sizeof(float16_t)); for (size_t i = 0; i < count; i++原创 2021-06-22 10:54:32 · 438 阅读 · 0 评论 -
【ARM】——Cortex-A57浮点峰值的计算
arm, cortex-a571. 什么是浮点峰值首先阅读这篇博客了解这个浮点峰值的概念。浮点峰值那些事儿2. cortex-a57浮点峰值的计算这里采用:https://github.com/Mengjintao/gflops_benchmark的code进行测试。这里其实有几个疑问:为什么要在一个循环里写几条命令硬件的浮点峰值怎么计算呢?跑起来只用了单核,那多核的flops又怎么计算呢?2.1 为什么要在一个循环里写几条命令这是单条指令的延迟有关,可以下载Cortex-A5.原创 2021-05-12 13:43:18 · 2556 阅读 · 2 评论 -
【arm例子2】——batchnorm
armv8, dupcode#include<stdio.h>#include<stdlib.h>#include<time.h>#include<arm_neon.h>#include<math.h>double get_current_time(){ struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_sec * 1000.0 .原创 2021-04-13 18:27:57 · 220 阅读 · 0 评论 -
【ARM】——dup使用注意事项
armv8, dup报错/tmp/ccPrZnMZ.s: Assembler messages:/tmp/ccPrZnMZ.s:111: Error: operand mismatch – `dup v0.4s,x3’/tmp/ccPrZnMZ.s:111: Info: did you mean this?/tmp/ccPrZnMZ.s:111: Info: dup v0.4s, w3/tmp/ccPrZnMZ.s:111: Info: other valid vari.原创 2021-04-13 16:52:16 · 914 阅读 · 0 评论 -
【arm例子1】——对数组求绝对值
armv8,c,neoncode#include<stdio.h>#include<stdlib.h>#include<time.h>#include<arm_neon.h>#include<math.h>double get_current_time(){ struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_sec * 1000..原创 2021-04-13 15:46:10 · 736 阅读 · 0 评论