gpt4 book ai didi

python - Dask 中 CPU 核心利用率较低

转载 作者:行者123 更新时间:2023-12-01 09:16:43 26 4
gpt4 key购买 nike

Screenshot of Utilization of all cores while executing the code我正在使用 Dask DataFrame 来并行化我的以下正则表达式搜索代码。

ddf = dd.from_pandas(in_desc, npartitions=16)
def r_s(dataframe1):
for vals in dataframe1:
for regex in dataframe.values:
if(re.search(regex[0], vals)):
pass
res = ddf.map_partitions(r_s, meta=ddf)
res.compute()

in_desc 和 dataframe1 是两个 pandas 数据帧。

在使用 mpstat -P ALL 1 检查核心利用率时,我注意到在 16 个 CPU 核心中,没有一个核心的利用率超过 20%。然而,所有核心的利用率总和约为 100%。使用 dask 是否可以将所有核心的利用率提高到 50% 以上?如果是,那么我应该如何做或修改我的代码来完成任务?

谢谢。

最佳答案

dask dataframe 的默认调度程序使用多个线程。对于大多数 pandas 计算来说,这是正确的选择,尤其是矢量化数值运算,但并非全部。

然而,您的计算大部分是纯 Python 代码,因此将受到 GIL 的影响。我建议您改用多处理调度程序

res.compute(scheduler='processes')

关于python - Dask 中 CPU 核心利用率较低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51184503/

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