| 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 --- |