skip to content
==> tests/fixture.h <==
1/* The Rust tests' fleet: dgx-00, gx10-9959, being (x86), the Mac (Metal) (sched_tests.rs member/fleet4). */
2#ifndef FIXTURE_H
3#define FIXTURE_H
4
5#include "mesh/sched_member.h"
6#include "mesh/sched_needs.h"
7
8#include <string.h>
9
10static msm_member member(uint32_t id, const char *gpu, const char *host) {
11    msm_member m = msm_member_default();
12    m.id = id;
13    m.up = true;
14    MSM_SET(m.host, host);
15    MSM_SET(m.gpu, gpu);
16    MSM_SET(m.arch, strcmp(gpu, "cuda") == 0 && id == 2 ? "x86_64" : "aarch64");
17    m.cpus = 20;
18    m.ram_mb = 120000;
19    m.mem_avail_mb = 80000;
20    m.gpu_share = mof32_some(0.5f);
21    m.cpu_util = 0.1f;
22    m.psi_cpu = mof32_some(0.01f);
23    m.psi_mem = mof32_some(0.0f);
24    m.load_known = true;
25    m.nrtt = 4;
26    for (int i = 0; i < 4; i++) m.rtt_us[i] = mof32_some(300.0f);
27    m.heap_kb = 7000;
28    m.slots_free = 28;
29    m.max_threads = 1024;
30    m.max_shared = strcmp(gpu, "metal") == 0 ? 32768 : 101376;
31    return m;
32}
33
34static void fleet4(msm_member ms[4]) {
35    ms[0] = member(0, "cuda", "dgx-00");
36    ms[1] = member(1, "cuda", "gx10-9959");
37    ms[2] = member(2, "cuda", "being");
38    ms[3] = member(3, "metal", "monumentals-mac-studio.local");
39}
40
41static mesh_needs needs(const char *b0, const char *b1, const char *b2) {
42    mesh_needs n = msn_default();
43    mesh_strs_free(n.backends, n.nbackends), n.backends = NULL, n.nbackends = 0;
44    if (b0) msn_strs_push(&n.backends, &n.nbackends, b0);
45    if (b1) msn_strs_push(&n.backends, &n.nbackends, b1);
46    if (b2) msn_strs_push(&n.backends, &n.nbackends, b2);
47    return n;
48}
49
50static mesh_term term(mesh_term_kind k, const char *s, uint32_t sys) { return msn_term_new(k, s, sys); }
51
52#endif