NewMadeleine

Documentation

« back to PM2 home.

Data Structures

struct  nm_core_internal_s
 exposed here for inlining; do not use this value, use the accessor nm_core_get_singleton() More...
 

Typedefs

typedef struct nm_corenm_core_t
 
typedef struct nm_drv_snm_drv_t
 a nmad driver; opaque type for the user
 
typedef enum nm_thread_level_e nm_thread_level_t
 

Enumerations

enum  nm_thread_level_e { NM_THREAD_SINGLE = 0 , NM_THREAD_FUNNELED = 1 , NM_THREAD_SERIALIZED = 2 , NM_THREAD_MULTIPLE = 3 }
 

Functions

puk_component_t nm_core_component_load (const char *entity, const char *name)
 
int nm_core_init (nm_core_t *pp_core)
 
int nm_core_set_strategy (nm_core_t p_core, puk_component_t strategy)
 
int nm_core_exit (nm_core_t p_core)
 
void nm_core_schedopt_disable (nm_core_t p_core)
 disable schedopt for raw driver use
 
 __attribute__ ((pure)) static inline nm_core_t nm_core_get_singleton(void)
 
void nm_trace_add_synchro_point (void)
 generate a synchronization event to synchronize nmad traces with others (e.g.
 
 PUK_VECT_TYPE (nm_drv, nm_drv_t)
 
int nm_core_driver_load_init (nm_core_t p_core, puk_component_t driver, nm_trk_kind_t kind, nm_drv_t *pp_drv, const char **p_url)
 
nm_gate_t nm_core_gate_new (nm_core_t p_core, nm_drv_vect_t *p_drvs)
 Init a new gate, using the given set of drivers.
 
void nm_core_gate_connect_async (nm_core_t p_core, nm_gate_t gate, nm_drv_t p_drv, nm_trk_id_t trk_id, const char *url)
 start connection process on given gate/trk
 
void nm_core_gate_connect_wait (nm_core_t p_core, struct nm_trk_s *p_trk)
 wait for connection completion
 
nm_thread_level_t nm_core_get_thread_level (nm_core_t)
 Get the current thread level.
 
void nm_core_set_thread_level (nm_thread_level_t)
 Sets the thread level before nm core init.
 
int nm_schedule (nm_core_t p_core)
 

Variables

struct nm_core_internal_s nm_core_internal
 

Detailed Description

Typedef Documentation

◆ nm_core_t

typedef struct nm_core* nm_core_t

Definition at line 60 of file nm_core_interface.h.

◆ nm_drv_t

typedef struct nm_drv_s* nm_drv_t

a nmad driver; opaque type for the user

Definition at line 92 of file nm_core_interface.h.

◆ nm_thread_level_t

Definition at line 119 of file nm_core_interface.h.

Enumeration Type Documentation

◆ nm_thread_level_e

Enumerator
NM_THREAD_SINGLE 
NM_THREAD_FUNNELED 
NM_THREAD_SERIALIZED 
NM_THREAD_MULTIPLE 

Definition at line 112 of file nm_core_interface.h.

Function Documentation

◆ __attribute__()

__attribute__ ( (pure)  )

Definition at line 79 of file nm_core_interface.h.

References nm_core_internal, and nm_core_internal_s::p_core_singleton.

◆ nm_core_component_load()

puk_component_t nm_core_component_load ( const char *  entity,
const char *  name 
)

◆ nm_core_driver_load_init()

int nm_core_driver_load_init ( nm_core_t  p_core,
puk_component_t  driver,
nm_trk_kind_t  kind,
nm_drv_t pp_drv,
const char **  p_url 
)

◆ nm_core_exit()

int nm_core_exit ( nm_core_t  p_core)

◆ nm_core_gate_connect_async()

void nm_core_gate_connect_async ( nm_core_t  p_core,
nm_gate_t  gate,
nm_drv_t  p_drv,
nm_trk_id_t  trk_id,
const char *  url 
)

start connection process on given gate/trk

◆ nm_core_gate_connect_wait()

void nm_core_gate_connect_wait ( nm_core_t  p_core,
struct nm_trk_s p_trk 
)

wait for connection completion

◆ nm_core_gate_new()

nm_gate_t nm_core_gate_new ( nm_core_t  p_core,
nm_drv_vect_t *  p_drvs 
)

Init a new gate, using the given set of drivers.

◆ nm_core_get_thread_level()

◆ nm_core_init()

int nm_core_init ( nm_core_t pp_core)

◆ nm_core_schedopt_disable()

void nm_core_schedopt_disable ( nm_core_t  p_core)

disable schedopt for raw driver use

◆ nm_core_set_strategy()

int nm_core_set_strategy ( nm_core_t  p_core,
puk_component_t  strategy 
)

◆ nm_core_set_thread_level()

void nm_core_set_thread_level ( nm_thread_level_t  )

Sets the thread level before nm core init.

Note
should be called before init

◆ nm_schedule()

int nm_schedule ( nm_core_t  p_core)

Referenced by nm_cond_wait().

◆ nm_trace_add_synchro_point()

void nm_trace_add_synchro_point ( void  )

generate a synchronization event to synchronize nmad traces with others (e.g.

StarPU)

◆ PUK_VECT_TYPE()

PUK_VECT_TYPE ( nm_drv  ,
nm_drv_t   
)

Variable Documentation

◆ nm_core_internal

struct nm_core_internal_s nm_core_internal
private

Referenced by __attribute__().