| 
    Ifpack2 Templated Preconditioning Package
    Version 1.0
    
   | 
 
Classes | |
| struct | ImplNotAvailTag | 
| struct | ImplObject | 
| forward declaration  More... | |
| struct | BlockTridiagScalarType | 
| struct | is_cuda | 
| struct | ArrayValueType | 
| struct | SumReducer | 
| struct | ImplType | 
| struct | BlockTridiags | 
| struct | AmD | 
| struct | ExtractAndFactorizeTridiagsDefaultModeAndAlgo | 
| struct | MultiVectorConverter | 
| struct | SolveTridiagsDefaultModeAndAlgo | 
| struct | NormManager | 
Typedefs | |
| using | do_not_initialize_tag = Kokkos::ViewAllocateWithoutInitializing | 
| for the next promotion  More... | |
Functions | |
| template<typename CommPtrType > | |
| std::string | get_msg_prefix (const CommPtrType &comm) | 
| template<typename MatrixType > | |
| Teuchos::RCP< const typename  ImplType< MatrixType > ::tpetra_import_type >  | createBlockCrsTpetraImporter (const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > &A) | 
| template<typename MatrixType > | |
| Teuchos::RCP< AsyncableImport < MatrixType > >  | createBlockCrsAsyncImporter (const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > &A) | 
| template<typename MatrixType > | |
| PartInterface< MatrixType > | createPartInterface (const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > &A, const Teuchos::Array< Teuchos::Array< typename ImplType< MatrixType >::local_ordinal_type > > &partitions) | 
| template<typename MatrixType > | |
| BlockTridiags< MatrixType > | createBlockTridiags (const PartInterface< MatrixType > &interf) | 
| template<typename MatrixType > | |
| void | performSymbolicPhase (const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > &A, const PartInterface< MatrixType > &interf, BlockTridiags< MatrixType > &btdm, AmD< MatrixType > &amd, const bool overlap_communication_and_computation) | 
| template<typename MatrixType > | |
| void | performNumericPhase (const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > &A, const PartInterface< MatrixType > &interf, BlockTridiags< MatrixType > &btdm, const typename ImplType< MatrixType >::magnitude_type tiny) | 
| static int | ComputeResidualVectorRecommendedCudaVectorSize (const int blksize, const int team_size) | 
| template<typename MatrixType > | |
| int | applyInverseJacobi (const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > &A, const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_import_type > &tpetra_importer, const Teuchos::RCP< AsyncableImport< MatrixType > > &async_importer, const bool overlap_communication_and_computation, const typename ImplType< MatrixType >::tpetra_multivector_type &X, typename ImplType< MatrixType >::tpetra_multivector_type &Y, typename ImplType< MatrixType >::tpetra_multivector_type &Z, typename ImplType< MatrixType >::impl_scalar_type_1d_view &W, const PartInterface< MatrixType > &interf, const BlockTridiags< MatrixType > &btdm, const AmD< MatrixType > &amd, typename ImplType< MatrixType >::vector_type_1d_view &work, NormManager< MatrixType > &norm_manager, const typename ImplType< MatrixType >::impl_scalar_type &damping_factor, bool is_y_zero, const int max_num_sweeps, const typename ImplType< MatrixType >::magnitude_type tol, const int check_tol_every) | 
Impl Tag
| using Ifpack2::BlockTriDiContainerDetails::do_not_initialize_tag = typedef Kokkos::ViewAllocateWithoutInitializing | 
for the next promotion
view decorators for unmanaged and const memory
| std::string Ifpack2::BlockTriDiContainerDetails::get_msg_prefix | ( | const CommPtrType & | comm | ) | 
utility functions
| Teuchos::RCP<const typename ImplType<MatrixType>::tpetra_import_type> Ifpack2::BlockTriDiContainerDetails::createBlockCrsTpetraImporter | ( | const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > & | A | ) | 
setup sequential importer
| Teuchos::RCP<AsyncableImport<MatrixType> > Ifpack2::BlockTriDiContainerDetails::createBlockCrsAsyncImporter | ( | const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > & | A | ) | 
setup async importer
| PartInterface<MatrixType> Ifpack2::BlockTriDiContainerDetails::createPartInterface | ( | const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > & | A, | 
| const Teuchos::Array< Teuchos::Array< typename ImplType< MatrixType >::local_ordinal_type > > & | partitions | ||
| ) | 
setup part interface using the container partitions array
| BlockTridiags<MatrixType> Ifpack2::BlockTriDiContainerDetails::createBlockTridiags | ( | const PartInterface< MatrixType > & | interf | ) | 
block tridiags initialization from part interface
| void Ifpack2::BlockTriDiContainerDetails::performSymbolicPhase | ( | const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > & | A, | 
| const PartInterface< MatrixType > & | interf, | ||
| BlockTridiags< MatrixType > & | btdm, | ||
| AmD< MatrixType > & | amd, | ||
| const bool | overlap_communication_and_computation | ||
| ) | 
symbolic phase, on host : create R = A - D, pack D
| void Ifpack2::BlockTriDiContainerDetails::performNumericPhase | ( | const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > & | A, | 
| const PartInterface< MatrixType > & | interf, | ||
| BlockTridiags< MatrixType > & | btdm, | ||
| const typename ImplType< MatrixType >::magnitude_type | tiny | ||
| ) | 
top level numeric interface
      
  | 
  inlinestatic | 
compute local residula vector y = b - R x
| int Ifpack2::BlockTriDiContainerDetails::applyInverseJacobi | ( | const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_block_crs_matrix_type > & | A, | 
| const Teuchos::RCP< const typename ImplType< MatrixType >::tpetra_import_type > & | tpetra_importer, | ||
| const Teuchos::RCP< AsyncableImport< MatrixType > > & | async_importer, | ||
| const bool | overlap_communication_and_computation, | ||
| const typename ImplType< MatrixType >::tpetra_multivector_type & | X, | ||
| typename ImplType< MatrixType >::tpetra_multivector_type & | Y, | ||
| typename ImplType< MatrixType >::tpetra_multivector_type & | Z, | ||
| typename ImplType< MatrixType >::impl_scalar_type_1d_view & | W, | ||
| const PartInterface< MatrixType > & | interf, | ||
| const BlockTridiags< MatrixType > & | btdm, | ||
| const AmD< MatrixType > & | amd, | ||
| typename ImplType< MatrixType >::vector_type_1d_view & | work, | ||
| NormManager< MatrixType > & | norm_manager, | ||
| const typename ImplType< MatrixType >::impl_scalar_type & | damping_factor, | ||
| bool | is_y_zero, | ||
| const int | max_num_sweeps, | ||
| const typename ImplType< MatrixType >::magnitude_type | tol, | ||
| const int | check_tol_every | ||
| ) | 
top level apply interface
 1.8.5