Memclave Artifact Documentation
Loading...
Searching...
No Matches
vud_mem.h
Go to the documentation of this file.
1#ifndef ROUTER_VUD_MEM_H
2#define ROUTER_VUD_MEM_H
3
4#include "vud.h"
5
6#include <stdint.h>
7
8typedef uint32_t vud_mram_addr;
9typedef uint32_t vud_mram_size;
10
18void vud_broadcast_transfer(vud_rank* r, vud_mram_size sz, const uint64_t (*src)[sz], vud_mram_addr tgt);
19
27void vud_simple_transfer(vud_rank* r, vud_mram_size sz, const uint64_t* (*src)[64], vud_mram_addr tgt);
28
36void vud_simple_gather(vud_rank* r, vud_mram_size sz, vud_mram_addr src, uint64_t* (*tgt)[64]);
37
49void vud_broadcast_to(vud_rank* r, vud_mram_size sz, const uint64_t (*src)[sz], const char* symbol);
50
58void vud_transfer_to(vud_rank* r, vud_mram_size sz, const uint64_t* (*src)[64], const char* symbol);
59
67void vud_gather_from(vud_rank* r, vud_mram_size sz, const char* symbol, uint64_t* (*tgt)[64]);
68
69#endif
Definition vud.h:31
void vud_simple_transfer(vud_rank *r, vud_mram_size sz, const uint64_t *(*src)[64], vud_mram_addr tgt)
transfer 64 possibly different buffers to the DPUs of one rank
uint32_t vud_mram_addr
Definition vud_mem.h:8
void vud_broadcast_to(vud_rank *r, vud_mram_size sz, const uint64_t(*src)[sz], const char *symbol)
broadcast data to some variable in MRAM
void vud_broadcast_transfer(vud_rank *r, vud_mram_size sz, const uint64_t(*src)[sz], vud_mram_addr tgt)
transfer the same buffer to all DPUs of one rank
uint32_t vud_mram_size
Definition vud_mem.h:9
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
void vud_transfer_to(vud_rank *r, vud_mram_size sz, const uint64_t *(*src)[64], const char *symbol)
transfer per-DPU data to some variable in MRAM
void vud_gather_from(vud_rank *r, vud_mram_size sz, const char *symbol, uint64_t *(*tgt)[64])
gather data per-DPU from some variable in MRAM