我正在实现一个简单版本的矩阵每矩阵乘法和矩阵每向量乘法与openblas与dgemm和dgemv。我发现openblas只在一个内核上运行。
我尝试添加用于编译的-lpthread,但这并不能使其工作。
我称之为dgemm和dgemv的方式很简单:
cblas_dgemv(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
cblas_dgemm(M, N, K, alpha, A, 1, M, B, 1, K, beta, C, 1, M);有没有人在多核上成功运行过openblas?
发布于 2017-08-27 14:16:49
您是否尝试过使用environment variables设置线程数
export OMP_NUM_THREADS=4如果不起作用,您可以通过以下函数设置openblas正在使用的线程数:
void openblas_set_num_threads(int num_threads);请参阅https://github.com/xianyi/OpenBLAS#set-the-number-of-threads-on-runtime
https://stackoverflow.com/questions/45857566
复制相似问题