Python 现在有什么工具可以直接打通到 fpga 技术栈的吗?

2023-05-13 02:48:50 +08:00
 LeeReamond

利益相关:

科班,上学时玩过 fpga ,玩得不好,除作业项目外没自己写过什么。目前 web 业务有一些计算需求,想起了 fpga ,没有生产上的压力,纯粹是带着玩票和学习的目的。

需求:

想问问有没有类似于 cython 、pyo3 这种地位的项目,就是加上一个三方库然后 python 就可以用 c++或者 rust 抽离出来写一些逻辑了。fpga 相关的有类似的东西吗?

===

顺便问一下 fpga 用得好的大哥,我们这里场景主要是大矩阵计算的优化,是不是用 fpga 优化类似场景本身意义不大,我印象里学习时候用的 fpga 内存都非常小的,能不能装下是个问题,还有 IO 延迟比计算延迟还大也是个问题。

2302 次点击
所在节点    Python
13 条回复
Donahue
2023-05-13 03:14:08 +08:00
矩阵计算不是用 cuda 之类的加速比较方便吗,pytorch 试试可能好点吧
gtx990
2023-05-13 08:23:16 +08:00
你真的觉得 300mhz 的 fpga 做矩阵计算能比 2ghz 的 gpu 强么
abutter
2023-05-13 08:30:52 +08:00
如果是为了实际生产,GPU 总体上比 FPGA 强太多。GPU 开发工具齐全,调试方便,入门门槛低,迭代方便。

如果是为了玩票,出了 HLS 之外,大部分的 FPGA 开发的语言还是描述语言,就是要描述电路。FPGA 在做电路接口比 FPGA 有优势。
levelworm
2023-05-13 08:38:11 +08:00
@abutter 求问 GPU 除了图形和 AI ,还能做点啥好玩的?
r6cb
2023-05-13 09:13:45 +08:00
swig ,你可以用 c++实现然后封装接口给 python 调用
antonius
2023-05-13 10:10:14 +08:00
@levelworm GPGPU (OpenCL, CUDA)
masterjoess
2023-05-13 10:15:53 +08:00
PYNQ(ZYNQ)?
但我选 cuda
除非要玩其他硬件扩展, 如: 射频, ADC, 音视频信号, 等
买张正常点的 FPGA 板子, 不一定比中高端显卡便宜啊
nevin47
2023-05-13 10:24:24 +08:00
我们一般用 FPGA 往往是为了验证设计,你如果说未来你可以找芯片厂商把你的设计加进去,要不然你用 FPGA 还不如用 GPU 来的实际,不过玩票和探索的话,倒是值得折腾一下的
acctv2
2023-05-13 23:59:44 +08:00
大矩阵计算上 CUDA 就行了。FPGA 都是用在实物平台搭建对实时计算要求高的。
abutter
2023-05-14 09:51:07 +08:00
@levelworm GPU 的强项是并行编程啊,做并行计算的加速器。图形和 AI 都是建立在这上面的。
abutter
2023-05-14 09:53:46 +08:00
@levelworm 如果你需要一个提示,举例来说,跑密码字典。有人用 GPU 加速存储用到的 hash 算法。
ch2
2023-05-14 11:22:17 +08:00
fpga 的主频很低的,调试也非常麻烦,cuda 事半功倍
levelworm
2023-05-14 19:36:43 +08:00
@abutter 多谢,这倒是。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939661

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX