|
Tpetra Matrix/Vector Services
Version of the Day
|
Namespace for Tpetra Reduction/Tranformation Interface. More...
Namespaces | |
| namespace | 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. | |
| 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. | |
| 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_inout using via operator op. | |
| 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_inout using vec_inout, vec_in2 and operator op. | |
| 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_inout using vec_inout, vec_in2, vec_in3 and operator op. | |
| 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_in using the operators instantiated in glob. | |
| 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_in1 and vec_in2 using the operators instantiated in glob. | |
| 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_in2 and vec_in3 using the operators instantiated in glob. | |
| 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_inout while simultaneously performing a parallel reduction. | |
| 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_inout while simultaneously performing a parallel reduction. | |
| 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. | |
| 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. | |
Namespace for Tpetra Reduction/Tranformation Interface.
| ReductionGlob<GOP,ROP,IOP> Tpetra::RTI::reductionGlob | ( | GOP | gop, |
| ROP | rop | ||
| ) | [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.
| TransformReductionGlob<TOP,GOP,ROP,IOP> Tpetra::RTI::reductionGlob | ( | TOP | top, |
| GOP | gop, | ||
| ROP | rop | ||
| ) | [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 171 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 198 of file Tpetra_RTIOp.hpp.
1.7.6.1