Memclave Artifact Documentation
Loading...
Searching...
No Matches
vud_log.h
Go to the documentation of this file.
1// src/vud_log.h
2#ifndef VUD_LOG_H
3#define VUD_LOG_H
4
5#include "vud.h"
6#include "vud_mem.h"
7
8#include <stdint.h>
9
11#define MRAM_SIZE_BYTES (64u << 20)
13#define SK_LOG_SIZE_BYTES 64
14#define SK_LOG_OFFSET (MRAM_SIZE_BYTES - SK_LOG_SIZE_BYTES)
16#define SK_LOG_MAX_ENTRIES (SK_LOG_SIZE_BYTES / sizeof(uint64_t))
17
20static inline int vud_log_read(vud_rank *r,
21 int nb_dpus,
22 uint64_t logs[][SK_LOG_MAX_ENTRIES]) {
23 if (nb_dpus > 64)
24 nb_dpus = 64;
25
26 uint8_t *dsts[64];
27 for (int d = 0; d < nb_dpus; ++d) {
28 dsts[d] = (uint8_t *)logs[d];
29 }
31 SK_LOG_MAX_ENTRIES, // number of 8‑byte words
32 SK_LOG_OFFSET, // byte offset in MRAM
33 dsts);
34 return r->err;
35}
36
37#endif // VUD_LOG_H
38
Definition vud.h:31
vud_error err
Definition vud.h:34
#define SK_LOG_OFFSET
Definition vud_log.h:14
#define SK_LOG_MAX_ENTRIES
number of 8‑byte slots
Definition vud_log.h:16
void vud_simple_gather(vud_rank *r, vud_mram_size sz, vud_mram_addr src, uint64_t *(*tgt)[64])
transfer words from all DPUs to the host