aijcusparse.cu (9c1083e7afabb7b4fdfeed81dfccb88a4f8a36e2) aijcusparse.cu (ea500dcf30ffef220839d8a7e6a1237a802d17f4)
1/*
2 Defines the basic matrix operations for the AIJ (compressed row)
3 matrix storage format using the CUSPARSE library,
4*/
5#define PETSC_SKIP_SPINLOCK
6#define PETSC_SKIP_IMMINTRIN_H_CUDAWORKAROUND 1
7
8#include <petscconf.h>

--- 3469 unchanged lines hidden (view full) ---

3478 ierr = PetscObjectComposeFunction((PetscObject)A,"MatProductSetFromOptions_seqaijcusparse_seqdensecuda_C",MatProductSetFromOptions_SeqAIJCUSPARSE);CHKERRQ(ierr);
3479 ierr = PetscObjectComposeFunction((PetscObject)A,"MatProductSetFromOptions_seqaijcusparse_seqdense_C",MatProductSetFromOptions_SeqAIJCUSPARSE);CHKERRQ(ierr);
3480 ierr = PetscObjectComposeFunction((PetscObject)A,"MatSetPreallocationCOO_C",MatSetPreallocationCOO_SeqAIJCUSPARSE);CHKERRQ(ierr);
3481 ierr = PetscObjectComposeFunction((PetscObject)A,"MatSetValuesCOO_C",MatSetValuesCOO_SeqAIJCUSPARSE);CHKERRQ(ierr);
3482 ierr = PetscObjectComposeFunction((PetscObject)A,"MatSeqAIJGetArray_C",MatSeqAIJGetArray_SeqAIJCUSPARSE);CHKERRQ(ierr);
3483 ierr = PetscObjectComposeFunction((PetscObject)A,"MatProductSetFromOptions_seqaijcusparse_seqaijcusparse_C",MatProductSetFromOptions_SeqAIJCUSPARSE);CHKERRQ(ierr);
3484 }
3485 A->boundtocpu = flg;
1/*
2 Defines the basic matrix operations for the AIJ (compressed row)
3 matrix storage format using the CUSPARSE library,
4*/
5#define PETSC_SKIP_SPINLOCK
6#define PETSC_SKIP_IMMINTRIN_H_CUDAWORKAROUND 1
7
8#include <petscconf.h>

--- 3469 unchanged lines hidden (view full) ---

3478 ierr = PetscObjectComposeFunction((PetscObject)A,"MatProductSetFromOptions_seqaijcusparse_seqdensecuda_C",MatProductSetFromOptions_SeqAIJCUSPARSE);CHKERRQ(ierr);
3479 ierr = PetscObjectComposeFunction((PetscObject)A,"MatProductSetFromOptions_seqaijcusparse_seqdense_C",MatProductSetFromOptions_SeqAIJCUSPARSE);CHKERRQ(ierr);
3480 ierr = PetscObjectComposeFunction((PetscObject)A,"MatSetPreallocationCOO_C",MatSetPreallocationCOO_SeqAIJCUSPARSE);CHKERRQ(ierr);
3481 ierr = PetscObjectComposeFunction((PetscObject)A,"MatSetValuesCOO_C",MatSetValuesCOO_SeqAIJCUSPARSE);CHKERRQ(ierr);
3482 ierr = PetscObjectComposeFunction((PetscObject)A,"MatSeqAIJGetArray_C",MatSeqAIJGetArray_SeqAIJCUSPARSE);CHKERRQ(ierr);
3483 ierr = PetscObjectComposeFunction((PetscObject)A,"MatProductSetFromOptions_seqaijcusparse_seqaijcusparse_C",MatProductSetFromOptions_SeqAIJCUSPARSE);CHKERRQ(ierr);
3484 }
3485 A->boundtocpu = flg;
3486 a->inode.use = flg;
3486 if (flg && a->inode.size) {
3487 a->inode.use = PETSC_TRUE;
3488 } else {
3489 a->inode.use = PETSC_FALSE;
3490 }
3487 PetscFunctionReturn(0);
3488}
3489
3490PETSC_INTERN PetscErrorCode MatConvert_SeqAIJ_SeqAIJCUSPARSE(Mat A, MatType mtype, MatReuse reuse, Mat* newmat)
3491{
3492 PetscErrorCode ierr;
3493 cusparseStatus_t stat;
3494 Mat B;

--- 1127 unchanged lines hidden ---
3491 PetscFunctionReturn(0);
3492}
3493
3494PETSC_INTERN PetscErrorCode MatConvert_SeqAIJ_SeqAIJCUSPARSE(Mat A, MatType mtype, MatReuse reuse, Mat* newmat)
3495{
3496 PetscErrorCode ierr;
3497 cusparseStatus_t stat;
3498 Mat B;

--- 1127 unchanged lines hidden ---