Concepts

Kokkos Comm-specific concepts

template<typename T>
concept CommunicationSpace

Specifies that a type T is a Kokkos Comm communication backend.

Constraints for implementing the ``CommunicationSpace`` concept

type T::communication_space
type T::handle_type
type T::request_type
type T::datatype_type
type T::reduction_op_type
type T::rank_type

Types implementing the CommunicationSpace concept

class MpiSpace
using communication_space = MpiSpace
using handle_type = MPI_Comm
using request_type = MPI_Request
using datatype_type = MPI_Datatype
using reduction_op_type = MPI_Op
using rank_type = int
class Experimental::NcclSpace
using communication_space = NcclSpace
using handle_type = ncclComm_t
using request_type = cudaEvent_t
using datatype_type = ncclDataType_t
using reduction_op_type = ncclRedOp_t
using rank_type = int
template<typename T>
concept ReductionOperator

Specifies that a type T is a Kokkos Comm reduction operator.

Types implementing the ReductionOperator concept

class BAnd

The bitwise AND operator (&).

class BOr

The bitwise OR operator (|).

class BXor

The bitwise XOR (exclusive OR) operator (^).

class LAnd

The logical AND operator (&&).

class LOr

The logical OR operator (||).

class LXor

The logical XOR (exclusive OR) operator.

class Max

The MAXIMUM operator.

class MaxLoc

The MAXIMUM with location (index) operator.

class Min

The MINIMUM operator.

class MinLoc

The MINIMUM with location (index) operator.

class Sum

The SUM operator.

class Prod

The PRODUCT operator.

class Average

The AVERAGE operator.

Kokkos interoperability concepts

template<typename T>
concept KokkosView

Specifies that a type T is a Kokkos::View object.

template<typename T>
concept KokkosExecutionSpace

Specifies that a type T is a Kokkos::ExecutionSpace.