==> 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