set_project("lab4_cuda_programs") set_version("1.0") -- 设置 CUDA 工具链 toolchain("cuda") set_kind("standalone") set_sdkdir(os.getenv("CUDA_HOME") or "/usr/local/cuda") set_description("CUDA Toolkit") toolchain_end() -- vectoradd 程序 target("vectoradd") set_kind("binary") set_languages("c++14") set_toolchains("cuda") add_rules("cuda") add_files("vectoradd.cu") target_end() -- MatrixMul_cpu 程序 (使用 OpenMP) target("MatrixMul_cpu") set_kind("binary") set_languages("c++14") set_toolchains("cuda") add_rules("cuda") add_files("MatrixMul_cpu.cu") add_ldflags("-lgomp", {force = true}) add_cxxflags("-fopenmp", {force = true}) target_end() -- MatrixMul_kernel1 程序 target("MatrixMul_kernel1") set_kind("binary") set_languages("c++14") set_toolchains("cuda") add_rules("cuda") add_files("MatrixMul_kernel1.cu") target_end() -- MatrixMul_kernel2 程序 target("MatrixMul_kernel2") set_kind("binary") set_languages("c++14") set_toolchains("cuda") add_rules("cuda") add_files("MatrixMul_kernel2.cu") target_end() -- matrixmultiply_block_size_change 程序 target("matrixmultiply_block_size_change") set_kind("binary") set_languages("c++14") set_toolchains("cuda") add_rules("cuda") add_files("matrixmultiply_block_size_change.cu") target_end()