| Tpetra parallel linear algebra
    Version of the Day
    | 
Namespace for Tpetra Reduction/Tranformation Interface. More...
| Namespaces | |
| detail | |
| Internal detail for Tpetra::RTI. Methods and class here are not guaranteed to be backwards compatible. | |
| Classes | |
| class | ZeroOp | 
| A static identity functor, providing a static method identity() that returns zero.  More... | |
| class | OneOp | 
| A static identity functor, providing a static method identity() that returns one.  More... | |
| class | ReductionGlob | 
| A type glob containing the types needed for calling Tpetra::RTI::reduce() with individual functors.  More... | |
| class | TransformReductionGlob | 
| A type glob containing the types needed for calling Tpetra::RTI::binary_pre_transform_reduce() with individual functors.  More... | |
| class | KernelOp | 
| Operator wrapping a Kokkos (Classic) kernel using RTI.  More... | |
| class | BinaryOp | 
| Tpetra::Operator wrapping a binary functor using the Tpetra Reduction/Transformation Interface.  More... | |
| Functions | |
| template<class IOP , class GOP , class ROP > | |
| ReductionGlob< GOP, ROP, IOP > | reductionGlob (GOP gop, ROP rop) | 
| Non-member constructor to instantiate a type glob of a static identity functor and generation and reduction functor objects.  More... | |
| template<class IOP , class TOP , class GOP , class ROP > | |
| TransformReductionGlob< TOP, GOP, ROP, IOP > | reductionGlob (TOP top, GOP gop, ROP rop) | 
| Non-member constructor to instantiate a type glob of a static identity functor and transform, generation and reduction functor objects.  More... | |
| template<class S , class LO , class GO , class Node , class OP > | |
| void | unary_transform (Vector< S, LO, GO, Node > &vec_inout, OP op) | 
| Transform values of vec_inoutusing via operatorop.  More... | |
| template<class S1 , class S2 , class LO , class GO , class Node , class OP > | |
| void | binary_transform (Vector< S1, LO, GO, Node > &vec_inout, const Vector< S2, LO, GO, Node > &vec_in2, OP op) | 
| Transform values of vec_inoutusingvec_inout,vec_in2and operatorop.  More... | |
| template<class S1 , class S2 , class S3 , class LO , class GO , class Node , class OP > | |
| void | tertiary_transform (Vector< S1, LO, GO, Node > &vec_inout, const Vector< S2, LO, GO, Node > &vec_in2, const Vector< S3, LO, GO, Node > &vec_in3, OP op) | 
| Transform values of vec_inoutusingvec_inout,vec_in2,vec_in3and operatorop.  More... | |
| template<class S , class LO , class GO , class Node , class Glob > | |
| Glob::RedOP::result_type | reduce (const Vector< S, LO, GO, Node > &vec_in, Glob glob) | 
| Reduce values of vec_inusing the operators instantiated inglob.  More... | |
| template<class S1 , class S2 , class LO , class GO , class Node , class Glob > | |
| Glob::RedOP::result_type | reduce (const Vector< S1, LO, GO, Node > &vec_in1, const Vector< S2, LO, GO, Node > &vec_in2, Glob glob) | 
| Reduce values of vec_in1andvec_in2using the operators instantiated inglob.  More... | |
| template<class S1 , class S2 , class S3 , class LO , class GO , class Node , class Glob > | |
| Glob::RedOP::result_type | reduce (const Vector< S1, LO, GO, Node > &vec_in1, const Vector< S2, LO, GO, Node > &vec_in2, const Vector< S3, LO, GO, Node > &vec_in3, Glob glob) | 
| Reduce values of vec_in1,vec_in2andvec_in3using the operators instantiated inglob.  More... | |
| template<class S1 , class S2 , class LO , class GO , class Node , class Glob > | |
| Glob::RedOP::result_type | binary_pre_transform_reduce (Vector< S1, LO, GO, Node > &vec_inout, const Vector< S2, LO, GO, Node > &vec_in2, Glob glob) | 
| Transforms values of vec_inoutwhile simultaneously performing a parallel reduction.  More... | |
| template<class S1 , class S2 , class S3 , class LO , class GO , class Node , class Glob > | |
| Glob::RedOP::result_type | tertiary_pre_transform_reduce (Vector< S1, LO, GO, Node > &vec_inout, const Vector< S2, LO, GO, Node > &vec_in2, const Vector< S3, LO, GO, Node > &vec_in3, Glob glob) | 
| Transforms values of vec_inoutwhile simultaneously performing a parallel reduction.  More... | |
| template<class S , class LO , class GO , class Node , class Kernel > | |
| RCP< const KernelOp< S, LO, GO, Node, Kernel > > | kernelOp (Kernel kernel, const RCP< const Map< LO, GO, Node > > &domainMap, const RCP< const Map< LO, GO, Node > > &rangeMap=null, const RCP< const Import< LO, GO, Node > > &importer=null, const RCP< const Export< LO, GO, Node > > &exporter=null) | 
| Non-member constructor for a Tpetra::RTI::KernelOp object.  More... | |
| template<class S , class LO , class GO , class Node , class Op > | |
| RCP< const BinaryOp< S, LO, GO, Node, Op > > | binaryOp (Op op, const RCP< const Map< LO, GO, Node > > &domainMap, const RCP< const Map< LO, GO, Node > > &rangeMap=null, const RCP< const Import< LO, GO, Node > > &importer=null, const RCP< const Export< LO, GO, Node > > &exporter=null) | 
| Non-member constructor for a Tpetra::RTI::BinaryOp object.  More... | |
Namespace for Tpetra Reduction/Tranformation Interface.
| 
 | inline | 
Non-member constructor to instantiate a type glob of a static identity functor and generation and reduction functor objects.
Definition at line 137 of file Tpetra_RTI.hpp.
| 
 | inline | 
Non-member constructor to instantiate a type glob of a static identity functor and transform, generation and reduction functor objects.
Definition at line 144 of file Tpetra_RTI.hpp.
| void Tpetra::RTI::unary_transform | ( | Vector< S, LO, GO, Node > & | vec_inout, | 
| OP | op | ||
| ) | 
Transform values of vec_inout using via operator op. 
For each element vec_inout[i], assign vec_inout[i] = op( vec_inout[i] )
Calls Tpetra::RTI::detail::unary_transform via the Tpetra::RTI::detail::UnaryFunctorAdapter.
Definition at line 155 of file Tpetra_RTI.hpp.
| void Tpetra::RTI::binary_transform | ( | Vector< S1, LO, GO, Node > & | vec_inout, | 
| const Vector< S2, LO, GO, Node > & | vec_in2, | ||
| OP | op | ||
| ) | 
Transform values of vec_inout using vec_inout, vec_in2 and operator op. 
For each element vec_inout[i], assign vec_inout[i] = op( vec_inout[i], vec_in2[i] )
Calls Tpetra::RTI::detail::binary_transform via the Tpetra::RTI::detail::BinaryFunctorAdapter.
Definition at line 167 of file Tpetra_RTI.hpp.
| void Tpetra::RTI::tertiary_transform | ( | Vector< S1, LO, GO, Node > & | vec_inout, | 
| const Vector< S2, LO, GO, Node > & | vec_in2, | ||
| const Vector< S3, LO, GO, Node > & | vec_in3, | ||
| OP | op | ||
| ) | 
Transform values of vec_inout using vec_inout, vec_in2, vec_in3 and operator op. 
For each element vec_inout[i], assign vec_inout[i] = op( vec_inout[i], vec_in2[i], vec_in3[i] )
Calls Tpetra::RTI::detail::tertiary_transform via the Tpetra::RTI::detail::TertiaryFunctorAdapter.
Definition at line 183 of file Tpetra_RTI.hpp.
| Glob::RedOP::result_type Tpetra::RTI::reduce | ( | const Vector< S, LO, GO, Node > & | vec_in, | 
| Glob | glob | ||
| ) | 
Reduce values of vec_in using the operators instantiated in glob. 
For each element vec_in[i], generates reduction elements via glob.genop( vec_in[i] ) and reduces them via the glob.redop binary functor.
Calls Tpetra::RTI::detail::reduce via the Tpetra::RTI::detail::RTIReductionAdapter1.
Definition at line 201 of file Tpetra_RTI.hpp.
| Glob::RedOP::result_type Tpetra::RTI::reduce | ( | const Vector< S1, LO, GO, Node > & | vec_in1, | 
| const Vector< S2, LO, GO, Node > & | vec_in2, | ||
| Glob | glob | ||
| ) | 
Reduce values of vec_in1 and vec_in2 using the operators instantiated in glob. 
For each element pair vec_in1[i] and vec_in2[i], generates reduction elements via glob.genop( vec_in1[i], vec_in2[i] ) and reduces them via the glob.redop binary functor.
Calls Tpetra::RTI::detail::reduce via the Tpetra::RTI::detail::RTIReductionAdapter2.
Definition at line 215 of file Tpetra_RTI.hpp.
| Glob::RedOP::result_type Tpetra::RTI::reduce | ( | const Vector< S1, LO, GO, Node > & | vec_in1, | 
| const Vector< S2, LO, GO, Node > & | vec_in2, | ||
| const Vector< S3, LO, GO, Node > & | vec_in3, | ||
| Glob | glob | ||
| ) | 
Reduce values of vec_in1, vec_in2 and vec_in3 using the operators instantiated in glob. 
For each element triplet vec_in1[i], vec_in2[i] and vec_in3[i], generates reduction elements via glob.genop( vec_in1[i], vec_in2[i], vec_in3[i] ) and reduces them via the glob.redop binary functor.
Calls Tpetra::RTI::detail::reduce via the Tpetra::RTI::detail::RTIReductionAdapter3.
Definition at line 234 of file Tpetra_RTI.hpp.
| Glob::RedOP::result_type Tpetra::RTI::binary_pre_transform_reduce | ( | Vector< S1, LO, GO, Node > & | vec_inout, | 
| const Vector< S2, LO, GO, Node > & | vec_in2, | ||
| Glob | glob | ||
| ) | 
Transforms values of vec_inout while simultaneously performing a parallel reduction. 
For each element pair vec_inout[i] and vec_in2[i], assigns vec_inout[i] = glob.top( vec_inout[i], vec_in2[i] ). Simultaneously, generates reduction elements via glob.genop( vec_inout[i], vec_in2[i] ) (using the transformed values) and reduces them via the glob.redop binary functor.
Calls Tpetra::RTI::detail::transform_reduce via the Tpetra::RTI::detail::RTIPreTransformReductionAdapter.
Definition at line 253 of file Tpetra_RTI.hpp.
| Glob::RedOP::result_type Tpetra::RTI::tertiary_pre_transform_reduce | ( | Vector< S1, LO, GO, Node > & | vec_inout, | 
| const Vector< S2, LO, GO, Node > & | vec_in2, | ||
| const Vector< S3, LO, GO, Node > & | vec_in3, | ||
| Glob | glob | ||
| ) | 
Transforms values of vec_inout while simultaneously performing a parallel reduction. 
For each element triplet vec_inout[i] and vec_in2[i] and vec_in3[i], assigns vec_inout[i] = glob.top( vec_inout[i], vec_in2[i], vec_in3[i] ). Simultaneously, generates reduction elements via glob.genop( vec_inout[i], vec_in2[i], vec_in3[i] ) (using the transformed values) and reduces them via the glob.redop tertiary functor.
Calls Tpetra::RTI::detail::transform_reduce via the Tpetra::RTI::detail::RTIPreTransformReductionAdapter3.
Definition at line 273 of file Tpetra_RTI.hpp.
| RCP<const KernelOp<S,LO,GO,Node,Kernel> > Tpetra::RTI::kernelOp | ( | Kernel | kernel, | 
| const RCP< const Map< LO, GO, Node > > & | domainMap, | ||
| const RCP< const Map< LO, GO, Node > > & | rangeMap = null, | ||
| const RCP< const Import< LO, GO, Node > > & | importer = null, | ||
| const RCP< const Export< LO, GO, Node > > & | exporter = null | ||
| ) | 
Non-member constructor for a Tpetra::RTI::KernelOp object.
Definition at line 160 of file Tpetra_RTIOp.hpp.
| RCP<const BinaryOp<S,LO,GO,Node,Op> > Tpetra::RTI::binaryOp | ( | Op | op, | 
| const RCP< const Map< LO, GO, Node > > & | domainMap, | ||
| const RCP< const Map< LO, GO, Node > > & | rangeMap = null, | ||
| const RCP< const Import< LO, GO, Node > > & | importer = null, | ||
| const RCP< const Export< LO, GO, Node > > & | exporter = null | ||
| ) | 
Non-member constructor for a Tpetra::RTI::BinaryOp object.
Definition at line 187 of file Tpetra_RTIOp.hpp.
 1.8.5
 1.8.5