README.md 1.14 KB
Newer Older
1
2
3
4
5
6
GEMV Benchmarks
---------------

模仿 GEMM 接口的 GEMV,即 N=1,实现 BF16 版本。这些矩阵形状来自于 Evo2 推理过程。

计算公式:y = alpha * A^T * x + beta * y
7
8
9
10
- M: 输出维度,例如 11264
- K: 归约维度,例如 4096
- N: 始终为 1
- beta: 为 0 或 1
11
12
13
14
15

## Build

```bash
# 使用 HIPCC:
one's avatar
one committed
16
make CXX_COMPILER=hipcc GPU_ARCH=gfx936
17
18

# 使用 NVCC:
one's avatar
one committed
19
make CXX_COMPILER=nvcc GPU_ARCH=sm_80
20
21
22
23
24
25
```

## Run

```bash
# BW系列:
26
27
28
29
HIP_VISIBLE_DEVICES=1 numactl -N 0 -m 0 ./gemv_bench --verify 1 -M 11264 -K 4096  --alpha 1 --beta 0 -B 128
HIP_VISIBLE_DEVICES=1 numactl -N 0 -m 0 ./gemv_bench --verify 1 -M 4096  -K 11264 --alpha 1 --beta 0 -B 128
HIP_VISIBLE_DEVICES=1 numactl -N 0 -m 0 ./gemv_bench --verify 1 -M 12288 -K 4096  --alpha 1 --beta 0 -B 128
HIP_VISIBLE_DEVICES=1 numactl -N 0 -m 0 ./gemv_bench --verify 1 -M 4096  -K 4096  --alpha 1 --beta 1 -B 128
30
31

# A800:
32
33
34
35
./gemv_bench --verify 1 -M 11264 -K 4096  --alpha 1 --beta 0 -B 256
./gemv_bench --verify 1 -M 4096  -K 11264 --alpha 1 --beta 0 -B 256
./gemv_bench --verify 1 -M 12288 -K 4096  --alpha 1 --beta 0 -B 256
./gemv_bench --verify 1 -M 4096  -K 4096  --alpha 1 --beta 1 -B 256
36
```