Fortran Coder

标题: mkl_sdnscsr 问题 [打印本页]

作者: frankgty    时间: 2019-10-16 05:27
标题: mkl_sdnscsr 问题
请教一个问题,用mkl中mkl_sdnscsr将dense矩阵转化为CSR格式,出现错误如下图,这里的parameter1指的是什么?
[Fortran] 纯文本查看 复制代码
program converters
    implicit none
   
    ! Definition arrays for sparse matrix formats
    integer,parameter :: m=2400, n=2400, lda=2400, nzmax=11820
    integer :: ia, ja
    real :: adns(m,n) , acsr(nzmax)
   
    ! Declairation of local variables:
    integer :: job(8), i, j, info, ibase1, ibase2, locat
    info = 0
    locat = 2
    ibase1 = 1
    ibase2 = 2
    job(2) = ibase1
    job(3) = ibase2
    job(4) = locat
    job(5) = nzmax
   
    ! Task1: densly matrix to crs
    open(11,file="1.txt")
    read(11,*) adns
    job(1) = 0
    job(6) = 1
    call mkl_sdnscsr(job, m, n, adns, lda, acsr, ja, ia ,info)
    print*, acsr, ia, ja
    pause
    end program converters

屏幕截图(3).png (8.01 KB, 下载次数: 263)

屏幕截图(3).png

1.zip

696.98 KB, 下载次数: 0


作者: li913    时间: 2019-10-16 14:10
本帖最后由 li913 于 2019-10-16 14:12 编辑

查询mkl帮助,了解每个参数的信息。提示是指第一个参数的值有问题,也就是job有问题。
1、ja, ia应该是数组;
2、job(3)只能为0或1.
作者: frankgty    时间: 2019-10-16 18:51
感谢,是粗心造成的问题,将job(3) 改为1后,出现:0x00A422DC 处(位于 Formatconverters.exe 中)引发的异常: 0xC0000005: 写入位置 0x02502000 时发生访问冲突。
0x00000123 处有未经处理的异常(在 Formatconverters.exe 中): 0xC00001A5: 检测到无效的异常处理程序例程。 (参数: 0x00000003)。
在call mkl_sdnscsr处引发的问题。
程序窗口里是空白,没有信息,这种情况是哪里出了问题呢?
作者: frankgty    时间: 2019-10-16 19:26
li913 发表于 2019-10-16 14:10
查询mkl帮助,了解每个参数的信息。提示是指第一个参数的值有问题,也就是job有问题。
1、ja, ia应该是数组 ...


感谢,是粗心造成的问题,将job(3) 改为1后,出现:0x00A422DC 处(位于 Formatconverters.exe 中)引发的异常: 0xC0000005: 写入位置 0x02502000 时发生访问冲突。
0x00000123 处有未经处理的异常(在 Formatconverters.exe 中): 0xC00001A5: 检测到无效的异常处理程序例程。 (参数: 0x00000003)。
在call mkl_sdnscsr处引发的问题。
程序窗口里是空白,没有信息,这种情况是哪里出了问题呢?
作者: li913    时间: 2019-10-17 14:30
ja ia 改了没?给出最新的代码,和输入文件。
作者: frankgty    时间: 2019-10-17 19:55
li913 发表于 2019-10-17 14:30
ja ia 改了没?给出最新的代码,和输入文件。

read文件时候出了问题,已解决得到正确结果,非常感谢您!




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