data: cat 3 SGEMM repos — siboehm, wangzyon, edtallison (full clone, no --depth)
Sources: siboehm/SGEMM_CUDA → upstream_ref/sgemm_siboehm/ (25 files) wangzyon/NVIDIA_SGEMM_PRACTICE → upstream_ref/nvidia_sgemm_practice/ (23 files, filled gaps) edtallison/sgemm-cuda → upstream_ref/sgemm_edtallison/ (41 files) All files cat'd one by one from git clone (no --depth). These are the 3 public SGEMM repos that can compile on CUDA 10.2 + CoreX ivcore10. Key files for BI-V100 porting: kernel 10 (warp tiling) — already proven on device with WARPSIZE=64 kernel 11/12 (double buffering) — next optimization target sgemm.cu + runner.cu — complete build+benchmark harness CMakeLists.txt — build system reference
This commit is contained in:
36
upstream_ref/nvidia_sgemm_practice/CMakeLists.txt
Normal file
36
upstream_ref/nvidia_sgemm_practice/CMakeLists.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(NVIDIA_SGEMM_PRACTICE)
|
||||
|
||||
# gcc/g++编译参数说明:
|
||||
# -O1~3编译器优化选项的4个级别,-O1默认,级别越大优化效果越好,但编译时间越长;
|
||||
# -std=c++11,采用C++11标准编译
|
||||
set(CMAKE_CXX_FLAGS "-O3 -std=c++11")
|
||||
|
||||
# nvcc编译参数说明:
|
||||
# -g:主机代码添加调试信息;
|
||||
# -G:设备代码产生调试信息,将会禁用大多数编译器优化,造成设备代码运行缓慢;
|
||||
# -Xptxas -dlcm=ca启用L1缓存,-Xptxas -dlcm=cg关闭L1缓存
|
||||
|
||||
# set(CUDA_NVCC_FLAGS -g;-G;-Xptxas;-dlcm=ca)
|
||||
# set(CUDA_NVCC_FLAGS -Xptxas;-dlcm=cg)
|
||||
set(CUDA_NVCC_FLAGS -arch=compute_70;-code=compute_70)
|
||||
|
||||
# 若FIND CUDA ERROR,在~/.bashrc中添加配置环境变量和动态库路径
|
||||
# CUDA_HOME=/usr/local/cuda
|
||||
# export PATH=$CUDA_HOME/bin:$PATH
|
||||
# export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
|
||||
find_package(CUDA REQUIRED)
|
||||
|
||||
# 配置头文件搜索路径
|
||||
include_directories(${CUDA_INCLUDE_DIRS})
|
||||
include_directories(${PROJECT_SOURCE_DIR}/src)
|
||||
# 配置待编译的源文件路径
|
||||
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC)
|
||||
# 可执行文件输出路径
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
|
||||
# 生成可执行文件
|
||||
CUDA_ADD_EXECUTABLE(sgemm sgemm.cu ${SRC})
|
||||
|
||||
# link cudart cublas
|
||||
target_link_libraries(sgemm ${CUDA_LIBRARIES} ${CUDA_cublas_LIBRARY})
|
||||
|
||||
Reference in New Issue
Block a user