KDB Q 和 jupyterlab 不在 peach 上使用从属设备

标签 kdb jupyter-lab

我正在运行一个 jupyter 笔记本 (3.6),并且在启动时启用了 20 个从服务器

"env":{"JUPYTERQ_SERVERARGS":"s-20"}

如果我在笔记本上检查一下,看起来一切都很好

\s
20i

但是,当我运行并行进程时,例如,

\t:100 {sqrt (200000?x) xexp 1.7} peach 10?1.0

我可以看到所有从站都使用相同的CPU。

如果我使用我在 runkernel .py 中指定的相同 q 二进制文件在从命令行启动的 q session 中运行相同的命令,它会将从属设备分布到所有可用的 cpu 上。

有人知道为什么 jupyterlab q session 只使用 1 个 cpu 吗?

编辑: 感谢卡勒姆和特里向我指出任务集。因此,最初任务集设置为掩码 8000000。我更改了该设置

system "taskset -cp 30-40 ",(string .z.i)
"pid 193048's current affinity list: 27"
"pid 193048's new affinity list: 30-40"

并重新运行上面的过程。现在所有任务仍在 cpu 28 上运行(这是之前使用的 cpu,尽管掩码将其设置为 27)。我还尝试设置 jupyter lab 本身的亲和性,但这对此也没有任何影响。

最佳答案

尝试以不同的方式指定服务器参数,它们会被解析为

SERVERARGS:getenv`JUPYTERQ_SERVERARGS

因此请尝试按如下方式指定它们

"env":{"JUPYTERQ_SERVERARGS":"-s 20"}

关于KDB Q 和 jupyterlab 不在 peach 上使用从属设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57751435/

相关文章:

jupyter-notebook - Jupyter 内核使用与 Conda 环境不同的 Python 版本

python - 如何解决错误 : ModuleNotFoundError: No module named 'jupyterhub'

python-3.x - 从 jupyter 实验室复制 matlibplot 绘图图像

python - 警告 : the scripts . ....... 安装在不在路径上的某个地方

python - Jupyter Lab 中未显示 Plotly 图表

python - qpython/pandas 从 kdb 接收空字符的问题

java - 如何使用 k() 函数在 kdb/q 中接收数据

kdb - 在 q 中删除/删除/删除变量

kdb+/q 数据透视表将多列变成单列?

node.js - NodeJS 的 Kdb+ 驱动程序