设置OpenBLAS、MKL、OMP、NumExpr和Accelerate的线程数。
项目描述
numthreads
设置OpenBLAS、MKL、OMP、NumExpr和Accelerate使用的线程数
numthreads
是一个非常小巧且简单的Python包,旨在设置包括OpenBLAS、Intel的数学内核库(MKL)、OpenMP、NumExpr和Accelerate在内的各种计算库的线程数。线程数可以通过命令行或Python代码设置。许多数值算法的性能会因使用的线程数而显著变化。虽然增加线程数通常可以加速这些算法,但这并不总是如此。在某些情况下,使用更多的线程可能会实际上阻碍计算效率。因此,能够轻松设置这些库使用的线程数非常重要。
- 简单的直接命令行界面。
- 设置OpenBLAS、MKL、OpenMP、NumExpr和Accelerate的线程数。
- 支持Python代码中的临时线程设置上下文管理器。
- 跨平台兼容性(Linux、macOS、Windows)。
- 无依赖项。
:books: 目录
:package: 安装
要安装numthreads
,请运行以下命令
pip install numthreads
:rocket: 快速入门
几秒钟内开始使用numthreads
。
作为Python模块使用
您还可以将numthreads
作为Python模块使用
from numthreads import set_num_threads
set_num_threads(4)
这将使用以下环境变量设置线程数
- OpenBLAS(通过
OPENBLAS_NUM_THREADS
) - MKL(通过
MKL_NUM_THREADS
) - OpenMP(通过
OMP_NUM_THREADS
) - NumExpr(通过
NUMEXPR_NUM_THREADS
) - Accelerate(通过
VECLIB_MAXIMUM_THREADS
)
或者将其作为上下文管理器使用
from numthreads import num_threads
with num_threads(4):
# Your code here will run with the specified number of threads
pass
![警告] 由于环境变量是全局的,通常需要在导入任何库之前设置,建议在您的Python脚本开头设置线程数。
要随时设置OMP(OpenMP)线程,您可以使用omp_set_num_threads
或omp_num_threads
上下文管理器。
from numthreads import omp_set_num_threads
omp_set_num_threads(4)
或者
from numthreads import omp_num_threads
with omp_num_threads(4):
# Your code here will run with the specified number of threads
pass
命令行界面
安装numthreads
后,您可以通过命令行轻松设置由支持库使用的线程数。例如,要打印设置线程数为4的命令,请运行
numthreads 4
export OPENBLAS_NUM_THREADS=4 ; export MKL_NUM_THREADS=4 ; export OMP_NUM_THREADS=4 ; export NUMEXPR_NUM_THREADS=4 ; export VECLIB_MAXIMUM_THREADS=4
类Unix系统(Linux、macOS、WSL)
在您的shell中应用设置
eval $(numthreads <number_of_threads>)
Windows(PowerShell)
在PowerShell中,使用
Invoke-Expression $(numthreads <number_of_threads>)
:question: 获取帮助
有关更多信息或报告问题,请访问numthreads GitHub仓库。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
numthreads-0.4.0.tar.gz (6.9 kB 查看哈希值)
构建分布
numthreads-0.4.0-py3-none-any.whl (6.2 kB 查看哈希值)
关闭
numthreads-0.4.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 60863221aa2bfefe8220f4d636899c00d2e54d7c482ca67db54fa29cd0246a7b |
|
MD5 | 03f1bedf26315c93942182dd116010bb |
|
BLAKE2b-256 | 597b4827158700d490a5374974c3a28e326b6904558e3e8133e42511230b2091 |
关闭
numthreads-0.4.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2e83fb457a3c1dddc9b1bb5c599b4b9fa79a53f1f4fc37c4e08ba1da6ba8fd63 |
|
MD5 | 4a987f707047134967f761bdf7c95f82 |
|
BLAKE2b-256 | 18135dae65a15ff8f6ed2de5bc86bf8696163b8edbd6951611e81e0a82858a48 |