python - pymc3 不使用 OMP_NUM_THREADS 指定的所有内核
问题描述
我有一个用 pymc3 编写的拟合程序,它利用矩阵的点积,这些矩阵是随机变量的函数。在我编写程序的原始机器上,它会运行并且默认使用所有可用的内核,正如预期的那样。
但是,我最近开始使用一台全新的机器,包括干净安装的python和pymc3。不幸的是,这意味着系统的许多方面都与以前的机器不同,因此很难确定可能导致差异的原因。然而,令我困惑的是,新机器没有使用所有可用或指定的内核(CPU 使用率上限为 100%,而它应该自由浮动到 800%)。
我的 ~/.theanorc 有 openmp=True 和 OMP_NUM_THREADS=8。我的 .bashrc 将 OMP、MKL 和 GOTO 线程设置为 8 只是为了更好地衡量。在 theano/misc/ 中运行 check_blas.py 会显示 800% 的 CPU 使用率。什么可能导致 pymc3 应用程序无法以与机器相关的方式使用所有内核?
谢谢你。
解决方案
推荐阅读
- python - 使用 micro python 存储存储在 EV3 中的读取数据
- playwright - 剧作家组件测试
- javascript - 在 typescript 中导入 JSON 文件
- scala - Spark-Scala:如何比较不同长度字符串中的日期并返回最小值?
- sql-server - 使用 Microsoft SQL Server 的 SELECT 语句中的组计数子查询
- reactjs - 后退按钮未加载上一个组件
- ubuntu-18.04 - Gazebo 无法启动:Ubuntu 18.04 ROS 旋律
- amazon-cloudfront - 'script-src' 没有明确设置,但它是?
- typescript - 使用graphql代码生成器时如何将自定义标量类型映射到打字稿类型?
- python - 没有console.py的cmd操作