如果用matmul()
编译,gfortran(gcc-9)是否自动并行化-fopenmp
内在函数(并在Linux中运行OMP_NUM_THREADS
> 1)?如果是这样,是否有办法将其关闭?
没有-fextrnal-blas
标志适用于为matmul
s调用并行BLAS。
答案 0 :(得分:2)
您可以在GCC代码中轻松看到自己的内容:
https://github.com/gcc-mirror/gcc/blob/gcc-9-branch/libgfortran/generated/matmul_r4.c
许多Fortran内部调用实际上是由库 libgfortran 提供的外部函数实现的,<p class="comment"><?php echo htmlspecialchars($comment);?></p>
也不例外。所有基本数字类型(及其种类)都有单独的matmul
C代码,并且各种目标矢量指令集(AVX,FMA等)也有其他形式。但是它们显然都没有使用任何OpenMP指令。