gpt4 book ai didi

python - 为什么 Google Compute Engine 的计算优化 CPU 在 Python 中进行数字运算时比笔记本电脑慢

转载 作者:行者123 更新时间:2023-12-03 08:06:45 25 4
gpt4 key购买 nike

我在 Precision 5520 笔记本电脑和 Google Compute Engine 的 c2-standard-4 上运行以下代码:

import multiprocessing as mp
import time

def foo():
before = time.time()
sum = 0
for i in range(1, 100000000):
sum += i
print(time.time() - before, sum)

for i in range(mp.cpu_count()):
mp.Process(target=foo).start()

在这两种情况下,mp.cpu_count() 都是 4。然而,出乎我意料的是,笔记本电脑上的每次计算需要 5.2 秒,而 GCE 上则需要 8.6 秒。

笔记本电脑运行 Xeon E3-1505M v6 @ 3GHz。它是一款功能强大的 CPU,但我认为笔记本电脑的 CPU 无法与 Google HPC 服务器上的 CPU 进行比较(例如,由于热量限制)。

笔记本电脑上的Python版本是3.8.5。 GCE 的 Python 版本为 3.9.2。

为什么会这样?

更新根据@John Hanley的回复,我更改了Google Cloud Platform的配置,因此每个核心仅使用一个vCPU,时间现在为4秒而不是8.6秒。这是令人惊讶的,因为它似乎破坏了使用超线程的整个想法......

最佳答案

在您的笔记本电脑上,每个 CPU 核心都是两个超线程。

在云中,一个虚拟化 CPU (vCPU) 就是一个超线程。

在相同的主板、时钟速度、内存等条件下,您的笔记本电脑的每个 CPU 的等效 CPU 功率是其两倍。当您在云中配置 VCPU 时,您正在配置物理 CPU 核心的一半。

On Compute Engine, each virtual CPU (vCPU) is implemented as a singlehardware multithread on one of the available CPU processors. On IntelXeon processors, Intel Hyper-Threading Technology supports multipleapp threads running on each physical processor core. You configureyour Compute Engine VM instances with one or more of thesemultithreads as vCPUs. The specific size and shape of your VM instancedetermines the number of its vCPUs.

Google Cloud CPU Platforms

关于python - 为什么 Google Compute Engine 的计算优化 CPU 在 Python 中进行数字运算时比笔记本电脑慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72133067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com