如何从MKL将mkl_sparse_x_trsv用于fomat COO

问题描述

我正在测试intel的C语言的mkl sparse-blas trsv 检查器/执行器例程。

对于数据类型MKL_Complex8,界面如下:

sparse_status_t mkl_sparse_c_trsv (     const sparse_operation_t  operation,const MKL_Complex8        alpha,const sparse_matrix_t    A,const struct matrix_descr descr,/* sparse_matrix_type_t + sparse_fill_mode_t + sparse_diag_type_t */
                                        const MKL_Complex8        *x,MKL_Complex8              *y );

对于sparse_matrix_type_tsparse_fill_mode_tsparse_diag_type_toperation的所有可能组合,我获得了COO(坐标格式)的SPARSE_STATUS_INVALID_VALUE返回值。

在英特尔development reference中,没有表明它不支持coo格式。

这是我的代码段:

//following two funcs read config from cmdline
    sparse_operation_t transA = mkl_args_get_transA(argc,argv);
    struct matrix_descr descr = mkl_args_get_matrix_descrA(argc,argv);

    sparse_matrix_t cooA;
    mkl_sparse_c_create_coo(&cooA,SPARSE_INDEX_BASE_ZERO,m,k,nnz,row_index,col_index,values);
    mkl_sparse_c_trsv(transA,alpha,cooA,descr,x,y);

例程mkl_sparse_?_trsm发生相同的错误。谁能帮我?可能会感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)