首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于jupyterlab服务器的CPU数量控制

用于jupyterlab服务器的CPU数量控制
EN

Stack Overflow用户
提问于 2020-11-19 12:37:05
回答 2查看 2K关注 0票数 2

我正在使用朱庇特实验室,我知道我有12个核心可用。目前,我只使用1,我想使用更多。我试图改变我使用的号码,把它写在终端上:

代码语言:javascript
复制
export JULIA_NUM_THREADS=7

但当我印刷时:

代码语言:javascript
复制
import threading
threading.activeCount()
>>>5

如何为我的jupyterlab笔记本提供更多的CPU?这真的不是我的领域,所以我很抱歉,如果说真的很简单,我只是不知道我做错了什么,从哪里开始。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-28 00:59:45

TLDD;无需配置。它对您是可用的,只需要对您想要并行运行的内容进行详细的代码编写。

JULIA_ACTIVE_THREADS是朱莉娅内核的配置选项,而不是Python的配置选项(运行笔记本代码的过程)。

除非你在容器内运行木星,否则你可以在你的系统中使用所有可用的内核。如果木星在一个容器或虚拟机中,它将使用你分配的东西,仅此而已。

请记住,默认情况下,运行木星内核时使用1内核。

当您运行threading.active_count()并获得1时,这意味着您在代码中使用了一个正在运行的线程。现代处理器可以为每个可用的核心使用多个线程。坏消息是,这并不是衡量您使用cpu有多好。

Python可以充当幕后并行工作的库的协调者(想想看numpy、熊猫、tensorflow……)。

如果您想编写使用超过一个线程和/或一个CPU的Python代码,请查看多进程模块

多预处理模块是标准库的一部分,您可以在木星内部使用它,而不会遇到麻烦。您可能会发现ProcessPool方法很有用(如果您想深入学习,有一个具有相同接口但支持在不同线程中使用GPU的pytorch.multiprocessing模块)。

票数 1
EN

Stack Overflow用户

发布于 2020-11-22 10:56:46

一些想法,但想发表评论,我不熟悉jupyter,只是“普通的python",所以这一切可能都走错了方向;):

  1. 据我所知,àctive_count (我认为您不应该使用旧的camelCase名称)只返回活动线程的数量,而不是可用的线程数量。因此,尝试添加更多的线程。我有一个四核,jupyter从5个线程开始,但我可以添加更多。
  2. 多线程多处理不一样(如果您想在不同的内核上运行,您必须使用多处理) (python线程与多进程),也许您正在寻找错误的东西?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64911796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档