您好,我使用了两个版本的python做了测试,发现传入n_jobs参数均无法实现满负载的多核并行计算,每个核心占用平均~40%。

作为对照,同样的数据和配置使用sklearn-RandomForest测试,python 3.8下能够实现满负荷计算,且有效缩短计算时间,python 3.7下负载只有~60%,效率提升有限。

版本信息:
CPU: AMD EPYC 7532 (64C128T)
MEM: DDR4 2666 128G (4 channels)
OS: Windows Server 2022
测试信息:
python 3.7 & 3.8
numpy 1.12 & 1.23
n_jobs=-1 & 8 & 32 & 60