当前位置: 首页 > news >正文

详解FPGA:人工智能时代的驱动引擎观后感

详解FPGA:人工智能时代的驱动引擎观后感


本书大目录
第一章 延续摩尔定律
第二章 拥抱大数据的洪流
第三章 FPGA在人工智能时代的独特优势
第四章 更简单也更复杂——FPGA开发的新方法
第五章 站在巨人肩上——FPGA发展新趋势

文章目录

  • 详解FPGA:人工智能时代的驱动引擎观后感
    • 第一章 延续摩尔定律
      • 1. 为什么会诞生FPGA呢?
      • 2. GPU,CPU,和很多专用芯片都可以编程,FPGA与之有何不同?
      • 3. FPGA有什么优势?(为什么要用到FPGA?)
      • 4. 赛灵思ACAP(2020)
      • 5. 英特尔Agilex FPGA(2019)
    • 第二章 拥抱大数据的洪流
    • 第三章 FPGA在人工智能时代的独特优势
    • 第四章 更简单也更复杂——FPGA开发的新方法
    • 第五章 站在巨人肩上——FPGA发展新趋势
  • 收藏


第一章 延续摩尔定律

在学这一章节的时候,我抱着几个问题去书里寻找答案

1. 为什么会诞生FPGA呢?

由于最一开始的硬件芯片是逻辑门器件(或门、与门、异或门或查找表LUT等)固化在芯片上,不能进行修改,就行《三体》里的人型计算机,在确定好各个逻辑位置后,就不再改变,会一直按照当前设计的功能进行运行。这时就会有人提出为什么给这个芯片设计一个可以修改的功能,这就有了通过某种方式对逻辑门器件进行排列组合进行修改,这个想法就是FPGA最开始诞生的影子。

2. GPU,CPU,和很多专用芯片都可以编程,FPGA与之有何不同?

FPGA是对逻辑门器件进行编程,而专用芯片是基于当前硬件基础进行编程。例如FPGA在编程中只需要少量器件,就可以将其他不用的器件关闭,而其他芯片则不能控制硬件底层的编程。

3. FPGA有什么优势?(为什么要用到FPGA?)

原因1: 由于上一点所说的,FPGA可以控制底层逻辑门器件的编程,所以在专用器件流片之前,可以用FPGA进行逻辑和功能测试,直到满足专业器件功能且尽量用到最少器件的时候,再进行流片,这样会大大减小流片的成本以及元器件数量减小带来的成本。
原因2: EEPROM和闪存发明,使现场可编程(FP)成为了可能。这样以来就不需要将芯片返厂进行原本的紫外线设置光擦除修改电路,而是直接烧写即可修改芯片逻辑门器件的排列组合。
原因3: 在摩尔定律逐渐逼近极限,想要进一步延续低成本、低功耗、高速率的发展趋势,就需要不断通过FPGA创造和设计新颖的芯片架构和系统。又由于FPGA的异构计算,可以将乘法器、DSP单元、片上存储器等专业逻辑单元添加至FPGA,使其具有更多的应用场景。

4. 赛灵思ACAP(2020)

ACAP并不是FPGA,而是整合了硬件可编程逻辑单元、软件可编程处理器,以及软件可编程加速引擎的下一代计算平台,是赛灵思“发明FPGA以来最卓越的工程成就”
在这里插入图片描述
创新点1:采用来AI加速引擎,可以用来加速神经网络的计算时间和其他常见应用的数学计算和信号处理
创新点2:片上网络NoC,不仅减少布线压力,而且编译时只对修改部分进行编译,大大减小编译时长。
创新点3:可编程逻辑结构CLB面积增大四倍,因为内部连接比全局布线更快;查找表LUT增加一个输出。
创新点4:采用第四代3D硅片堆叠技术SSI,采用更多的互联通道,延时下降30%

ACAP官网介绍:

https://www.xilinx.cn/acap/

5. 英特尔Agilex FPGA(2019)

在这个大背景下,10nm Agilex FPGA应运而生。它既包含了传统FPGA灵活的可编程性,又结合了现代FPGA基于异构架构的敏捷性,因此能够同时适用于众多应用领域,并针对不同的应用场景进行配置和快速迭代。
在这里插入图片描述

创新点1: 与现有的英特尔FPGA相似,Agilex也使用了EMIB技术提供多个异构硅片之间的高速互连,特别是可编程逻辑部分与不同速度的收发器Tile之间的连接。
创新点2: 由于架构将逻辑阵列分为很多单元,因此时延较大。为了减小延时,Agilex对最小逻辑单元ALM做了不少架构升级。
创新点3:由于英特尔CPU很牛,所以FPGA的一个主要应用场景是在数据中心里作为CPU的硬件加速器,用来加速各类应用,如深度学习的模型训练、金融计算、网络功能卸载等。目前CPU的硬件加速器都是GPU。

Agilex FPGA官网介绍:

https://www.intel.cn/content/www/cn/zh/products/details/fpga/agilex.html

第二章 拥抱大数据的洪流

这一章主要介绍了FPGA在处理大数据中扮演什么角色。
后面继续更新

第三章 FPGA在人工智能时代的独特优势

第四章 更简单也更复杂——FPGA开发的新方法

第五章 站在巨人肩上——FPGA发展新趋势


收藏

IP核

相关文章:

详解FPGA:人工智能时代的驱动引擎观后感

详解FPGA:人工智能时代的驱动引擎观后感 本书大目录 第一章 延续摩尔定律 第二章 拥抱大数据的洪流 第三章 FPGA在人工智能时代的独特优势 第四章 更简单也更复杂——FPGA开发的新方法 第五章 站在巨人肩上——FPGA发展新趋势 文章目录详解FPGA:人工智能…...

Rest/Restful接口

Rest Rest的全称是Representational State Transfer 。Rest是一种架构风格。Rest有很多原则和限制: 客户端-服务端架构模式无状态可缓存统一接口分层系统按需缓存 Rest对我们开发人员来说基本上就是资源,我们一般通过URI表示我们请求的一个资源。例如&#xff1a…...

【vue init】三.项目引入axios、申明全局变量、设置跨域

教程目录 一:《【vue init】使用vue init搭建vue项目》 二:《【vue init】项目使用vue-router,引入ant-design-vue的UI框架,引入less》 三:《【vue init】项目引入axios、申明全局变量、设置跨域》 根据前文《【vue init】项目使…...

搭建nextcloud私有云盘

要搭建Nextcloud,需要在服务器上安装和配置Nginx、PHP和SQLite3。下面是一些基本步骤: 安装Nginx 可以使用包管理器进行安装。例如,在Ubuntu上可以运行以下命令: sudo apt update sudo apt install nginx配置Nginxwget -P /home/u…...

05 | 如何安全、快速地接入OAuth 2.0?

05 | 如何安全、快速地接入OAuth 2.0? 构建第三方软件应用 第一点,注册信息 小兔软件的研发人员提前登录到京东商家开放平台进行手动注册,以便后续使用这些注册的相关信息来请求访问令牌。兔软件需要先拥有自己的 app_id 和 app_serect 等信…...

nest.js学习笔记(一)

nest.js学习笔记(一)一、安装nest.js前置条件运行项目目录介绍二、nest.js cli 常用命令三、RESTful 风格设计1.接口url2.RESTful 版本控制四、获取前端传过来的参数1.获取Get请求参数2.获取Post请求参数3.动态路由4.获取Header信息5.自定义状态码nest.j…...

win下载配置CIC Flowmeter环境并提取流量特征

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、下载CIC Flowmeter二、安装java、maven、gradle和IDEA1.java 1.82.maven3.gradle4.IDEA三、CICFlowMeter-master使用四、流量特征1.含义2.获取前言 配了一整…...

【LeetCode刷题-Java/Python】二分查找

二分查找704.二分查找题目实现总结35.搜索插入位置题目实现34. 在排序数组中查找元素的第一个和最后一个位置题目实现69.x的平方根题目实现367. 有效的完全平方数题目实现704.二分查找 题目 题目链接 给定一个 n 个元素有序的(升序)整型数组 nums 和一…...

Linux 6.2 已正式发布

Linus Torvalds 发布了稳定的 Linux 6.2 内核,这是 2023 年的第一个主要内核版本。硬件方面,Linux 6.2 提升了 Intel Arc 显卡 (DG2/Alchemist) 的稳定性,真正做到开箱即用。英特尔的 On Demand 驱动程序现在状态良好,适用于第 4 …...

Kubernetes 101,第一部分,基础知识

已经有一段时间了,我想花点时间坐下来写写关于Kubernetes 的文章。时机已到。 简而言之,Kubernetes是一个用于自动化和管理容器化应用程序的开源系统。Kubernetes 就是关于容器的。 ❗如果你对什么...

企业级信息系统开发学习笔记1.7 基于XML配置方式使用Spring MVC

文章目录零、本节学习目标一、Spring MVC概述1、MVC架构2、Spring MVC3、使用Spring MVC的两种方式二、基于XML配置与注解的方式使用Spring MVC(一)创建Spring项目【SpringMVCDemo01】(二)在pom文件里添加相关依赖(三&…...

java反射,动态代理

1. 反射 1.1 反射的概述: ​ 专业的解释(了解一下): ​ 是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; ​ 对于任意一个对象,都能够调用它的任意属性和方法…...

React(六):Redux的使用、react-redux简化代码、redux模块化、RTK的使用

React(六)一、Redux测试项目搭建1.创建store仓库2.创建reducer函数(纯函数)3.constants.js保存action名字4.修改store中的数据5.动态生成action二、React中如何使用redux1.安装redux2.创建store3.组件中订阅store4.派发action修改…...

静态库和动态库的打包与使用

静态库和动态库 静态库和动态库的打包 生成可执行程序时链接使用 运行可执行程序时加载使用 提前声明,笔者示例的文件有mian.c/child.c/child.h。OK,我们先了解一下,库文件是什么?它其实就是打包了一堆实现常用功能的代码文件. ⭐…...

h264编码之SPS解析

一、概念 SPS即Sequence Paramater Set,又称作序列参数集。SPS中保存了一组编码视频序列(Coded video sequence)的全局参数。 二、定义 H.264标准协议中规定的SPS格式位于文档的7.3.2.1.1,如下图所示: 1、profile_idc 根据《T-REC-H.264-2…...

使用R语言包clusterProfiler做KEGG富集分析时出现的错误及解决方法

使用enrichKEGG做通路富集分析时&#xff0c;一直报错&#xff1a;显示No gene can be mapped....k <- enrichKEGG(gene gene, organism "hsa", pvalueCutoff 1, qvalueCutoff 1)但是之前用同样的基因做分析是能够成功地富集到通路&#xff0c;即便是网上的数据…...

框架——MyBatis的入门案例

框架概述1.1什么是框架框架&#xff08;Framework&#xff09;是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交与的方法&#xff1b;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义…...

hadoop兼容性验证

前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构&#xff0c;主要解决海量数据的存储和海量数据的分析计算问题&#xff0c;广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念–hadoop生态圈 Hadoop优缺点&#xff1a; 优点&#xff1a; 1、高可靠性&#x…...

运维提质增效,有哪些办法可以做

凡是代码&#xff0c;难免有 bug。 开发者们的日常&#xff0c;除了用一行行代码搭产品外&#xff0c;便是找出代码里的虫&#xff0c;俗称 debug。 随着移动互联网的快速发展&#xff0c;App 已经成为日常生活中不可或缺的一部分。但是在开发者/运维人员的眼里简直就是痛苦的…...

c++基础——结构体

结构体结构体&#xff08;struct&#xff09;&#xff0c;可以看做是一系列称为成员元素的组合体。可以看做是自定义的数据类型。定义结构体struct abc {int x;int y; } e[array_length];const abc a; abc b, B[array_length], tmp; abc *c;上例中定义了一个名为 abc 的结构体&…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

aardio 自动识别验证码输入

技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”&#xff0c;于是尝试整合图像识别与网页自动化技术&#xff0c;完成了这套模拟登录流程。核心思路是&#xff1a;截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...