Skip to content

Commit a5ea17f

Browse files
committed
add readme
Signed-off-by: Ivy Zhang <[email protected]>
1 parent 942e080 commit a5ea17f

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Description
2+
3+
This folder contains QA test definitions for TensorRT-LLM, which are executed on a weekly/release schedule. These tests focus on end-to-end validation, accuracy verification, disaggregated testing, and performance benchmarking.
4+
5+
## Test Categories
6+
7+
QA tests are organized into three main categories:
8+
9+
### 1. Functional Tests
10+
Functional tests include E2E (end-to-end), accuracy, and disaggregated test cases:
11+
12+
- **E2E Tests**: Complete workflow validation from model loading to inference output
13+
- **Accuracy Tests**: Model accuracy verification against reference implementations
14+
- **Disaggregated Tests**: Distributed deployment and multi-node scenario validation
15+
16+
### 2. Performance Tests
17+
Performance tests focus on benchmarking and performance validation:
18+
- Baseline performance measurements
19+
- Performance regression detection
20+
- Throughput and latency benchmarking
21+
- Resource utilization analysis
22+
23+
### 3. Triton Backend Tests
24+
Triton backend tests validate the integration with NVIDIA Triton Inference Server:
25+
- Backend functionality validation
26+
- Model serving capabilities
27+
- API compatibility testing
28+
- Integration performance testing
29+
30+
## Dependencies
31+
32+
The following Python packages are required for running QA tests:
33+
34+
```bash
35+
pip install mako oyaml rouge_score lm_eval
36+
```
37+
38+
### Dependency Details
39+
40+
- **mako**: Template engine for test generation and configuration
41+
- **oyaml**: YAML parser with ordered dictionary support
42+
- **rouge_score**: ROUGE evaluation metrics for text generation quality assessment
43+
- **lm_eval**: Language model evaluation framework
44+
45+
## Test Files
46+
47+
This directory contains various test configuration files:
48+
49+
### Functional Test Lists
50+
- `examples_test_list.txt` - Primary test list for single node multi-GPU scenarios (all new test cases should be added here)
51+
- `llm_sanity_test.txt` - Subset of examples for quick torch flow validation
52+
- `benchmark_test_list.txt` - Long-running single node test cases
53+
- `llm_multinodes_function_test.txt` - Multi-node functional test cases
54+
- `llm_release_gb20x.txt` - GB20X release test cases
55+
- `llm_release_rtx_pro_6000.txt` - RTX Pro 6000 specific tests
56+
57+
### Performance Test Files
58+
- `trt_llm_release_perf_test.yml` - Main performance test configuration
59+
- `trt_llm_release_perf_cluster_test.yml` - Cluster-based performance tests
60+
- `trt_llm_release_perf_sanity_test.yml` - Performance sanity checks
61+
- `trt_llm_release_perf_l2_test.yml` - L2 level performance tests
62+
- `trt_llm_integration_perf_test.yml` - Integration performance tests
63+
- `trt_llm_integration_perf_sanity_test.yml` - Integration performance sanity checks
64+
- `llm_release_perf_multinode_test.txt` - Multi-node performance tests
65+
66+
### Triton Backend Tests
67+
- `llm_triton_integration_test.txt` - Triton backend integration tests
68+
69+
### Release-Specific Tests
70+
- `llm_release_digits_func.txt` - Functional tests for DIGITS release
71+
- `llm_release_digits_perf.txt` - Performance tests for DIGITS release
72+
73+
## Test Execution Schedule
74+
75+
QA tests are executed on a regular schedule:
76+
77+
- **Weekly**: Automated regression testing
78+
- **Release**: Comprehensive validation before each release
79+
- **On-demand**: Manual execution for specific validation needs
80+
81+
## Running Tests
82+
83+
### Manual Execution
84+
85+
To run specific test categories:
86+
87+
```bash
88+
# direct to defs folder
89+
cd tests/integration/defs
90+
# Run all fp8 functional test
91+
pytest --no-header -vs --test-list=../test_lists/qa/examples_test_list.txt -k fp8
92+
# Run a single test case
93+
pytest -vs accuracy/test_cli_flow.py::TestLlama3_1_8B::test_auto_dtype
94+
```
95+
96+
### Automated Execution
97+
98+
QA tests are typically executed through CI/CD pipelines with appropriate test selection based on:
99+
100+
- Release requirements
101+
- Hardware availability
102+
- Test priority and scope
103+
104+
## Test Guidelines
105+
106+
### Adding New Test Cases
107+
- **Primary Location**: For functional testing, new test cases should be added to `examples_test_list.txt` first
108+
- **Categorization**: Test cases should be categorized based on their scope and execution time
109+
- **Validation**: Ensure test cases are properly validated before adding to any test list

0 commit comments

Comments
 (0)