gpt4 book ai didi

multithreading - 在不支持OpenMP的情况下构建BLAS,ATLAS和LAPACK

转载 作者:行者123 更新时间:2023-12-03 12:59:43 24 4
gpt4 key购买 nike

我一直在使用一些预编译的线性代数库,这些库使用OpenMP并行执行它们。

现在,我正在使用OpenMP进行一个项目,以并行化一些任务。因此,我设置了环境变量OMP_NUM_THREADS。

一些线程使用BLAS和LAPACK线性代数例程。这些库也是并行的,并查看环境变量OMP_NUM_THREADS以查看它们必须使用的线程数。

对于我的项目要求。我需要通过使用非并行BLAS和LAPACK实现来避免这种嵌套并行化。

什么是最好的库?如何构建?

提前非常感谢您。

最佳答案

您可以使用OpenBLAS。该库包括其LAPACK例程的一个版本,并且在线程方面非常灵活。

可以在compile time上定义线程数:

$shell> make USE_THREAD=0

或使用显式的 environment variable:
export OPENBLAS_NUM_THREADS=4

或在运行时使用 API库:
void openblas_set_num_threads(int num_threads);

关于multithreading - 在不支持OpenMP的情况下构建BLAS,ATLAS和LAPACK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40258838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com