This guide explains how to configure and run tests in InfiniMetrics.
Test specifications are provided in JSON format. A typical configuration file looks like this:
{
"run_id": "unique_run_identifier",
"testcase": "hardware.cudaUnified.Comprehensive",
"config": {
"device": "nvidia",
"array_size": 67108864,
"output_dir": "./output"
},
"metrics": [
{"name": "hardware.mem_bw_h2d"},
{"name": "hardware.mem_bw_d2h"},
{"name": "hardware.stream_triad"}
]
}| Parameter | Type | Description | Default |
|---|---|---|---|
run_id |
string | Unique test run identifier | Required |
testcase |
string | Test type identifier | Required |
config.device |
string | Accelerator type (nvidia/amd/huawei/cambricon) | nvidia |
config.array_size |
int | Array size for STREAM tests | 67108864 |
config.output_dir |
string | Output directory path | ./output |
Format: <category>.<framework>.<test_name>
hardware- Hardware-level testsoperator- Operator-level testsinfer- Inference testscomm- Communication tests
cudaUnified- CUDA unified memory testsinfinicore- InfiniCore operator testsinfinilm- InfiniLM inference testsvllm- vLLM inference testsnccltest- NCCL communication tests
hardware.cudaUnified.Comprehensiveoperator.infinicore.Matmulinfer.infinilm.directcomm.nccltest.AllReduce
python main.py input.json# Run all JSON configs in a directory
python main.py ./test_configs/python main.py input.json --verbosepython main.py input.json --output ./results{
"run_id": "hw_test_001",
"testcase": "hardware.cudaUnified.Comprehensive",
"config": {
"device": "nvidia",
"array_size": 67108864,
"output_dir": "./output"
},
"metrics": [
{"name": "hardware.mem_sweep_h2d"},
{"name": "hardware.stream_triad"}
]
}{
"run_id": "infer_test_001",
"testcase": "infer.infinilm.direct",
"config": {
"model_path": "/path/to/model",
"batch_size": 32,
"output_dir": "./output"
},
"metrics": [
{"name": "infer.throughput"},
{"name": "infer.latency"}
]
}