英特尔MKL' ddiagemv'多线程

时间:2018-04-16 12:56:26

标签: multithreading fortran openmp intel-mkl

我想将我的程序(SpMVM的解算器,以DIA格式存储的矩阵,用Fortran编写)与MKL进行比较。

我发现MKL例程export MKL_NUM_THREADS=4并且它在顺序上完美运行(我比MKL更快!)。但后来,我开发了我的程序的另一个版本,这次使用OpenMP。所以我环顾四周寻找一种让export MKL_DOMAIN_NUM_THREADS="MKL_BLAS=4多线程的方法,但我找不到任何东西。

即使我使用了export OMP_NUM_THREADS=1export MKL_DYNAMIC="FALSE"export OMP_DYNAMIC="FALSE"ddiagemvexport default function (url, options, timeout = 7000) { return Promise.race([ fetch(url, options), new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout) ) ]); } ,我得到的时间结果也与我一样按顺序执行。

某些MKL例程是否可以是多线程的,而其他例程则不是?如果import fetch from './fetchWithTimeout' // call as usual or with timeout as 3rd argument fetch('http://google.com', options, 5000) // throw after max 5 seconds timeout error .then((result) => { // handle result }) .catch((e) => { // handle errors and timeout error }) 可以是多线程的,我该怎么做?

0 个答案:

没有答案