Fortran Coder

标题: 求助!求问用oneMKL的BLAS库求矩阵乘法 [打印本页]

作者: Proteus    时间: 2023-4-5 19:54
标题: 求助!求问用oneMKL的BLAS库求矩阵乘法
本帖最后由 Proteus 于 2023-4-5 20:00 编辑

[Fortran] 纯文本查看 复制代码
program main
    implicit none
    integer :: n, m, k, lda, ldb, ldc, info
    real(kind=8), dimension(:,:), allocatable :: A, B, C
    real(kind=8) :: alpha, beta
    external dgemm
    ! 设置矩阵的大小
    m = 3
    n = 3
    k = 3
    ! 设置矩阵 A、B、C 的值
    allocate(A(m,k))
    allocate(B(k,n))
    allocate(C(m,n))
    A = reshape([1., 2., 3., 4., 5., 6., 7., 8., 9.], [m, k])
    B = reshape([1., 2., 3., 4., 5., 6., 7., 8., 9.], [k, n])
    C = 0.0
    ! 设置矩阵乘法的参数
    alpha = 1.0
    beta = 0.0
    lda = m
    ldb = k
    ldc = m
    ! 调用 BLAS 库的 DGEMM 子程序进行矩阵乘法
    call dgemm('N', 'N', m, n, k, alpha, A, lda, B, ldb, beta, C, ldc)
    ! 输出结果
    write(*, *) 'Result:'
    write(*, *) C
end program main
问题:提示“Intel MKL ERROR: Parameter 3 was incorrect on entry to DGEMM”,计算出C的结果全是0.0

编译器:Win10 + Visual Studio 2019 + oneAPI
已在项目属性中配置好oneMKL库了,之前运行过调用oneMKL库中的pardiso函数,是可以运行的,且计算结果是没问题的

不知道这个为什么出来的结果不对
求问大佬,求大佬相助!!!

作者: Proteus    时间: 2023-4-5 20:17
是我配置函数库的时候出了问题,已解决。呜呜呜呜呜。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2