Adaptyst
A comprehensive and architecture-agnostic performance analysis tool
Loading...
Searching...
No Matches
hw.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 CERN
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4#ifndef ADAPTYST_HW_H_
5#define ADAPTYST_HW_H_
6
7#ifndef __cplusplus
8#include <stdbool.h>
9#endif
10
11#include <adaptyst/amod_t.h>
12
62#define ADAPTYST_OK 0
63#define ADAPTYST_ERR_MODULE_NOT_FOUND 1
64#define ADAPTYST_ERR_OUT_OF_MEMORY 2
65#define ADAPTYST_ERR_EXCEPTION 3
66#define ADAPTYST_ERR_TERMINAL_NOT_INITIALISED 4
67#define ADAPTYST_ERR_LOG_DIR_CREATE 5
68#define ADAPTYST_ERR_INIT_ONLY 6
69#define ADAPTYST_ERR_TIMEOUT 7
70#define ADAPTYST_ERR_WORKFLOW_NOT_STARTED 8
71#define ADAPTYST_ERR_TIMESTAMP 9
72#define ADAPTYST_ERR_WORKFLOW_RUNNING 10
73
87#define ADAPTYST_IR_MLIR 100
88#define ADAPTYST_IR_SINGLE_CMD 101
89
90#ifdef __cplusplus
91extern "C" {
92#endif
97 typedef struct {
103 unsigned int type;
104
120 void *data;
121 } ir;
122
126 typedef enum {
128 INT = 1,
134 BOOL = 4,
137 } option_type;
138
142 typedef struct {
145
150 void *data;
151
155 unsigned int len;
156 } option;
157
161 typedef enum {
164 } profile_type;
165
169 typedef struct {
173 union {
178 int pid;
179 } data;
180 } profile_info;
181
191 const char *adaptyst_get_library_dir(amod_t id);
192
203 option *adaptyst_get_option(amod_t id, const char *key);
204
213 bool adaptyst_set_error(amod_t id, const char *msg);
214
224 const char *adaptyst_get_log_dir(amod_t id);
225
236 bool adaptyst_send_data(amod_t id, char *buf, unsigned int n);
237
250 bool adaptyst_receive_data(amod_t id, char *buf, unsigned int buf_size, int *n);
251
267 bool adaptyst_receive_data_timeout(amod_t id, char *buf, unsigned int buf_size,
268 int *n, long timeout_seconds);
269
282 bool adaptyst_send_string(amod_t id, const char *str);
283
300 bool adaptyst_receive_string(amod_t id, const char **str);
301
321 bool adaptyst_receive_string_timeout(amod_t id, const char **str,
322 long timeout_seconds);
323
332 const char *adaptyst_get_node_name(amod_t id);
333
343 bool adaptyst_log(amod_t id, const char *msg, const char *type);
344
359 bool adaptyst_print(amod_t id, const char *msg, bool sub, bool error,
360 const char *type);
361
371 const char *adaptyst_get_module_dir(amod_t id);
372
384
401
409
418
428
439 bool adaptyst_process_src_paths(amod_t id, const char **paths, int n);
440
457 const char *adaptyst_get_cpu_mask(amod_t id);
458
467 const char *adaptyst_get_tmp_dir(amod_t id);
468
479
492 bool adaptyst_set_will_profile(amod_t id, bool will_profile);
493
505 bool adaptyst_has_in_tag(amod_t id, const char *tag);
506
517 bool adaptyst_has_out_tag(amod_t id, const char *tag);
518
528
537
547 unsigned long long adaptyst_get_timestamp(amod_t id);
548
566 unsigned long long adaptyst_get_workflow_start_time(amod_t id);
567
582 unsigned long long adaptyst_get_workflow_end_time(amod_t id);
583
604
605#ifdef ADAPTYST_MODULE_ENTRYPOINT
606 bool adaptyst_module_init(amod_t module_id);
607 bool adaptyst_module_process(amod_t module_id, ir workflow);
608 void adaptyst_module_close(amod_t module_id);
609
610 bool adaptyst_region_start(amod_t module_id, const char *name,
611 const char *part_id, const char *timestamp_str);
612 bool adaptyst_region_end(amod_t module_id, const char *name,
613 const char *part_id, const char *timestamp_str);
614#endif
615#ifdef __cplusplus
616}
617#endif
618
619#endif
unsigned int amod_t
Definition amod_t.h:7
option_type
Definition hw.h:126
@ UNSIGNED_INT
Definition hw.h:132
@ NONE
Definition hw.h:136
@ BOOL
Definition hw.h:134
@ STRING
Definition hw.h:130
@ INT
Definition hw.h:128
bool adaptyst_print(amod_t id, const char *msg, bool sub, bool error, const char *type)
Definition system.cpp:292
const char * adaptyst_get_tmp_dir(amod_t id)
Definition system.cpp:438
bool adaptyst_is_workflow_running(amod_t id)
Definition system.cpp:602
bool adaptyst_log(amod_t id, const char *msg, const char *type)
Definition system.cpp:269
bool adaptyst_is_directing_node(amod_t id)
Definition system.cpp:362
bool adaptyst_process_src_paths(amod_t id, const char **paths, int n)
Definition system.cpp:404
bool adaptyst_send_data(amod_t id, char *buf, unsigned int n)
Definition inject.cpp:608
const char * adaptyst_get_library_dir(amod_t id)
Definition system.cpp:73
bool adaptyst_receive_data(amod_t id, char *buf, unsigned int buf_size, int *n)
Definition inject.cpp:614
bool adaptyst_receive_data_timeout(amod_t id, char *buf, unsigned int buf_size, int *n, long timeout_seconds)
Definition inject.cpp:621
unsigned long long adaptyst_get_workflow_start_time(amod_t id)
Definition system.cpp:551
bool adaptyst_has_in_tag(amod_t id, const char *tag)
Definition system.cpp:484
int adaptyst_get_internal_error_code(amod_t id)
Definition system.cpp:524
option * adaptyst_get_option(amod_t id, const char *key)
Definition system.cpp:83
int adaptyst_profile_wait(amod_t id)
Definition system.cpp:389
const char * adaptyst_get_internal_error_msg(amod_t id)
Definition system.cpp:514
bool adaptyst_set_will_profile(amod_t id, bool will_profile)
Definition system.cpp:468
const char * adaptyst_get_cpu_mask(amod_t id)
Definition system.cpp:418
profile_type
Definition hw.h:161
@ LINUX_PROCESS
Definition hw.h:163
bool adaptyst_send_string(amod_t id, const char *str)
Definition inject.cpp:629
const char * adaptyst_get_log_dir(amod_t id)
Definition system.cpp:111
const char * adaptyst_get_node_name(amod_t id)
Definition system.cpp:259
bool adaptyst_set_error(amod_t id, const char *msg)
Definition system.cpp:100
bool adaptyst_profile_notify(amod_t id)
Definition system.cpp:372
bool adaptyst_set_profile_info(amod_t id, profile_info *info)
Definition system.cpp:346
profile_info * adaptyst_get_profile_info(amod_t id)
Definition system.cpp:331
unsigned long long adaptyst_get_timestamp(amod_t id)
Definition system.cpp:534
const char * adaptyst_get_module_dir(amod_t id)
Definition system.cpp:316
bool adaptyst_receive_string_timeout(amod_t id, const char **str, long timeout_seconds)
Definition inject.cpp:641
unsigned long long adaptyst_get_workflow_end_time(amod_t id)
Definition system.cpp:574
const char * adaptyst_get_local_config_dir(amod_t id)
Definition system.cpp:453
bool adaptyst_has_out_tag(amod_t id, const char *tag)
Definition system.cpp:499
bool adaptyst_receive_string(amod_t id, const char **str)
Definition inject.cpp:635
int adaptyst_region_end(const char *name)
Definition inject.cpp:705
int adaptyst_region_start(const char *name)
Definition inject.cpp:699
Definition hw.h:97
void * data
Definition hw.h:120
unsigned int type
Definition hw.h:103
Definition hw.h:142
void * data
Definition hw.h:150
option_type type
Definition hw.h:144
unsigned int len
Definition hw.h:155
Definition hw.h:169
profile_type type
Definition hw.h:171
int pid
Definition hw.h:178