siboehm/SGEMM_CUDA (19 files):
siboehm_sgemm.cu, siboehm_runner.cu, siboehm_runner.cuh, siboehm_kernels.cuh
siboehm_cuBLAS_sgemm.cu, siboehm_simplest_kernel.cu, siboehm_CMakeLists.txt
siboehm_{1_naive..12_kernel_double_buffering}.cuh
wangzyon/NVIDIA_SGEMM_PRACTICE (12 files):
wangzyon_sgemm.cu, wangzyon_utils.cu, wangzyon_utils.cuh, wangzyon_kernel.cuh
wangzyon_CMakeLists.txt, wangzyon_kernel_{1..7}.cuh
edtallison/sgemm-cuda (19 files):
edtallison_sgemm.cu, edtallison_runner.cu, edtallison_runner.cuh
edtallison_kernels.cuh, edtallison_cuBLAS_sgemm.cu, edtallison_simplest_kernel.cu
edtallison_CMakeLists.txt, edtallison_{01_naive..12_kernel_double_buffering}.cuh
cat_files/ total: 25 → 75 files
37 lines
1.3 KiB
Plaintext
37 lines
1.3 KiB
Plaintext
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})
|
||
|