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
20
static
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
}
30
vud_simple_gather
(r,
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
vud_rank
Definition
vud.h:31
vud_rank::err
vud_error err
Definition
vud.h:34
vud.h
SK_LOG_OFFSET
#define SK_LOG_OFFSET
Definition
vud_log.h:14
SK_LOG_MAX_ENTRIES
#define SK_LOG_MAX_ENTRIES
number of 8‑byte slots
Definition
vud_log.h:16
vud_mem.h
vud_simple_gather
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
ime-client-library
src
vud_log.h
Generated by
1.9.8