Skip to content

Commit ab8da47

Browse files
committed
Add tests from sgemm tutor
1 parent abdea91 commit ab8da47

File tree

13 files changed

+1223
-1
lines changed

13 files changed

+1223
-1
lines changed

blackbox.simx.cache

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-DNUM_CLUSTERS=1 -DNUM_CORES=16 -DNUM_WARPS=16 -DNUM_THREADS=16 +0+0

tests/opencl/Makefile

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ all:
2222
$(MAKE) -C sgemm2
2323
$(MAKE) -C sgemm3
2424
$(MAKE) -C psum
25+
$(MAKE) -C kernel1
26+
$(MAKE) -C kernel2
27+
$(MAKE) -C kernel3
2528

2629
run-simx:
2730
$(MAKE) -C vecadd run-simx
@@ -43,6 +46,9 @@ run-simx:
4346
$(MAKE) -C sgemm2 run-simx
4447
$(MAKE) -C sgemm3 run-simx
4548
$(MAKE) -C psum run-simx
49+
$(MAKE) -C kernel1 run-simx
50+
$(MAKE) -C kernel2 run-simx
51+
$(MAKE) -C kernel3 run-simx
4652

4753
run-rtlsim:
4854
$(MAKE) -C vecadd run-rtlsim
@@ -64,6 +70,9 @@ run-rtlsim:
6470
$(MAKE) -C sgemm2 run-rtlsim
6571
$(MAKE) -C sgemm3 run-rtlsim
6672
$(MAKE) -C psum run-rtlsim
73+
$(MAKE) -C kernel1 run-rtlsim
74+
$(MAKE) -C kernel2 run-rtlsim
75+
$(MAKE) -C kernel3 run-rtlsim
6776

6877
run-opae:
6978
$(MAKE) -C vecadd run-opae
@@ -85,6 +94,9 @@ run-opae:
8594
$(MAKE) -C sgemm2 run-opae
8695
$(MAKE) -C sgemm3 run-opae
8796
$(MAKE) -C psum run-opae
97+
$(MAKE) -C kernel1 run-opae
98+
$(MAKE) -C kernel2 run-opae
99+
$(MAKE) -C kernel3 run-opae
88100

89101
clean:
90102
$(MAKE) -C vecadd clean
@@ -106,4 +118,7 @@ clean:
106118
$(MAKE) -C bfs clean
107119
$(MAKE) -C sgemm2 clean
108120
$(MAKE) -C sgemm3 clean
109-
$(MAKE) -C psum clean
121+
$(MAKE) -C psum clean
122+
$(MAKE) -C kernel1 clean
123+
$(MAKE) -C kernel2 clean
124+
$(MAKE) -C kernel3 clean

tests/opencl/kernel1/Makefile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
ROOT_DIR := $(realpath ../../..)
2+
include $(ROOT_DIR)/config.mk
3+
4+
PROJECT := kernel1
5+
6+
SRC_DIR := $(VORTEX_HOME)/tests/opencl/$(PROJECT)
7+
8+
SRCS := $(SRC_DIR)/main.cc
9+
10+
kernel.cl: $(SRC_DIR)/kernel.cl
11+
cp $< $@
12+
13+
KERNEL_SRCS := kernel.cl
14+
15+
OPTS ?=
16+
17+
include ../common.mk

tests/opencl/kernel1/kernel.cl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
__kernel void myGEMM1(const int M, const int N, const int K,
2+
const __global float* A,
3+
const __global float* B,
4+
__global float* C) {
5+
// Thread identifiers
6+
const int globalRow = get_global_id(0); // Row ID of C (0..M)
7+
const int globalCol = get_global_id(1); // Col ID of C (0..N)
8+
9+
// Compute a single element (loop over K)
10+
float acc = 0.0f;
11+
for (int k=0; k<K; k++) {
12+
acc += A[k*M + globalRow] * B[globalCol*K + k];
13+
}
14+
15+
// Store the result
16+
C[globalCol*M + globalRow] = acc;
17+
}
18+

0 commit comments

Comments
 (0)