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_core * | nm_core_t |
| typedef struct nm_drv_s * | nm_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
Definition at line 60 of file nm_core_interface.h.
◆ 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
| typedef enum nm_thread_level_e nm_thread_level_t |
Definition at line 119 of file nm_core_interface.h.
Enumeration Type Documentation
◆ nm_thread_level_e
| enum 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()
wait for connection completion
◆ nm_core_gate_new()
Init a new gate, using the given set of drivers.
◆ nm_core_get_thread_level()
| nm_thread_level_t nm_core_get_thread_level | ( | nm_core_t | ) |
Get the current thread level.
Referenced by nm_atomic_add(), nm_atomic_compare_and_swap(), nm_atomic_dec(), nm_atomic_inc(), nm_mem_fence(), nm_spin_check_nothread(), nm_spin_clear_nothread(), nm_spin_lock(), nm_spin_trylock(), and nm_spin_unlock().
◆ 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
|
private |
Referenced by __attribute__().