CPU 与 GPU 核心数量

问题描述 投票:0回答:2

我需要一些帮助来理解 GPU 上的内核与 CPU 中的内核的概念,以便进行并行计算。

说到 CPU 中的内核,似乎非常简单。我有一个超级密集的“for”循环,迭代四次。我的 Intel i5 2.26GHz CPU 有四个核心。我给每个核心一个循环。四个循环中的每一个都是相互独立的。 Boom - 我现在创建了 4 个线程,CPU 使用率达到 100%(而不是只有一个核心的 CPU 使用率 25%)。我的“for”循环现在的运行速度几乎是没有并行化时的四倍。

相比之下,我什至不知道笔记本电脑的 GPU(Intel Graphics Media Accelerator HD,或 Intel HD Graphics,具有 1696MB 共享内存)中可用于并行计算的核心数量。我什至不知道比较 GPU 和 CPU 的有效方法。当我在显卡描述中看到计算单元 = 6 时,我想知道这是否意味着显卡有 6 个用于并行化的核心,可以像 CPU 中的 4 个核心一样工作,只不过 GPU 核心以 500MHz [慢] 运行2.26GHz [快]?

那么,您能填补我知识上的一些空白或错误,或者帮助我比较两者吗?我不需要一个超级复杂的答案,就像“你不能将 CPU 核心与 GPU 核心进行比较,因为空白”或“GPU 核心并不像 CPU 核心那样真正是一个核心”这样简单的答案非常感谢。

gpu cpu cpu-architecture cpu-cores
2个回答
0
投票

GPU 核心在设计上与 CPU 核心在技术上有所不同。与 CPU 内核不同,GPU 内核针对矢量化代码的执行进行了优化。因此,与 CPU 相比,使用 GPU 获得的加速不仅取决于核心数量,还取决于代码可矢量化的程度。您可以检查计算机 GPU 的规格来查找核心数量。您可以根据您机器上的 GPU 使用 CUDA/OpenCL。


0
投票

在CPU中,核心是可以处理通用任务的中央处理单元。每个内核都可以独立执行自己的指令集。当您在 CPU 上并行化任务时,每个核心通常处理该任务的一个单独实例,并且它们可以同时工作。

另一方面,在 GPU 中,术语“核心”的用法通常与在 CPU 中不同。 GPU 核心通常称为 CUDA 核心或流处理器,更加专业化,专为并行处理特定任务(尤其是与图形相关的计算)而设计。与 CPU 内核相比,GPU 中的这些内核更轻量级且架构更简单。

CPU 和 GPU 核心之间的比较并不简单,因为它们有不同的用途。 CPU 内核专为通用计算而设计,而 GPU 内核针对并行性和特定类型的计算进行了优化,例如图形渲染或科学模拟中使用的矩阵运算。

此外,由于架构差异,CPU 和 GPU 内核之间的时钟速度(例如 500MHz 与 2.26GHz)无法直接比较。 GPU 核心针对并行性进行了优化,可以同时处理许多简单的任务,而 CPU 核心针对具有更高时钟速度的更复杂的任务进行了优化。

总而言之,由于 CPU 内核和 GPU 内核的架构和用途不同,因此无法直接进行比较。 GPU 中 CUDA 核心的数量并不等于 CPU 核心的数量。 GPU 擅长并行任务,使其适合某些类型的计算,例如图形渲染或深度学习,但它们对于通用计算可能不如 CPU 有效。

© www.soinside.com 2019 - 2024. All rights reserved.