CUDA 中三大组件 blockIdx blockDim threadIdx CUDA 中三个关键组件 blockIdx blockDim threadIdx 在CUDA编程模型中,blockIdx、blockDim和threadIdx是用来确定线程在GPU上的位置和维度的三个关&
简单易懂的 im2col + GEMM 移动端推理框架 卷积加速之 im2col + GEMM im2col + GEMM 优缺点以及适用的场景 优点: 易于理解和实现。 将卷积转换为矩阵乘法后,可以利用高度优化的 BLAS 库(如 cuBLAS)进行计算。 缺点: <
对 ncnn 中 element packing 的理解 移动端推理框架 arm neonelemsizeelempackfloat64x2_t162float32x4_t164int32x4_t164float16x4_t84int8x8_t88float64x2_t 是 arm neon 指令集中的一种数据类型,表示一个由两个浮点数组成的向量。每个浮点数的精度均为 6
arm linux 开发---交叉编译 在 x86平台 编译出能在 arm平台 运行的二进制文件需要用到工具native compilation 所需的一些工具sudo apt-get install gccgcc 是 native compilation 所需的工具,她可以将程序从源代码编译成processor 能理解的 machine
ncnn && opencv 编译安装 移动端推理框架 Set environment variables. Run:export ncnn_DIR=YOUR_NCNN_PATH/build/install/lib/cmake/ncnn
浅尝神经网络量化 移动端推理框架 量化的概念概念:把高位宽(高精度浮点数,大概1E-38 ~ 1E38)所表示的 权值 和 激活值用更低位宽(比如低精度8比特定点,0~255,-128~127)来近似表示Float32 ---> int8 / uint8优点:定点运算指令比float32运算指令,单位时间能处理更多的数据模型大
浅尝 计算图优化&&算子融合 移动端推理框架 针对模型做图优化就两个目的减少计算图中的 node 数量不管是算子融合,还是无效节点去除,共同的目的就是减少整个 graph 中 node 的数量,因为对于框架来说,从一个 node 到另一个 node 之间就意味着数据的搬运。适配硬件的限制对于一些通用硬件来说基本没什么问题,但是有些硬件设备对算子
查找与B/B+树 基础算法 查找的基本概念平均查找长度 ASL = 每个元素 查找概率 找到第i个元素需要进行的比较次数的和。查询效率 主要取决于比较次数。顺序查找法一般线性表的顺序查找a. 若每个元素查找概率相同,则ASL 成功 (1 + 2 + ... + n) / n = (n + 1) / 2