Reticulate 不在 docker 内创建多个线程?
Reticulate not creating multiple threads inside docker?
下面的R脚本有什么原因吗
library(reticulate)
sk <- import('sklearn')
np <- import('numpy')
a <- np$random$random(c(as.integer(5000), as.integer(5000)))
pca <- sk$decomposition$PCA(as.integer(100))
pca$fit(a)
当我在本地尝试时在 4 个内核上运行,但它在 docker 容器中仅使用 1 个内核?
我正在使用 --cpuset-cpus="0-3"
并通过 运行 验证了 python 中的相同任务,容器可以访问所有 4 个核心。我还尝试了很多其他的东西,但我似乎无法找出这种行为的原因。有人知道吗?
原来是 ubuntu 上 numpy 的多线程问题。我切换到基于 Arch Linux 的 docker 图像并且工作正常。
下面的R脚本有什么原因吗
library(reticulate)
sk <- import('sklearn')
np <- import('numpy')
a <- np$random$random(c(as.integer(5000), as.integer(5000)))
pca <- sk$decomposition$PCA(as.integer(100))
pca$fit(a)
当我在本地尝试时在 4 个内核上运行,但它在 docker 容器中仅使用 1 个内核?
我正在使用 --cpuset-cpus="0-3"
并通过 运行 验证了 python 中的相同任务,容器可以访问所有 4 个核心。我还尝试了很多其他的东西,但我似乎无法找出这种行为的原因。有人知道吗?
原来是 ubuntu 上 numpy 的多线程问题。我切换到基于 Arch Linux 的 docker 图像并且工作正常。