benchmark-toolbox: CUDA95 integration

This commit is contained in:
souldbminersmwc committed 2026-09-12 17:17:21 -04:00
1 parent 5dacd30dd3
commit 4fb9615653
7 files changed
+1464 -3

No files matched your search

@@ -0,0 +1,70 @@
#pragma once
// CUDA-95NX backend.
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#define CUDA95_NUM_PROFILES 4
#define CUDA95_REPEATS_MIN 1u
#define CUDA95_REPEATS_MAX 256u
#define CUDA95_LOG_LINES 8
#define CUDA95_LOG_COLS 96
// Profiles
// 0 = balanced
// 1 = core
// 2 = dram
// 3 = l2
typedef struct {
uint64_t batches;
uint64_t detected;
uint64_t transient;
uint64_t persistent;
uint64_t selfFail;
uint64_t dataBad;
uint64_t warnings;
uint64_t timeouts;
double dispPerSec;
double gbps;
uint32_t goldDigest;
uint32_t goldMismatch;
uint64_t elapsedSec;
int profile;
unsigned repeats;
int calibrating;
int running;
int error;
char status[96];
char log[CUDA95_LOG_LINES][CUDA95_LOG_COLS];
unsigned logLines;
} cuda95_status_t;
void cuda95_start(int profile, unsigned repeats);
void cuda95_stop(void);
int cuda95_running(void);
void cuda95_get(cuda95_status_t *out);
void cuda95_set_profile(int profile);
void cuda95_set_repeats(unsigned repeats);
const char *cuda95_profile_name(int profile);
unsigned cuda95_profile_alu(int profile);
unsigned cuda95_profile_gather(int profile);
#ifdef __cplusplus
}
#endif