为 Julia 的 Jupyter 笔记本更改 VS Code settings.json 中的线程

Changing threads in settings.json of VS Code for Julia's Jupyter Notebooks

我试图在 Jupyter notebook 上的 VS Code 中使用 Julia 的多线程,但我找到的所有帮助都表明 VS Code 扩展有一个漂亮的 GUI,可以让你在“Julia”下更改线程数: Num Threads" 在扩展程序的设置中,如下所示:

Picture of what Julia extension settings should look like.

但是,这对我不可用(Windows 10、Julia 1.7.2 和 VS Code Julia 扩展 v1.6.6)。相反,它说“在 settings.json 中编辑”,这是我完全不熟悉的。对我来说是这样的:

Picture of what settings actually looked like.

值得注意的是,打开 VS Code Powershell 并使用 $env:JULIA_NUM_THREADS=4 更改环境变量确实有效...但仅适用于 VS Code 中的终端,并且我的 VS Code Jupyter notebook 不受影响。

我需要在 settings.json 文件中添加什么来更改 VS Code Julia 扩展中 Jupyter notebook 的线程?

所以我想出了解决问题的方法。

快速修复(没有详细解释内容)

我点击了“Julia:Num Threads”下的“在 settings.json 中编辑”link,然后添加了这些行,

    "julia.NumThreads": 12,
    "settingsSync.ignoredSettings": [
        "-julia.NumThreads"
    ],

第一个和最后一个花括号之间(即最外面的花括号,{ ... }.

较长的答案

正在确定 CPU

上的线程数

我喜欢针对硬件特定限制手动设置线程数,因此我需要确定我的最大 CPU 线程数是多少。为此,我打开 PowerShell 并输入 wmic cpu get name,然后得到的结果是

Name
Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz

我将其复制到搜索引擎中,然后在 Intel.com 上的网页上单击了标题与处理器名称相同的 link。页面上有一个标题为“CPU 规格”的部分,其中“总线程数”列为 12

settings.json 文件示例和 JSON 语法的基本概述

例子

所以 settings.json 文件应该类似于,

{
    // There will probably be some other VS Code settings with a layout similar to 
    "nameOfFeatureInVSCode.specificSetting": true,

    // You might also see stuff with a list of values like
    "nameOfOtherFeature.settingThatCanUseMultipleValues": [
        "FirstStringSetting",
        "SecondStringSetting"
    ],

   // And all you need to do is add these lines
    "julia.NumThreads": 12,
    "settingsSync.ignoredSettings": [
        "-julia.NumThreads"
    ],

}

JSON

的基本概览

请注意,冒号 (: <value>) 后面的内容可以是布尔值、字符串、整数或其他数据类型,具体取决于特定设置。

如果您来自 Python,您会注意到 JSON 语法类似于 Python 中的词典语法,其中有 key-value 对.所以,像Python字典,键在冒号左边,值在冒号右边,值可以是数据值的列表。