However, it always returns segmentation fault.
Code: Select all
magma_init();
magma_int_t dev=0;
magma_queue_t queue=NULL;
magma_queue_create(dev, &queue);
magma_z_matrix *A=new magma_z_matrix;
int m=48, n=10;
magmaDoubleComplex *val;
val=new magmaDoubleComplex[m*n];
for (int i=0; i<m*n; i++){
val[i]=MAGMA_Z_MAKE(rand() / ((double) RAND_MAX),0);
}
std::cout<<"Set return:"<<magma_zvset(m, n, val, &A[0], queue)<<"\n";
std::cout<<"Convert return:"<<magma_zmconvert(A[0], &A[0], Magma_DENSE, Magma_CSR, queue)<<"\n";
write_z_csrtomtx(A[0],"test.mtx",queue);
magma_z_mfree(A,queue);
delete A;
magma_queue_destroy( queue );
magma_finalize();
Set return:0
Convert return:0
write_csr_to_file :Segmentation fault
I also try "magma_zwrite_csr_mtx" function by setting RowMajor.
It will save mtx successfully, but it only contains 10*10 values.
How do I fix this problem?
thanks