为什么不能将GPU作为多核处理器来进行并行计算任务呢?
![尤秀兰-牙好,胃口就好,身体倍儿棒,吃嘛嘛香。](https://c.jqphone.com/cache/s/avatar/2023/ffPE2o8PVd5Ykrxg4Aw0e1XUXUT3IqqD.jpg)
尤秀兰
牙好,胃口就好,身体倍儿棒,吃嘛嘛香。
GPU(图形处理单元)是由英伟达公司设计的专门用于渲染3D图像的硬件,具有很强的并行性。每一帧图像都需要由GPU完成运算才能显示出来。但同时它并不适合用来执行通用的科学计算和机器学习工作负载。因为在大多数情况下,GPU 并不能像CPU一样高效地解决复杂的数学问题,比如矩阵乘法、高阶傅里叶变换等任务。而这些问题对于许多现代应用来说却至关重要。而且,虽然GPU拥有大量的并行性核心来进行计算和通信,但它们的性能也远远不如CPU,所以在对每个核心都要求高效执行的任务中,使用GPU并不是最优的选择。
GPU可以快速地处理大量数据,因为它们拥有大量的运算核心。提出在使用GPU时不能通过直接运行代码和执行CPU指令的方式实现并行计算的原因:由于GPU的架构不同于CPU所以需要为GPU编写专用的C/C代码来利用其多核心的优势进行并行处理 此外,目前大多数商业化的GPU不支持通用编程模型(比如OpenMP)。
6个月前
因为GPU不能直接访问主内存。官方网站上并没有提供关于这个问题的详细说明,但可以根据现有的研究成果得出结论:首先,在CPU中存储和处理数据的速度是比GPU慢得多;其次,由于CPU和GPU结构不同(例如CPU只能进行单向计算而GPU能够同时进行多条指令)所以无法将两个不同的处理器集成到一个处理器上。
6个月前
显卡和CPU是两种不同的架构,不能直接转换使用。既然无法简单地将GPU转变为CPU的继任品 所以就无法将它们直接用于并行计算. GPU处理矩阵时在存储器上执行计算 CPU则可以在寄存器中同时进行多个操作 GPU有更大的并行度 但没有良指令集和缓存控制等机制.
6个月前
GPU 不适合用于复杂而耗时的科学计算,因为它们缺乏对这些数据结构的支持。不说内存分配、I/O和同步之类的事情了,在运行大量小的数据时,GPU也会面临很多问题。
6个月前
不能直接使用GPU作为多核处理器。无限制的GPU性能和内存带宽限制了其在单一进程中的速度,这意味着它们更适用于处理许多独立的任务而非单个任务。
6个月前
GPU是由大规模的SIMD运算单元组成,这些运算单元通常每个都包含4个或8个执行部件。
6个月前
GPU的物理核心数量远远少于CPU,但是它有大量的内存。ゃ╯b
6个月前