27#ifndef _H_GRB_EXEC_BASE 
   28#define _H_GRB_EXEC_BASE 
   96    template< enum EXEC_MODE mode, enum Backend backend >
 
  141                const size_t process_id = 0,
 
  142                const size_t nprocs = 1,
 
  143                const std::string hostname = 
"localhost",
 
  144                const std::string port = 
"0" 
  148                (void) hostname; (void) port;
 
  150#ifndef _GRB_NO_EXCEPTIONS 
  153                    throw std::invalid_argument( 
"Total number of user processes must be " 
  154                        "strictly larger than zero." );
 
  156                if( process_id >= nprocs ) {
 
  157                    throw std::invalid_argument( 
"Process ID must be strictly smaller than " 
  158                        "total number of user processes." );
 
  209            template< 
typename T, 
typename U >
 
  211                void ( *alp_program )( 
const T &, U & ),
 
  214                const bool broadcast = 
false 
  251            template< 
typename U >
 
  253                void ( *alp_program )( 
const void *, 
const size_t, U & ),
 
  254                const void * data_in,
 
  255                const size_t in_size,
 
  257                const bool broadcast = 
false 
This file contains a register of all backends that are either implemented, under implementation,...
 
A group of user processes that together execute ALP programs.
Definition: exec.hpp:97
 
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:140
 
RC exec(void(*alp_program)(const void *, const size_t, U &), 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:252
 
static RC finalize()
Releases all ALP resources.
Definition: exec.hpp:322
 
RC exec(void(*alp_program)(const T &, U &), 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:210
 
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:452
 
EXEC_MODE
The various ways in which the grb::Launcher can be used to execute an ALP program.
Definition: exec.hpp:56
 
@ AUTOMATIC
Automatic mode.
Definition: exec.hpp:62
 
@ MANUAL
Manual mode.
Definition: exec.hpp:69
 
@ FROM_MPI
When running from an MPI program.
Definition: exec.hpp:76
 
RC
Return codes of ALP primitives.
Definition: rc.hpp:47
 
@ PANIC
Generic fatal error code.
Definition: rc.hpp:68
 
Defines the ALP error codes.