fupermod: Functional Performance Models of heterogeneous processors
fupermod_kernel Struct Reference
[Computational kernel of a routine]
Public Attributes | |
int(* | load )(MPI_Comm comm, fupermod_process_conf *conf) |
int(* | unload )(MPI_Comm comm) |
fupermod_complexity | complexity |
int(* | initialize )(long long int d, void **params) |
int(* | execute )(pthread_mutex_t *mutex, void *params) |
int(* | finalize )(void *params) |
Detailed Description
Computational kernel of a routine
Member Data Documentation
int(* fupermod_kernel::load)(MPI_Comm comm, fupermod_process_conf *conf) |
Loads the library. Parses suboptions at root and broadcasts the routines settings in communicator. Some tools are non-MPI, therefore MPI_COMM_NULL should be handled.
- Parameters:
-
comm MPI communicator conf process configuration
- Returns:
- return code
int(* fupermod_kernel::unload)(MPI_Comm comm) |
Unloads the library. Some tools are non-MPI, therefore MPI_COMM_NULL should be handled.
- Parameters:
-
comm MPI communicator
- Returns:
- return code
Complexity
int(* fupermod_kernel::initialize)(long long int d, void **params) |
Initializes the kernel. Allocates data for benchmarking, which should be stored in global variables.
- Parameters:
-
d problem size params kernel parameters (if used, should be allocated here)
- Returns:
- return code
int(* fupermod_kernel::execute)(pthread_mutex_t *mutex, void *params) |
Executes the kernel. Uses the global variables of the kernel. Kernel can be executed in a separate thread to enable termination in case of long run.
- Parameters:
-
mutex a mutex to protect some resources: pthread_mutex_lock(mutex); // use of resources pthread_mutex_unlock(mutex);
params kernel parameters
- Returns:
- return code
int(* fupermod_kernel::finalize)(void *params) |
Finalizes the kernel. Free the memory for the kernel.
- Parameters:
-
params kernel parameters (if used, should be deallocated here)
- Returns:
- return code
The documentation for this struct was generated from the following file:
- fupermod/fupermod_kernel.h