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
117 void *data;
118 } ir;
119
123 typedef enum {
125 INT = 1,
131 BOOL = 4,
134 } option_type;
135
139 typedef struct {
142
147 void *data;
148
152 unsigned int len;
153 } option;
154
158 typedef enum {
161 } profile_type;
162
166 typedef struct {
170 union {
175 int pid;
176 } data;
177 } profile_info;
178
188 const char *adaptyst_get_library_dir(amod_t id);
189
200 option *adaptyst_get_option(amod_t id, const char *key);
201
210 bool adaptyst_set_error(amod_t id, const char *msg);
211
221 const char *adaptyst_get_log_dir(amod_t id);
222
233 bool adaptyst_send_data(amod_t id, char *buf, unsigned int n);
234
247 bool adaptyst_receive_data(amod_t id, char *buf, unsigned int buf_size, int *n);
248
264 bool adaptyst_receive_data_timeout(amod_t id, char *buf, unsigned int buf_size,
265 int *n, long timeout_seconds);
266
279 bool adaptyst_send_string(amod_t id, const char *str);
280
297 bool adaptyst_receive_string(amod_t id, const char **str);
298
318 bool adaptyst_receive_string_timeout(amod_t id, const char **str,
319 long timeout_seconds);
320
329 const char *adaptyst_get_node_name(amod_t id);
330
340 bool adaptyst_log(amod_t id, const char *msg, const char *type);
341
356 bool adaptyst_print(amod_t id, const char *msg, bool sub, bool error,
357 const char *type);
358
368 const char *adaptyst_get_module_dir(amod_t id);
369
381
398
406
415
425
436 bool adaptyst_process_src_paths(amod_t id, const char **paths, int n);
437
454 const char *adaptyst_get_cpu_mask(amod_t id);
455
464 const char *adaptyst_get_tmp_dir(amod_t id);
465
476
489 bool adaptyst_set_will_profile(amod_t id, bool will_profile);
490
502 bool adaptyst_has_in_tag(amod_t id, const char *tag);
503
514 bool adaptyst_has_out_tag(amod_t id, const char *tag);
515
525
534
544 unsigned long long adaptyst_get_timestamp(amod_t id);
545
563 unsigned long long adaptyst_get_workflow_start_time(amod_t id);
564
579 unsigned long long adaptyst_get_workflow_end_time(amod_t id);
580
601
602#ifdef ADAPTYST_MODULE_ENTRYPOINT
603 bool adaptyst_module_init(amod_t module_id);
604 bool adaptyst_module_process(amod_t module_id, ir workflow);
605 void adaptyst_module_close(amod_t module_id);
606
607 bool adaptyst_region_start(amod_t module_id, const char *name,
608 const char *part_id, const char *timestamp_str);
609 bool adaptyst_region_end(amod_t module_id, const char *name,
610 const char *part_id, const char *timestamp_str);
611#endif
612#ifdef __cplusplus
613}
614#endif
615
616#endif
unsigned int amod_t
Definition amod_t.h:7
option_type
Definition hw.h:123
@ UNSIGNED_INT
Definition hw.h:129
@ NONE
Definition hw.h:133
@ BOOL
Definition hw.h:131
@ STRING
Definition hw.h:127
@ INT
Definition hw.h:125
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:158
@ LINUX_PROCESS
Definition hw.h:160
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:117
unsigned int type
Definition hw.h:103
Definition hw.h:139
void * data
Definition hw.h:147
option_type type
Definition hw.h:141
unsigned int len
Definition hw.h:152
Definition hw.h:166
profile_type type
Definition hw.h:168
int pid
Definition hw.h:175