Parallel processing 哪些区域可以通过FPGA和GPU进行加速

Parallel processing 哪些区域可以通过FPGA和GPU进行加速,parallel-processing,gpgpu,fpga,hardware-acceleration,Parallel Processing,Gpgpu,Fpga,Hardware Acceleration,我正在尝试使用FPGA/GPU加速我的任何软件。在这两种选择中我有点困惑。哪些区域适合FPGA,哪些区域适合GPU类图像处理适合GPU。另外,最好知道哪些区域可以加速20倍以上。我对GPU更感兴趣,因为它们价格便宜,编程也比FPGA容易FPGA和GPU之间的主要区别在于,事实上今天GPGPU就像CPU一样。它可以轻松地处理指针、函数,并且所有编程都很简单,因为CUDA/OpenCL使用一些C/C++集合,例如OpenCL使用C99+一些特殊函数 FPGA更面向硬件。您可以定义门和整个逻辑,这会更

我正在尝试使用FPGA/GPU加速我的任何软件。在这两种选择中我有点困惑。哪些区域适合FPGA,哪些区域适合GPU类图像处理适合GPU。另外,最好知道哪些区域可以加速20倍以上。我对GPU更感兴趣,因为它们价格便宜,编程也比FPGA容易

FPGA和GPU之间的主要区别在于,事实上今天GPGPU就像CPU一样。它可以轻松地处理指针、函数,并且所有编程都很简单,因为CUDA/OpenCL使用一些C/C++集合,例如OpenCL使用C99+一些特殊函数

FPGA更面向硬件。您可以定义门和整个逻辑,这会更快,并且有并行性,但它是通过不同的方式实现的

当FPGA具有恒定的数据流加密、视频解码等功能时,它在串行操作方面表现得更好,。。。当重新编程不是偶然的时候。您可以关闭机箱中的FPGA,让它只通过连接输入、输出电缆和电源来完成其工作

GPGPU总是通过PCI express连接,向其发送程序是常见的游戏使用一组着色GPU程序,这些程序切换很快,因此它更像是批处理设备。如今,GPGPU拥有大量的RAM和内核/多处理器,因此它实际上更像CPU而不是FPGA

可能还有一个,但我记不清更多的事情了,FPGA会快很多。除了解密,我不知道还有什么需要,但这需要大量不同的位操作。GPU专门处理浮点和整数,32位浮点和整数值,但是当你需要做一些二进制魔术时,它们的速度非常慢。只要利用FPGA架构,这种二进制魔术就可以在一个刻度内并行完成

在GPU中,你必须对每一个二进制运算进行除法,或者,XOR,…,研究它们的顺序


Tl,dr:如果您对FPGA没有特殊需求,请选择GPGPU。

看看OpenCL,应该没有任何地方可以实现20或更多的加速。如果是这样,测量方法的选择就不公平了。例如,许多CPU-GPU公司使用C代码而没有进行任何优化,或者只使用-O1。