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
 


