14e47ed04SStefano Zampini static char help[] = "Test MatSetPreallocationCOO and MatSetValuesCOO\n\n"; 24e47ed04SStefano Zampini 34e47ed04SStefano Zampini #include <petscmat.h> 4cbc6b225SStefano Zampini #define MyMatView(a,b) (PetscPrintf(PetscObjectComm((PetscObject)(a)),"LINE %d\n",__LINE__),MatView(a,b)); 5cbc6b225SStefano Zampini #define MyVecView(a,b) (PetscPrintf(PetscObjectComm((PetscObject)(a)),"LINE %d\n",__LINE__),VecView(a,b)); 64e47ed04SStefano Zampini int main(int argc,char **args) 74e47ed04SStefano Zampini { 84e47ed04SStefano Zampini Mat A,At,AAt; 94e47ed04SStefano Zampini Vec x,y,z; 10cbc6b225SStefano Zampini ISLocalToGlobalMapping rl2g,cl2g; 11cbc6b225SStefano Zampini IS is; 124e47ed04SStefano Zampini PetscLayout rmap,cmap; 13cbc6b225SStefano Zampini PetscInt *it,*jt; 144e47ed04SStefano Zampini PetscInt n1 = 11, n2 = 9; 15cbc6b225SStefano Zampini PetscInt i1[] = { 7, 6, 2, 0, 4, 1, 1, 0, 2, 2, 1 , -1, -1}; 16cbc6b225SStefano Zampini PetscInt j1[] = { 1, 4, 3, 5, 3, 3, 4, 5, 0, 3, 1 , -1, -1}; 17cbc6b225SStefano Zampini PetscInt i2[] = { 7, 6, 2, 0, 4, 1, 1, 2, 1, -1, -1}; 18cbc6b225SStefano Zampini PetscInt j2[] = { 1, 4, 3, 5, 3, 3, 4, 0, 1, -1, -1}; 19cbc6b225SStefano Zampini PetscScalar v1[] = { -1., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., PETSC_MAX_REAL, PETSC_MAX_REAL}; 20cbc6b225SStefano Zampini PetscScalar v2[] = { 1.,-1.,-2.,-3.,-4.,-5.,-6.,-7.,-8.,-9.,-10., PETSC_MAX_REAL, PETSC_MAX_REAL}; 21cbc6b225SStefano Zampini PetscInt N = 6, m = 8, M, rstart, cstart, i; 224e47ed04SStefano Zampini PetscMPIInt size; 234e47ed04SStefano Zampini PetscBool loc = PETSC_FALSE; 24cbc6b225SStefano Zampini PetscBool locdiag = PETSC_TRUE; 25cbc6b225SStefano Zampini PetscBool localapi = PETSC_FALSE; 26cbc6b225SStefano Zampini PetscBool neg = PETSC_FALSE; 27cbc6b225SStefano Zampini PetscBool ismatis, ismpiaij; 284e47ed04SStefano Zampini PetscErrorCode ierr; 294e47ed04SStefano Zampini 304e47ed04SStefano Zampini ierr = PetscInitialize(&argc,&args,(char*)0,help);if (ierr) return ierr; 31*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetBool(NULL,NULL,"-neg",&neg,NULL)); 32*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetBool(NULL,NULL,"-loc",&loc,NULL)); 33*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetBool(NULL,NULL,"-locdiag",&locdiag,NULL)); 34*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetBool(NULL,NULL,"-localapi",&localapi,NULL)); 35*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatCreate(PETSC_COMM_WORLD,&A)); 364e47ed04SStefano Zampini if (loc) { 374e47ed04SStefano Zampini if (locdiag) { 38*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetSizes(A,m,N,PETSC_DECIDE,PETSC_DECIDE)); 394e47ed04SStefano Zampini } else { 40*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetSizes(A,m,m+N,PETSC_DECIDE,PETSC_DECIDE)); 414e47ed04SStefano Zampini } 424e47ed04SStefano Zampini } else { 43*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetSizes(A,m,PETSC_DECIDE,PETSC_DECIDE,N)); 444e47ed04SStefano Zampini } 45*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetFromOptions(A)); 46*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatGetLayouts(A,&rmap,&cmap)); 47*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscLayoutSetUp(rmap)); 48*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscLayoutSetUp(cmap)); 49*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscLayoutGetRange(rmap,&rstart,NULL)); 50*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscLayoutGetRange(cmap,&cstart,NULL)); 51*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscLayoutGetSize(rmap,&M)); 52*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscLayoutGetSize(cmap,&N)); 53cbc6b225SStefano Zampini 54*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscObjectTypeCompare((PetscObject)A,MATIS,&ismatis)); 55cbc6b225SStefano Zampini 56cbc6b225SStefano Zampini /* create fake l2g maps to test the local API */ 57*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISCreateStride(PETSC_COMM_WORLD,M-rstart,rstart,1,&is)); 58*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISLocalToGlobalMappingCreateIS(is,&rl2g)); 59*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISDestroy(&is)); 60*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISCreateStride(PETSC_COMM_WORLD,N,0,1,&is)); 61*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISLocalToGlobalMappingCreateIS(is,&cl2g)); 62*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISDestroy(&is)); 63*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetLocalToGlobalMapping(A,rl2g,cl2g)); 64*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISLocalToGlobalMappingDestroy(&rl2g)); 65*5f80ce2aSJacob Faibussowitsch CHKERRQ(ISLocalToGlobalMappingDestroy(&cl2g)); 66cbc6b225SStefano Zampini 67*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatCreateVecs(A,&x,&y)); 68*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatCreateVecs(A,NULL,&z)); 69*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecSet(x,1.)); 70*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecSet(z,2.)); 71cbc6b225SStefano Zampini if (!localapi) for (i = 0; i < n1; i++) i1[i] += rstart; 72cbc6b225SStefano Zampini if (!localapi) for (i = 0; i < n2; i++) i2[i] += rstart; 734e47ed04SStefano Zampini if (loc) { 744e47ed04SStefano Zampini if (locdiag) { 754e47ed04SStefano Zampini for (i = 0; i < n1; i++) j1[i] += cstart; 764e47ed04SStefano Zampini for (i = 0; i < n2; i++) j2[i] += cstart; 774e47ed04SStefano Zampini } else { 784e47ed04SStefano Zampini for (i = 0; i < n1; i++) j1[i] += cstart + m; 794e47ed04SStefano Zampini for (i = 0; i < n2; i++) j2[i] += cstart + m; 804e47ed04SStefano Zampini } 814e47ed04SStefano Zampini } 82cbc6b225SStefano Zampini if (neg) { n1 += 2; n2 += 2; } 83cbc6b225SStefano Zampini /* MatSetPreallocationCOOLocal maps the indices! */ 84*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscMalloc2(PetscMax(n1,n2),&it,PetscMax(n1,n2),&jt)); 854e47ed04SStefano Zampini /* test with repeated entries */ 86cbc6b225SStefano Zampini if (!localapi) { 87*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOO(A,n1,i1,j1)); 88cbc6b225SStefano Zampini } else { 89*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(it,i1,n1)); 90*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(jt,j1,n1)); 91*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOOLocal(A,n1,it,jt)); 92cbc6b225SStefano Zampini } 93*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v1,ADD_VALUES)); 94*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMult(A,x,y)); 95*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 96*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(y,NULL)); 97*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v2,ADD_VALUES)); 98*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMultAdd(A,x,y,y)); 99*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 100*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(y,NULL)); 101*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatTranspose(A,MAT_INITIAL_MATRIX,&At)); 102cbc6b225SStefano Zampini if (!ismatis) { 103*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMatMult(A,At,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&AAt)); 104*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(AAt,NULL)); 105*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&AAt)); 106*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMatMult(At,A,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&AAt)); 107*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(AAt,NULL)); 108*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&AAt)); 109cbc6b225SStefano Zampini } 110*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&At)); 111cbc6b225SStefano Zampini 112e61fc153SStefano Zampini /* INSERT_VALUES will overwrite matrix entries but 113e61fc153SStefano Zampini still perform the sum of the repeated entries */ 114*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v2,INSERT_VALUES)); 115*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 1164e47ed04SStefano Zampini 1174e47ed04SStefano Zampini /* test with unique entries */ 118cbc6b225SStefano Zampini if (!localapi) { 119*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOO(A,n2,i2,j2)); 120cbc6b225SStefano Zampini } else { 121*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(it,i2,n2)); 122*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(jt,j2,n2)); 123*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOOLocal(A,n2,it,jt)); 124cbc6b225SStefano Zampini } 125*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v1,ADD_VALUES)); 126*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMult(A,x,y)); 127*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 128*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(y,NULL)); 129*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v2,ADD_VALUES)); 130*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMultAdd(A,x,y,z)); 131*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 132*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(z,NULL)); 133cbc6b225SStefano Zampini if (!localapi) { 134*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOO(A,n2,i2,j2)); 135cbc6b225SStefano Zampini } else { 136*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(it,i2,n2)); 137*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(jt,j2,n2)); 138*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOOLocal(A,n2,it,jt)); 139cbc6b225SStefano Zampini } 140*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v1,INSERT_VALUES)); 141*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMult(A,x,y)); 142*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 143*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(y,NULL)); 144*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,v2,INSERT_VALUES)); 145*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMultAdd(A,x,y,z)); 146*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 147*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(z,NULL)); 148*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatTranspose(A,MAT_INITIAL_MATRIX,&At)); 149cbc6b225SStefano Zampini if (!ismatis) { 150*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMatMult(A,At,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&AAt)); 151*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(AAt,NULL)); 152*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&AAt)); 153*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMatMult(At,A,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&AAt)); 154*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(AAt,NULL)); 155*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&AAt)); 156cbc6b225SStefano Zampini } 157*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&At)); 1584e47ed04SStefano Zampini 159cbc6b225SStefano Zampini /* test providing diagonal first, then offdiagonal */ 160*5f80ce2aSJacob Faibussowitsch CHKERRMPI(MPI_Comm_size(PetscObjectComm((PetscObject)A),&size)); 161*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscObjectBaseTypeCompare((PetscObject)A,MATMPIAIJ,&ismpiaij)); 1624e47ed04SStefano Zampini if (ismpiaij && size > 1) { 1634e47ed04SStefano Zampini Mat lA,lB; 1644e47ed04SStefano Zampini const PetscInt *garray,*iA,*jA,*iB,*jB; 1654e47ed04SStefano Zampini const PetscScalar *vA,*vB; 1664e47ed04SStefano Zampini PetscScalar *coo_v; 1674e47ed04SStefano Zampini PetscInt *coo_i,*coo_j; 1684e47ed04SStefano Zampini PetscInt i,j,nA,nB,nnz; 1694e47ed04SStefano Zampini PetscBool flg; 1704e47ed04SStefano Zampini 171*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMPIAIJGetSeqAIJ(A,&lA,&lB,&garray)); 172*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSeqAIJGetArrayRead(lA,&vA)); 173*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSeqAIJGetArrayRead(lB,&vB)); 174*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatGetRowIJ(lA,0,PETSC_FALSE,PETSC_FALSE,&nA,&iA,&jA,&flg)); 175*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatGetRowIJ(lB,0,PETSC_FALSE,PETSC_FALSE,&nB,&iB,&jB,&flg)); 1764e47ed04SStefano Zampini nnz = iA[nA] + iB[nB]; 177*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscMalloc3(nnz,&coo_i,nnz,&coo_j,nnz,&coo_v)); 1784e47ed04SStefano Zampini nnz = 0; 1794e47ed04SStefano Zampini for (i=0;i<nA;i++) { 1804e47ed04SStefano Zampini for (j=iA[i];j<iA[i+1];j++,nnz++) { 1814e47ed04SStefano Zampini coo_i[nnz] = i+rstart; 1824e47ed04SStefano Zampini coo_j[nnz] = jA[j]+cstart; 1834e47ed04SStefano Zampini coo_v[nnz] = vA[j]; 1844e47ed04SStefano Zampini } 1854e47ed04SStefano Zampini } 1864e47ed04SStefano Zampini for (i=0;i<nB;i++) { 1874e47ed04SStefano Zampini for (j=iB[i];j<iB[i+1];j++,nnz++) { 1884e47ed04SStefano Zampini coo_i[nnz] = i+rstart; 1894e47ed04SStefano Zampini coo_j[nnz] = garray[jB[j]]; 1904e47ed04SStefano Zampini coo_v[nnz] = vB[j]; 1914e47ed04SStefano Zampini } 1924e47ed04SStefano Zampini } 193*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatRestoreRowIJ(lA,0,PETSC_FALSE,PETSC_FALSE,&nA,&iA,&jA,&flg)); 194*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatRestoreRowIJ(lB,0,PETSC_FALSE,PETSC_FALSE,&nB,&iB,&jB,&flg)); 195*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSeqAIJRestoreArrayRead(lA,&vA)); 196*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSeqAIJRestoreArrayRead(lB,&vB)); 1974e47ed04SStefano Zampini 198*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetPreallocationCOO(A,nnz,coo_i,coo_j)); 199*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,coo_v,ADD_VALUES)); 200*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMult(A,x,y)); 201*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 202*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(y,NULL)); 203*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatSetValuesCOO(A,coo_v,INSERT_VALUES)); 204*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMult(A,x,y)); 205*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(A,NULL)); 206*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyVecView(y,NULL)); 207*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatTranspose(A,MAT_INITIAL_MATRIX,&At)); 208*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMatMult(A,At,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&AAt)); 209*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(AAt,NULL)); 210*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&AAt)); 211*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatMatMult(At,A,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&AAt)); 212*5f80ce2aSJacob Faibussowitsch CHKERRQ(MyMatView(AAt,NULL)); 213*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&AAt)); 214*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&At)); 2154e47ed04SStefano Zampini 216*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscFree3(coo_i,coo_j,coo_v)); 2174e47ed04SStefano Zampini } 218*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscFree2(it,jt)); 219*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecDestroy(&z)); 220*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecDestroy(&x)); 221*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecDestroy(&y)); 222*5f80ce2aSJacob Faibussowitsch CHKERRQ(MatDestroy(&A)); 2234e47ed04SStefano Zampini ierr = PetscFinalize(); 2244e47ed04SStefano Zampini return ierr; 2254e47ed04SStefano Zampini } 2264e47ed04SStefano Zampini 2274e47ed04SStefano Zampini /*TEST 2284e47ed04SStefano Zampini 2294e47ed04SStefano Zampini test: 2304e47ed04SStefano Zampini suffix: 1 2314e47ed04SStefano Zampini filter: grep -v type 2324e47ed04SStefano Zampini diff_args: -j 233cbc6b225SStefano Zampini args: -mat_type {{seqaij mpiaij}} -localapi {{0 1}} -neg {{0 1}} 2344e47ed04SStefano Zampini 2354e47ed04SStefano Zampini test: 2364e47ed04SStefano Zampini requires: cuda 2374e47ed04SStefano Zampini suffix: 1_cuda 2384e47ed04SStefano Zampini filter: grep -v type 2394e47ed04SStefano Zampini diff_args: -j 240cbc6b225SStefano Zampini args: -mat_type {{seqaijcusparse mpiaijcusparse}} -localapi {{0 1}} -neg {{0 1}} 241cbc6b225SStefano Zampini output_file: output/ex123_1.out 242cbc6b225SStefano Zampini 243cbc6b225SStefano Zampini test: 244cbc6b225SStefano Zampini requires: kokkos_kernels !sycl 245cbc6b225SStefano Zampini suffix: 1_kokkos 246cbc6b225SStefano Zampini filter: grep -v type 247cbc6b225SStefano Zampini diff_args: -j 248cbc6b225SStefano Zampini args: -mat_type {{seqaijkokkos mpiaijkokkos}} -localapi {{0 1}} -neg {{0 1}} 2494e47ed04SStefano Zampini output_file: output/ex123_1.out 2504e47ed04SStefano Zampini 2514e47ed04SStefano Zampini test: 2524e47ed04SStefano Zampini suffix: 2 2534e47ed04SStefano Zampini nsize: 7 2544e47ed04SStefano Zampini filter: grep -v type 2554e47ed04SStefano Zampini diff_args: -j 256cbc6b225SStefano Zampini args: -mat_type mpiaij -localapi {{0 1}} -neg {{0 1}} 2574e47ed04SStefano Zampini 2584e47ed04SStefano Zampini test: 2594e47ed04SStefano Zampini requires: cuda 2604e47ed04SStefano Zampini suffix: 2_cuda 2614e47ed04SStefano Zampini nsize: 7 2624e47ed04SStefano Zampini filter: grep -v type 2634e47ed04SStefano Zampini diff_args: -j 264cbc6b225SStefano Zampini args: -mat_type mpiaijcusparse -localapi {{0 1}} -neg {{0 1}} 265cbc6b225SStefano Zampini output_file: output/ex123_2.out 266cbc6b225SStefano Zampini 267cbc6b225SStefano Zampini test: 268cbc6b225SStefano Zampini requires: kokkos_kernels !sycl 269cbc6b225SStefano Zampini suffix: 2_kokkos 270cbc6b225SStefano Zampini nsize: 7 271cbc6b225SStefano Zampini filter: grep -v type 272cbc6b225SStefano Zampini diff_args: -j 273cbc6b225SStefano Zampini args: -mat_type mpiaijkokkos -localapi {{0 1}} -neg {{0 1}} 2744e47ed04SStefano Zampini output_file: output/ex123_2.out 2754e47ed04SStefano Zampini 2764e47ed04SStefano Zampini test: 2774e47ed04SStefano Zampini suffix: 3 2784e47ed04SStefano Zampini nsize: 3 2794e47ed04SStefano Zampini filter: grep -v type 2804e47ed04SStefano Zampini diff_args: -j 281cbc6b225SStefano Zampini args: -mat_type mpiaij -loc -localapi {{0 1}} -neg {{0 1}} 2824e47ed04SStefano Zampini 2834e47ed04SStefano Zampini test: 2844e47ed04SStefano Zampini requires: cuda 2854e47ed04SStefano Zampini suffix: 3_cuda 2864e47ed04SStefano Zampini nsize: 3 2874e47ed04SStefano Zampini filter: grep -v type 2884e47ed04SStefano Zampini diff_args: -j 289cbc6b225SStefano Zampini args: -mat_type mpiaijcusparse -loc -localapi {{0 1}} -neg {{0 1}} 2904e47ed04SStefano Zampini output_file: output/ex123_3.out 2914e47ed04SStefano Zampini 2924e47ed04SStefano Zampini test: 29342550becSJunchao Zhang requires: !sycl kokkos_kernels 29442550becSJunchao Zhang suffix: 3_kokkos 29542550becSJunchao Zhang nsize: 3 29642550becSJunchao Zhang filter: grep -v type 29742550becSJunchao Zhang diff_args: -j 298cbc6b225SStefano Zampini args: -mat_type aijkokkos -loc -localapi {{0 1}} -neg {{0 1}} 29942550becSJunchao Zhang output_file: output/ex123_3.out 30042550becSJunchao Zhang 30142550becSJunchao Zhang test: 302cbc6b225SStefano Zampini suffix: 4 303cbc6b225SStefano Zampini nsize: 4 304cbc6b225SStefano Zampini filter: grep -v type 305cbc6b225SStefano Zampini diff_args: -j 306cbc6b225SStefano Zampini args: -mat_type mpiaij -loc -locdiag 0 -localapi {{0 1}} -neg {{0 1}} 307cbc6b225SStefano Zampini 308cbc6b225SStefano Zampini test: 309cbc6b225SStefano Zampini requires: cuda 310cbc6b225SStefano Zampini suffix: 4_cuda 311cbc6b225SStefano Zampini nsize: 4 312cbc6b225SStefano Zampini filter: grep -v type 313cbc6b225SStefano Zampini diff_args: -j 314cbc6b225SStefano Zampini args: -mat_type mpiaijcusparse -loc -locdiag 0 -localapi {{0 1}} -neg {{0 1}} 315cbc6b225SStefano Zampini output_file: output/ex123_4.out 316cbc6b225SStefano Zampini 317cbc6b225SStefano Zampini test: 31842550becSJunchao Zhang requires: !sycl kokkos_kernels 31942550becSJunchao Zhang suffix: 4_kokkos 32042550becSJunchao Zhang nsize: 4 32142550becSJunchao Zhang filter: grep -v type 32242550becSJunchao Zhang diff_args: -j 323cbc6b225SStefano Zampini args: -mat_type aijkokkos -loc -locdiag 0 -localapi {{0 1}} -neg {{0 1}} 32442550becSJunchao Zhang output_file: output/ex123_4.out 32542550becSJunchao Zhang 326cbc6b225SStefano Zampini test: 327cbc6b225SStefano Zampini suffix: matis 328cbc6b225SStefano Zampini nsize: 3 329cbc6b225SStefano Zampini filter: grep -v type 330cbc6b225SStefano Zampini diff_args: -j 331cbc6b225SStefano Zampini args: -mat_type is -localapi {{0 1}} -neg {{0 1}} 332cbc6b225SStefano Zampini 3334e47ed04SStefano Zampini TEST*/ 334