为什么不能将GPU作为多核处理器来进行并行计算任务呢?

为什么不能将GPU作为多核处理器来进行并行计算任务呢?

尤秀兰-牙好,胃口就好,身体倍儿棒,吃嘛嘛香。
尤秀兰 牙好,胃口就好,身体倍儿棒,吃嘛嘛香。

GPU(图形处理单元)是由英伟达公司设计的专门用于渲染3D图像的硬件,具有很强的并行性。每一帧图像都需要由GPU完成运算才能显示出来。但同时它并不适合用来执行通用的科学计算和机器学习工作负载。因为在大多数情况下,GPU 并不能像CPU一样高效地解决复杂的数学问题,比如矩阵乘法、高阶傅里叶变换等任务。而这些问题对于许多现代应用来说却至关重要。而且,虽然GPU拥有大量的并行性核心来进行计算和通信,但它们的性能也远远不如CPU,所以在对每个核心都要求高效执行的任务中,使用GPU并不是最优的选择。

评论/回答
在评论里试试@好友|或者#文章/问答吧~

用户评论(7)

精选 有用
精选
臧岩-建筑无限生活
臧岩 建筑无限生活

GPU可以快速地处理大量数据,因为它们拥有大量的运算核心。提出在使用GPU时不能通过直接运行代码和执行CPU指令的方式实现并行计算的原因:由于GPU的架构不同于CPU所以需要为GPU编写专用的C/C代码来利用其多核心的优势进行并行处理 此外,目前大多数商业化的GPU不支持通用编程模型(比如OpenMP)。

3个月前

迟金凤-传奇品质,百年张裕
迟金凤 传奇品质,百年张裕

因为GPU不能直接访问主内存。官方网站上并没有提供关于这个问题的详细说明,但可以根据现有的研究成果得出结论:首先,在CPU中存储和处理数据的速度是比GPU慢得多;其次,由于CPU和GPU结构不同(例如CPU只能进行单向计算而GPU能够同时进行多条指令)所以无法将两个不同的处理器集成到一个处理器上。

3个月前

宁玉珍-南方周末
宁玉珍 南方周末

显卡和CPU是两种不同的架构,不能直接转换使用。既然无法简单地将GPU转变为CPU的继任品 所以就无法将它们直接用于并行计算. GPU处理矩阵时在存储器上执行计算 CPU则可以在寄存器中同时进行多个操作 GPU有更大的并行度 但没有良指令集和缓存控制等机制.

3个月前

祝丽娟-Just
祝丽娟 Just

GPU 不适合用于复杂而耗时的科学计算,因为它们缺乏对这些数据结构的支持。不说内存分配、I/O和同步之类的事情了,在运行大量小的数据时,GPU也会面临很多问题。

3个月前

殷正平-果冻我要喜之郎
殷正平 果冻我要喜之郎

不能直接使用GPU作为多核处理器。无限制的GPU性能和内存带宽限制了其在单一进程中的速度,这意味着它们更适用于处理许多独立的任务而非单个任务。

3个月前

知多乐~-Sun是太阳,Java是月亮。
知多乐~ Sun是太阳,Java是月亮。

GPU是由大规模的SIMD运算单元组成,这些运算单元通常每个都包含4个或8个执行部件。

3个月前

毛秀英-更多选择、更多欢笑
毛秀英 更多选择、更多欢笑

GPU的物理核心数量远远少于CPU,但是它有大量的内存。ゃ╯b

3个月前