snn前向推理时间计算(处理器实现)

公式

Tinf=(1−sparsity)×number of synapsesnumber of sub-processors×SIMD ways T_{\text{inf}} =\frac{(1-\text{sparsity})\times \text{number of synapses}} {\text{number of sub-processors}\times \text{SIMD ways}} Tinf=number of sub-processors×SIMD ways(1sparsity)×number of synapses

  • 含义:估算一次前向推理所需的时钟周期数(latency,以 cycle 计)。

各项代表什么

  • number of synapses:网络中需要参与计算的突触总数(密集层的连接数之和)。

  • sparsity数据稀疏度,指在当前输入下不会触发计算的连接占比(例如很多输入通道本轮没有脉冲)。因此

    • (1−sparsity)(1-\text{sparsity})(1sparsity)有效连接占比(会产生加和的连接)。
  • number of sub-processors:片上并行的子处理器个数(文中当前实现为 2),层内神经元在它们之间平均分配。

  • SIMD ways:每个子处理器的向量并行宽度(每拍可并行累加的突触数;文中为 4)。

  • 直观解释

    • 分子 = 需要执行的有效突触加和次数
    • 分母 = 每个时钟周期能同时完成的加和次数(总并行度)。
    • 所以 Tinf=总工作量每拍吞吐T_{\text{inf}}=\frac{\text{总工作量}}{\text{每拍吞吐}}Tinf=每拍吞吐总工作量

公式为什么成立

论文指出系统中其它阶段(SPI 接收、编码、解码、UART 发送)与突触电流计算∑ws\sum w sws并行/重叠执行,因而总延迟主要由突触累加主导。只要权重存储带宽能供上(当前设计:8-bit 权重,峰值每拍可取 8 个权重,即 2 个子处理器 × 4 路 SIMD),上式就给出推理时间的一阶估计。

小例子

若网络有 100,000 条突触,输入稀疏度 0.9(10% 有效),2 个子处理器、每个 4 路 SIMD:

  • 有效突触数 =(1−0.9)×100,000=10,000= (1-0.9)\times 100{,}000 = 10{,}000=(10.9)×100,000=10,000
  • 并行度 =2×4=8= 2\times 4 = 8=2×4=8
  • 周期数 =10,000/8=1,250= 10{,}000/8 = 1{,}250=10,000/8=1,250 cycles
    若时钟 22 MHz,则时间 ≈1,250/22M≈56.8 μs\approx 1{,}250/22\text{M} \approx 56.8\,\mu s1,250/22M56.8μs

注意点

  • 上式是理想化/带宽匹配下的估计;若出现访存冲突、排队或控制开销,实际 TinfT_{\text{inf}}Tinf 会更大。
  • 系统可存储的权重数(文中为 131,072 个 8-bit 权重)限制了可部署的突触总数,从而也限制了可达到的吞吐/延迟范围。

Reference:
G. Leone, M. Antonio Scrugli, L. Badas, L. Martis, L. Raffo and P. Meloni, “SYNtzulu: A Tiny RISC-V-Controlled SNN Processor for Real-Time Sensor Data Analysis on Low-Power FPGAs,” in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 72, no. 2, pp. 790-801, Feb. 2025, doi: 10.1109/TCSI.2024.3450966.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93830.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux------《操作系统全景速览:Windows·macOS·Linux·Unix 对比及 Linux 发行版实战指南》

(一)常见操作系统(system)电脑:Windows,Macos,Linux,UnixWindows:微软公司开发的一款桌面操作系统(闭源系统)。版本有dos,win98,win NT,win XP , …

Three.js 初级教程大全

本文档旨在为初学者提供一个全面的 Three.js 入门指南。我们将从 Three.js 的基本概念开始,逐步介绍如何创建场景、添加物体、设置材质、使用光照和相机,以及如何实现简单的动画和交互。通过本教程,你将能够掌握 Three.js 的核心知识&#xf…

遥感领域解决方案丨高光谱、无人机多光谱、空天地数据识别与计算

一:AI智慧高光谱遥感实战:手撕99个案例项目、全覆盖技术链与应用场景一站式提升方案在遥感技术飞速发展的今天,高光谱数据以其独特的光谱分辨率成为环境监测、精准农业、地质勘探等领域的核心数据源。然而,海量的波段数据、复杂的…

(LeetCode 面试经典 150 题) 114. 二叉树展开为链表 (深度优先搜索dfs+链表)

题目:114. 二叉树展开为链表 思路:深度优先搜索dfs链表,时间复杂度0(n)。 C版本: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : …

《线程状态转换深度解析:从阻塞到就绪的底层原理》

目录 一、线程的五种基本状态 二、线程从 RUNNABLE 进入阻塞 / 等待状态的三种典型场景 1. 调用sleep(long millis):进入 TIMED_WAITING 状态 2. 调用wait():进入 WAITING/TIMED_WAITING 状态 3. 等待 I/O 资源或获取锁失败:进入 BLOCKE…

面经整理-猿辅导-内容服务后端-java实习

部门管理系统设计 题目要求 设计部门 MySQL 数据表实现接口:根据中间部门 ID 获取其下属叶子部门 ID设计包含子节点列表的 Java 数据对象,并实现批量获取功能 一、MySQL 部门表设计 表结构 CREATE TABLE department (id BIGINT PRIMARY KEY AUTO_INCREME…

Openharmony之window_manager子系统源码、需求定制详解

1. 模块概述 Window Manager 模块是 OpenHarmony 操作系统的核心窗口管理系统,负责窗口的创建、销毁、布局、焦点管理、动画效果以及与硬件显示的交互。该模块采用客户端-服务端架构,提供完整的窗口生命周期管理和用户界面交互支持。 1.1架构总览 Window Manager Client 应…

《CDN加速的安全隐患与解决办法:如何构建更安全的网络加速体系》

CDN(内容分发网络)作为提升网站访问速度的关键技术,被广泛应用于各类互联网服务中。然而,在享受加速优势的同时,CDN也面临诸多安全隐患。本文将解析常见的CDN安全问题,并提供实用的解决办法,帮助…

【Linux指南】GCC/G++编译器:庖丁解牛——从源码到可执行文件的奇幻之旅

不只是简单的 gcc hello.c 每一位Linux C/C++开发者敲下的第一行编译命令,几乎都是 gcc hello.c -o hello 或 g++ hello.cpp -o hello。这像一句神奇的咒语,将人类可读的源代码变成了机器可执行的二进制文件。但在这条简单的命令背后,隐藏着一个如同精密钟表般复杂的多步流…

地区电影市场分析:用Python爬虫抓取猫眼_灯塔专业版各地区票房

在当今高度数据驱动的影视行业,精准把握地区票房表现是制片方、宣发团队和影院经理做出关键决策的基础。一部电影在北上广深的表现与二三线城市有何差异?哪种类型的电影在特定区域更受欢迎?回答这些问题,不能再依赖“拍脑袋”和经…

Spark03-RDD02-常用的Action算子

一、常用的Action算子 1-1、countByKey算子 作用:统计key出现的次数,一般适用于K-V型的RDD。 【注意】: 1、collect()是RDD的算子,此时的Action算子,没有生成新的RDD,所以,没有collect()&…

[Android] 显示的内容被导航栏这挡住

上图中弹出的对话框的按钮“Cancel/Save”被导航栏遮挡了部分显示&#xff0c;影响了使用。Root cause: Android 应用的主题是 Theme.AppCompat.Light1. 修改 AndroidManifest.xml 将 application 标签的 android:theme 属性指向新的自定义主题&#xff1a;<applicationandr…

分贝单位全指南:从 dB 到 dBm、dBc

引言在射频、音频和通信工程中&#xff0c;我们经常会在示波器、频谱仪或测试报告里看到各种各样的dB单位&#xff0c;比如 dBm、dBc、dBV、dBFS 等。它们看起来都带个 dB&#xff0c;实则各有不同的定义和参考基准&#xff1a;有的表示相对功率&#xff0c;有的表示电压电平&a…

怎么确定mysql 链接成功了呢?

asyncio.run(test_connection()) ✗ Connection failed: cryptography package is required for sha256_password or caching_sha2_password auth methods 根据你提供的错误信息,问题出现在 MySQL 的认证插件和加密连接配置上。以下是几种解决方法: 1. 安装 cryptography 包…

(5)软件包管理器 yum | Vim 编辑器 | Vim 文本批量化操作 | 配置 Vim

Ⅰ . Linux 软件包管理器 yum01 安装软件在 Linux 下安装软件并不像 Windows 下那么方便&#xff0c;最通常的方式是去下载程序的源代码并进行编译&#xff0c;从而得到可执行程序。正是因为太麻烦&#xff0c;所以有些人就把一些常用的软件提前编译好并做成软件包&#xff0c;…

VGG改进(3):基于Cross Attention的VGG16增强方案

第一部分&#xff1a;交叉注意力机制解析1.1 注意力机制基础注意力机制的核心思想是模拟人类的选择性注意力——在处理信息时&#xff0c;对重要部分分配更多"注意力"。在神经网络中&#xff0c;这意味着模型可以学习动态地加权输入的不同部分。传统的自注意力(Self-…

代理ip平台哪家好?专业代理IP服务商测评排行推荐

随着互联网的深度发展&#xff0c;通过网络来获取全球化的信息资源&#xff0c;已成为企业与机构在竞争中保持优势的一大举措。但想要获取其他地区的信息&#xff0c;可能需要我们通过代理IP来实现。代理IP平台哪家好&#xff1f;下文就让我们从IP池资源与技术优势等细节&#…

PWA》》以京东为例安装到PC端

如果访问 浏览器右侧出现 安装 或 点击这个 也可以完成安装桌面 会出现 如下图标

Linux系统:C语言进程间通信信号(Signal)

1. 引言&#xff1a;从"中断"到"信号"想象一下&#xff0c;你正在书房专心致志地写代码&#xff0c;这时厨房的水烧开了&#xff0c;鸣笛声大作。你会怎么做&#xff1f;你会暂停&#xff08;Interrupt&#xff09; 手头的工作&#xff0c;跑去厨房关掉烧水…

LoRa 网关组网方案(二)

LoRa 网关组网方案 现有需求&#xff1a;网关每6秒接收不同节点的数据&#xff0c;使用SX1262芯片。 以下是完整的组网方案&#xff1a;1. 网络架构设计 采用星型拓扑&#xff1a; 网关&#xff1a;作为中心节点&#xff0c;持续监听多个信道节点&#xff1a;分布在网关周围&am…