27 #ifndef _H_GRB_EXEC_BASE 28 #define _H_GRB_EXEC_BASE 46 template<
typename InputType,
typename OutputType >
47 using AlpTypedFunc = void ( * )(
const InputType &, OutputType & );
52 template<
typename OutputType >
140 template< enum EXEC_MODE mode, enum Backend backend >
208 const size_t process_id = 0,
209 const size_t nprocs = 1,
210 const std::string hostname =
"localhost",
211 const std::string port =
"0" 218 #ifndef _GRB_NO_EXCEPTIONS 221 throw std::invalid_argument(
"Total number of user processes must be " 222 "strictly larger than zero." );
224 if( process_id >= nprocs ) {
225 throw std::invalid_argument(
"Process ID must be strictly smaller than " 226 "total number of user processes." );
317 template<
typename T,
typename U >
322 const bool broadcast =
false 372 template<
typename U >
375 const void * data_in,
376 const size_t in_size,
378 const bool broadcast =
false 439 #endif // end _H_GRB_EXEC_BASE Defines the ALP error codes.
RC exec(AlpTypedFunc< T, U > alp_program, const T &data_in, U &data_out, const bool broadcast=false) const
Executes a given ALP program using the user processes encapsulated by this launcher group.
Definition: exec.hpp:318
This file contains a register of all backends that are either implemented, under implementation,...
RC
Return codes of ALP primitives.
Definition: rc.hpp:47
void(*)(const InputType &, OutputType &) AlpTypedFunc
Type definition for an ALP function with input type information.
Definition: exec.hpp:47
Automatic mode.
Definition: exec.hpp:95
RC exec(AlpUntypedFunc< U > alp_program, const void *data_in, const size_t in_size, U &data_out, const bool broadcast=false) const
Executes a given ALP program using the user processes encapsulated by this launcher group.
Definition: exec.hpp:373
From MPI mode.
Definition: exec.hpp:113
Manual mode.
Definition: exec.hpp:103
Launcher(const size_t process_id=0, const size_t nprocs=1, const std::string hostname="localhost", const std::string port="0")
Constructs a new grb::Launcher.
Definition: exec.hpp:207
void(*)(const void *, size_t, OutputType &) AlpUntypedFunc
Type definition for an ALP function without input type information.
Definition: exec.hpp:53
EXEC_MODE
The various ways in which the grb::Launcher can be used to execute an ALP program.
Definition: exec.hpp:87
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:477
Generic fatal error code.
Definition: rc.hpp:68
A group of user processes that together execute ALP programs.
Definition: exec.hpp:141
static RC finalize()
Releases all ALP resources.
Definition: exec.hpp:431