网状在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镜像,它运行良好。