CUDA kernel generator for Matrix Multiplication using MDH framework.
141
Pull the image:
docker pull rahimdruba/mdh-cuda-generator
Run the container:
docker run --gpus all -it rahimdruba/mdh-cuda-generator
Step 1 - Generate the CUDA kernels:
matmul
This creates matmul_1.cu and matmul_2.cu inside /CUDAAA.
Step 2 - Compile kernel 1:
nvcc -c matmul_1.cu -o matmul_1.o
-DTYPE_T=float -DTYPE_TS=float
-DCACHE_L_CB=0 -DCACHE_P_CB=0
-DG_CB_RES_DEST_LEVEL=2 -DL_CB_RES_DEST_LEVEL=1 -DP_CB_RES_DEST_LEVEL=0
-DG_CB_SIZE_L_1=10 -DG_CB_SIZE_L_2=500 -DG_CB_SIZE_R_1=64
-DL_CB_SIZE_L_1=8 -DL_CB_SIZE_L_2=16 -DL_CB_SIZE_R_1=64
-DP_CB_SIZE_L_1=1 -DP_CB_SIZE_L_2=1 -DP_CB_SIZE_R_1=1
-DNUM_WG_L_1=2 -DNUM_WG_L_2=32 -DNUM_WG_R_1=1
-DNUM_WI_L_1=4 -DNUM_WI_L_2=32 -DNUM_WI_R_1=8
-DOCL_DIM_L_1=2 -DOCL_DIM_L_2=1 -DOCL_DIM_R_1=0
Step 3 - Compile kernel 2:
nvcc -c matmul_2.cu -o matmul_2.o
-DTYPE_T=float -DTYPE_TS=float
-DCACHE_L_CB=0 -DCACHE_P_CB=0
-DG_CB_RES_DEST_LEVEL=2 -DL_CB_RES_DEST_LEVEL=1 -DP_CB_RES_DEST_LEVEL=0
-DG_CB_SIZE_L_1=10 -DG_CB_SIZE_L_2=500 -DG_CB_SIZE_R_1=64
-DL_CB_SIZE_L_1=8 -DL_CB_SIZE_L_2=16 -DL_CB_SIZE_R_1=64
-DP_CB_SIZE_L_1=1 -DP_CB_SIZE_L_2=1 -DP_CB_SIZE_R_1=1
-DNUM_WG_L_1=2 -DNUM_WG_L_2=32 -DNUM_WG_R_1=1
-DNUM_WI_L_1=4 -DNUM_WI_L_2=32 -DNUM_WI_R_1=8
-DOCL_DIM_L_1=2 -DOCL_DIM_L_2=1 -DOCL_DIM_R_1=0
Step 4 - Run the correctness and timing test:
cp /opt/test_matmul.cu .
nvcc test_matmul.cu matmul_1.cu matmul_2.cu -o test_matmul
-DTYPE_T=float -DTYPE_TS=float
-DCACHE_L_CB=0 -DCACHE_P_CB=0
-DG_CB_RES_DEST_LEVEL=2 -DL_CB_RES_DEST_LEVEL=1 -DP_CB_RES_DEST_LEVEL=0
-DG_CB_SIZE_L_1=10 -DG_CB_SIZE_L_2=500 -DG_CB_SIZE_R_1=64
-DL_CB_SIZE_L_1=8 -DL_CB_SIZE_L_2=16 -DL_CB_SIZE_R_1=64
-DP_CB_SIZE_L_1=1 -DP_CB_SIZE_L_2=1 -DP_CB_SIZE_R_1=1
-DNUM_WG_L_1=2 -DNUM_WG_L_2=32 -DNUM_WG_R_1=1
-DNUM_WI_L_1=4 -DNUM_WI_L_2=32 -DNUM_WI_R_1=8
-DOCL_DIM_L_1=2 -DOCL_DIM_L_2=1 -DOCL_DIM_R_1=0
./test_matmul
Matrix Multiplication (MDH) is SUCCESSFUL! GPU time measurement (MDH): 0.085312 ms
Exit and re-run the container - /CUDAAA starts clean every time:
docker run --gpus all -it rahimdruba/mdh-cuda-generator
Content type
Image
Digest
sha256:269cf49c3…
Size
2.9 GB
Last updated
3 months ago
docker pull rahimdruba/mdh-cuda-generator