Matrix fortran编译blas程序错误

Matrix fortran编译blas程序错误,matrix,compilation,fortran,blas,Matrix,Compilation,Fortran,Blas,我是BLAS的新手,正在尝试编译使用BLAS进行矩阵乘法的Fortran程序。我有两个矩阵A和B integer, parameter :: RK = selected_real_kind(10,2) real(kind=RK),pointer :: A(:,:), B(:,:), C(:,:) 然后我将一些随机值放入其中并尝试乘法: call dgemm('N', 'N', N, N, N, 1.0_RK, A, N, B, N, 0.0_RK, C, N) N是两个

我是BLAS的新手,正在尝试编译使用BLAS进行矩阵乘法的Fortran程序。我有两个矩阵A和B

integer, parameter :: RK = selected_real_kind(10,2)
real(kind=RK),pointer :: A(:,:), B(:,:), C(:,:)
然后我将一些随机值放入其中并尝试乘法:

  call dgemm('N', 'N', N, N, N, 1.0_RK, 
        A, N, B, N, 0.0_RK, C, N)
N是两个矩阵的大小。所有参数都正确吗

我无法编译并获得以下错误:

  call dgemm('N', 'N', N, N, N, 1.0_RK, 
                                        1
Error: Syntax error in argument list at (1)
matrixmul.F90:44.2:

  A, N, B, N, 0.0_RK, C, N)
  1
Error: Unclassifiable statement at (1)

有什么问题?我应该使用指定的BLAS标志编译吗?我已将BLAS安装为。

您不能仅在Fortran中的新行上继续,必须指定要继续的行的结尾:

 call dgemm('N', 'N', N, N, N, 1.0_RK, &
        A, N, B, N, 0.0_RK, C, N)
在固定格式中,将第六列中的内容改为新行


没有特殊的BLAS标志,您只需告诉链接器您想要链接BLAS库。在我的操作系统上,它是由
-lblas
-lmkl
或类似程序完成的。

Thans!现在我使用-lblas进行编译,并出现另一个错误:matrixmul.F90:(.text+0x592):未定义对“dgemm_”的引用。如何验证是否安装了BLAS?搜索
libblas.so
libblas.a
BLAS.dll
你有什么操作系统?我的操作系统-Ubuntu 12.04,搜索后我有:/etc/alternations/libblas.a/usr/lib/libblas.a/usr/lib/libblas/libblas.a,这表明该库已安装。他们的标准存储库中肯定有BLAS软件包,只需告诉我们您的软件包管理器。尝试Synaptic或apt get blas。您也可以在编译命令中添加/usr/lib/libblas.a:
gfortran/usr/lib/libblas.a program.f90