暂无图片
FPGA与GPU的区别是什么?
我来答
分享
S
ssdandan
2022-10-17
FPGA与GPU的区别是什么?

FPGA与GPU的区别是什么?是体系结构的区别?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
李宏达

FPGA 和GPU 最大的区别在于体系结构,FPGA 更适合做需要低延迟的流式处理,GPU 更适合做大批量同构数据的处理。

  • FPGA

FPGA 是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array,中文名是现场可编程门阵列。
FPGA常年来被用作专用芯片(ASIC)的小批量替代品,然而近年来在微软、百度等公司的数据中心大规模部署,以同时提供强大的计算能力和足够的灵活性。

  • GPU

CPU、GPU 都属于冯·诺依曼结构,指令译码执行、共享内存。冯氏结构中,由于执行单元(如 CPU 核)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此 GPU 使用 SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,CPU 也支持 SIMD 指令。

暂无图片 评论
暂无图片 有用 0
人工智能技术与咨询

1.FPGA 是一种硬件可重构的体系结构。它的英文全称是 **Field Programmable Gate Array** ,中文名是 **现场可编程门阵列** 。FPGA就是一个可以通过编程来改变内部结构的芯片,FPGA常年来被用作专用芯片(ASIC)的小批量替代品,
同时也在微软、百度等公司的数据中心大规模部署,以同时提供强大的计算能力和足够的灵活性,本质上是无指令、无需共享内存的体系结构。
而GPU属于冯·诺依曼结构,指令译码执行、共享内存。
2.FPGA 同时拥有流水线并行和2.数据并行,而 GPU 几乎只有数据并行(流水线深度受限)。
FPGA流水线与数据并行处理:
例如:处理一个数据包有 10 个步骤,FPGA 可以搭建一个 10 级流水线,流水线的不同级在处理不同的数据包,每个数据包流经 10 级之后处理完成。每处理完成一个数据包,就能马上输出。
GPU数据并行处理:
而 GPU 的数据并行方法是做 10 个计算单元,每个计算单元也在处理不同的数据包。
总结一句话,很多算法如果用纯软件实现,需要很多条指令才能完成。
如果用FPGA,只需要在有限个时钟周期即可完成,速度快的不是一星半点。
学习可关注:人工智能技术与咨询,更多详情可咨询175-3102-1189,或到我司官网了解:https://www.chinaai.org.cn/
联系人:申老师;qq群:189696007;手机:17531021189(v同号)。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏