README.md 1.13 KB
Newer Older
helloyongyang's avatar
helloyongyang committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# lightx2v_kernel

### Preparation
```
# Install torch, at least version 2.7

pip install scikit_build_core uv
```

### Build whl
```
MAX_JOBS=$(nproc) && CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) \
uv build --wheel \
    -Cbuild-dir=build . \
    --verbose \
    --color=always \
    --no-build-isolation
```

During the above build process, the cutlass source code will be downloaded automatically. If you have already downloaded the source code, you can specify the local cutlass path:
```
MAX_JOBS=$(nproc) && CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) \
uv build --wheel \
    -Cbuild-dir=build . \
    -Ccmake.define.CUTLASS_PATH=/path/to/cutlass \
    --verbose \
    --color=always \
    --no-build-isolation
```


### Install whl
```
pip install dist/*whl --force-reinstall --no-deps
```

### Test

##### cos and speed test, mm without bias
```
helloyongyang's avatar
helloyongyang committed
41
python test/nvfp4_nvfp4/test_bench2.py
helloyongyang's avatar
helloyongyang committed
42
43
44
45
```

##### cos and speed test, mm with bias
```
helloyongyang's avatar
helloyongyang committed
46
python test/nvfp4_nvfp4/test_bench3_bias.py
helloyongyang's avatar
helloyongyang committed
47
48
49
50
```

##### Bandwidth utilization test for quant
```
helloyongyang's avatar
helloyongyang committed
51
python test/nvfp4_nvfp4/test_quant_mem_utils.py
helloyongyang's avatar
helloyongyang committed
52
53
54
55
```

##### tflops test for mm
```
helloyongyang's avatar
helloyongyang committed
56
python test/nvfp4_nvfp4/test_mm_tflops.py
helloyongyang's avatar
helloyongyang committed
57
```