libxmp/libxmpf in Omni Compiler  1.3.4
xmp_nodes_stack.c File Reference
#include "mpi.h"
#include "xmp_internal.h"
Include dependency graph for xmp_nodes_stack.c:

Data Structures

struct  _XMP_nodes_dish_type
 

Macros

#define MPI_PORTABLE_PLATFORM_H
 

Typedefs

typedef struct _XMP_nodes_dish_type _XMP_nodes_dish_t
 

Functions

void _XMP_push_nodes (_XMP_nodes_t *nodes)
 
void _XMP_pop_nodes (void)
 
void _XMP_pop_n_free_nodes (void)
 
void _XMP_pop_n_free_nodes_wo_finalize_comm (void)
 
_XMP_nodes_t_XMP_get_execution_nodes (void)
 
int _XMP_get_execution_nodes_rank (void)
 
void _XMP_push_comm (_XMP_comm_t *comm)
 
void _XMP_finalize_comm (_XMP_comm_t *comm)
 

Macro Definition Documentation

◆ MPI_PORTABLE_PLATFORM_H

#define MPI_PORTABLE_PLATFORM_H

Typedef Documentation

◆ _XMP_nodes_dish_t

Function Documentation

◆ _XMP_finalize_comm()

void _XMP_finalize_comm ( _XMP_comm_t comm)
62 {
63  MPI_Comm_free(comm);
64  _XMP_free(comm);
65 }

◆ _XMP_get_execution_nodes()

_XMP_nodes_t* _XMP_get_execution_nodes ( void  )
47 {
48  return _XMP_nodes_stack_top->nodes;
49 }
Here is the caller graph for this function:

◆ _XMP_get_execution_nodes_rank()

int _XMP_get_execution_nodes_rank ( void  )
52 {
54 }
Here is the call graph for this function:

◆ _XMP_pop_n_free_nodes()

void _XMP_pop_n_free_nodes ( void  )
31 {
32  _XMP_nodes_dish_t *freed_dish = _XMP_nodes_stack_top;
33  _XMP_nodes_stack_top = freed_dish->prev;
34  _XMP_finalize_nodes(freed_dish->nodes);
35  _XMP_free(freed_dish);
36 }

◆ _XMP_pop_n_free_nodes_wo_finalize_comm()

void _XMP_pop_n_free_nodes_wo_finalize_comm ( void  )
39 {
40  _XMP_nodes_dish_t *freed_dish = _XMP_nodes_stack_top;
41  _XMP_nodes_stack_top = freed_dish->prev;
42  _XMP_free(freed_dish->nodes);
43  _XMP_free(freed_dish);
44 }

◆ _XMP_pop_nodes()

void _XMP_pop_nodes ( void  )
24 {
25  _XMP_nodes_dish_t *freed_dish = _XMP_nodes_stack_top;
26  _XMP_nodes_stack_top = freed_dish->prev;
27  _XMP_free(freed_dish);
28 }

◆ _XMP_push_comm()

void _XMP_push_comm ( _XMP_comm_t comm)

◆ _XMP_push_nodes()

void _XMP_push_nodes ( _XMP_nodes_t nodes)
16 {
17  _XMP_nodes_dish_t *new_dish = _XMP_alloc(sizeof(_XMP_nodes_dish_t));
18  new_dish->nodes = nodes;
19  new_dish->prev = _XMP_nodes_stack_top;
20  _XMP_nodes_stack_top = new_dish;
21 }
Here is the call graph for this function:
_XMP_alloc
void * _XMP_alloc(size_t size)
Definition: xmp_util.c:21
_XMP_finalize_nodes
void _XMP_finalize_nodes(void *nodes)
_XMP_push_nodes
void _XMP_push_nodes(_XMP_nodes_t *nodes)
Definition: xmp_nodes_stack.c:15
_XMP_nodes_dish_type::prev
struct _XMP_nodes_dish_type * prev
Definition: xmp_nodes_stack.c:10
_XMP_nodes_dish_type::nodes
_XMP_nodes_t * nodes
Definition: xmp_nodes_stack.c:9
_XMP_nodes_type::comm_rank
int comm_rank
Definition: xmp_data_struct.h:52
_XMP_get_execution_nodes
_XMP_nodes_t * _XMP_get_execution_nodes(void)
Definition: xmp_nodes_stack.c:46
_XMP_free
void _XMP_free(void *p)
Definition: xmp_util.c:37
_XMP_create_nodes_by_comm
_XMP_nodes_t * _XMP_create_nodes_by_comm(int is_member, _XMP_comm_t *comm)
Definition: xmp_nodes.c:1007
_XMP_nodes_dish_type
Definition: xmp_nodes_stack.c:8
_XMP_N_INT_TRUE
#define _XMP_N_INT_TRUE
Definition: xmp_constant.h:4