我需要一些帮助来理解GPU上的内核与CPU中的内核的概念,以便进行并行计算。
说到CPU中的核心,看起来很简单。我有一个超级密集的“for”循环,迭代四次。我的Intel i5 2.26GHz CPU有四个内核。我给每个核心一个循环。四个循环中的每一个都独立于另一个。繁荣 - 我现在创建了四个线程和100%CPU使用率(而不是只有一个核心的25%CPU使用率)。我的“for”循环现在运行速度比没有并行化时快四倍。
相比之下,我甚至不知道我可以用于并行计算的笔记本电脑GPU(英特尔图形媒体加速器HD,或英特尔高清显卡,1696MB共享内存)中的内核数量。我甚至不知道将GPU与CPU进行比较的有效方法。当我在我的显卡描述中看到计算单位= 6时,我想知道这是否意味着显卡有6个用于并行化的内核,可以像CPU中的4个内核一样工作,除了GPU内核以500MHz [慢]运行2.26GHz [快]?
那么,请您填写我的知识中的一些空白或错误,或者帮助我比较两者?我不需要一个非常复杂的答案,就像“由于空白空白而无法将CPU核心与GPU核心进行比较”或“GPU核心不像CPU核心那样真正的核心”这样简单非常感谢。
答案 0 :(得分:0)
GPU核心在技术上与其设计中的CPU核心不同。 GPU内核针对矢量化代码的执行进行了优化,与CPU内核不同。因此,与CPU相比,CPU所获得的加速不仅取决于内核的数量,还取决于代码可以向量化的程度。您可以查看计算机GPU的规格以查找核心数量。您可以根据计算机上的GPU使用CUDA / OpenCL。