为 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字典,键在冒号左边,值在冒号右边,值可以是数据值的列表。
我试图在 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字典,键在冒号左边,值在冒号右边,值可以是数据值的列表。