magma build system 分析 —— Makefile 篇 02 记

这段脚本使用codegen.py工具生成针对不同精度类型(如单精度、双精度、复数精度)的函数头文件,通过修改配置文件(如设置CUDA架构版本)并应用sed命令来定制头文件。这个过程自动化了函数模板的创建,使得程序员只需关注特定类型(如Z类型)的实现,其他类型可通过替换完成。随后,一系列编译器指令用于编译和链接控制文件及其他源文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 make -n ,只打印命令但不执行命令时的输出如下,我们先只保留最初开始执行的部分进行分析,大部分主题的部分类似:

1,如下这些命令,类似模板,会生成对应的 s , d,c 类型的对应头文件;

./tools/codegen.py -p s include/magma_z.h
./tools/codegen.py -p d include/magma_z.h
./tools/codegen.py -p c include/magma_z.h

会对应生成 单精,双精,和 complex 类型的函数头文件:

magmablas_s.h

magmablas_d.h

magmablas_c.h

这样,程序员只需要写好Z类型的函数,其它类型的只做一些替换即可;

cp include/magma_config.h.in include/magma_config.h
sed -i -e 's/#cmakedefine MAGMA_CUDA_ARCH_MIN @MAGMA_CUDA_ARCH_MIN@/#define MAGMA_CUDA_ARCH_MIN 700/g' include/magma_config.h
sed -i -e 's/#cmakedefine MAGMA_HAVE_CUDA/#define MAGMA_HAVE_CUDA/g' include/magma_config.h
sed -i -e 's/#cmakedefine MAGMA_HAVE_HIP/#undef MAGMA_HAVE_HIP/g' include/magma_config.h
./tools/codegen.py -p s include/magma_z.h
./tools/codegen.py -p d include/magma_z.h
./tools/codegen.py -p c include/magma_z.h
./tools/codegen.py -p ds include/magma_zc.h
./tools/codegen.py -p s include/magmablas_z.h
./tools/codegen.py -p d include/magmablas_z.h
./tools/codegen.py -p c include/magmablas_z.h
./tools/codegen.py -p s include/magmablas_z_v1.h
./tools/codegen.py -p d include/magmablas_z_v1.h
./tools/codegen.py -p c include/magmablas_z_v1.h
./tools/codegen.py -p s include/magmablas_z_v1_map.h
./tools/codegen.py -p d include/magmablas_z_v1_map.h
./tools/codegen.py -p c include/magmablas_z_v1_map.h
./tools/codegen.py -p ds include/magmablas_zc.h
./tools/codegen.py -p ds include/magmablas_zc_v1.h
./tools/codegen.py -p ds include/magmablas_zc_v1_map.h
./tools/codegen.py -p s include/magma_zlapack.h
./tools/codegen.py -p d include/magma_zlapack.h
./tools/codegen.py -p c include/magma_zlapack.h
./tools/codegen.py -p s include/magma_zbulge.h
./tools/codegen.py -p d include/magma_zbulge.h
./tools/codegen.py -p c include/magma_zbulge.h
./tools/codegen.py -p s include/magma_zbulgeinc.h
./tools/codegen.py -p d include/magma_zbulgeinc.h
./tools/codegen.py -p c include/magma_zbulgeinc.h
./tools/codegen.py -p s include/magma_zgehrd_m.h
./tools/codegen.py -p d include/magma_zgehrd_m.h
./tools/codegen.py -p c include/magma_zgehrd_m.h
./tools/codegen.py -p s include/magma_zbatched.h
./tools/codegen.py -p d include/magma_zbatched.h
./tools/codegen.py -p c include/magma_zbatched.h
./tools/codegen.py -p s include/magma_zvbatched.h
./tools/codegen.py -p d include/magma_zvbatched.h
./tools/codegen.py -p c include/magma_zvbatched.h
./tools/codegen.py -p s testing/testing_z.h
./tools/codegen.py -p d testing/testing_z.h
./tools/codegen.py -p c testing/testing_z.h
./tools/codegen.py -p s magmablas/commonblas_z.h
./tools/codegen.py -p d magmablas/commonblas_z.h
./tools/codegen.py -p c magmablas/commonblas_z.h
./tools/codegen.py -p c magmablas/ztrtri.cuh
./tools/codegen.py -p d magmablas/ztrtri.cuh
./tools/codegen.py -p s magmablas/ztrtri.cuh
./tools/codegen.py -p c magmablas/ztrtri_lower_device.cuh
./tools/codegen.py -p d magmablas/ztrtri_lower_device.cuh
./tools/codegen.py -p s magmablas/ztrtri_lower_device.cuh
./tools/codegen.py -p c magmablas/ztrtri_upper_device.cuh
./tools/codegen.py -p d magmablas/ztrtri_upper_device.cuh
./tools/codegen.py -p s magmablas/ztrtri_upper_device.cuh
./tools/codegen.py -p c magmablas/zgerbt.h
./tools/codegen.py -p d magmablas/zgerbt.h
./tools/codegen.py -p s magmablas/zgerbt.h
./tools/codegen.py -p s magmablas/zpotf2_devicesfunc.cuh
./tools/codegen.py -p d magmablas/zpotf2_devicesfunc.cuh
./tools/codegen.py -p c magmablas/zpotf2_devicesfunc.cuh
./tools/codegen.py -p s magmablas/zlarfg_devicesfunc.cuh
./tools/codegen.py -p d magmablas/zlarfg_devicesfunc.cuh
./tools/codegen.py -p c magmablas/zlarfg_devicesfunc.cuh
./tools/codegen.py -p s magmablas/ztrsv_template_device.cuh
./tools/codegen.py -p d magmablas/ztrsv_template_device.cuh
./tools/codegen.py -p c magmablas/ztrsv_template_device.cuh
./tools/codegen.py -p s magmablas/zgetf2_devicefunc.cuh
./tools/codegen.py -p d magmablas/zgetf2_devicefunc.cuh
./tools/codegen.py -p c magmablas/zgetf2_devicefunc.cuh
./tools/codegen.py -p s magmablas/zlaswp_device.cuh
./tools/codegen.py -p d magmablas/zlaswp_device.cuh
./tools/codegen.py -p c magmablas/zlaswp_device.cuh
./tools/codegen.py -p s magmablas/zgeqr2_batched_fused.cuh
./tools/codegen.py -p d magmablas/zgeqr2_batched_fused.cuh
./tools/codegen.py -p c magmablas/zgeqr2_batched_fused.cuh
./tools/codegen.py -p s magmablas/zlarf_batched_fused.cuh
./tools/codegen.py -p d magmablas/zlarf_batched_fused.cuh
./tools/codegen.py -p c magmablas/zlarf_batched_fused.cuh
./tools/codegen.py -p s sparse/include/magmasparse_z.h
./tools/codegen.py -p d sparse/include/magmasparse_z.h
./tools/codegen.py -p c sparse/include/magmasparse_z.h
./tools/codegen.py -p ds sparse/include/magmasparse_zc.h
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_f77.o control/magma_f77.cpp
cc -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c99 -c -o control/sizeptr.o control/sizeptr.c
touch control/sizeptr.o
cc -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c99 -fPIC                       -fopenmp -o control/sizeptr control/sizeptr.o
touch control/sizeptr
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magma_param.o control/magma_param.F90
mv magma_param.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magma_zfortran.o control/magma_zfortran.F90
mv magma_zfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magma_cfortran.o control/magma_cfortran.F90
mv magma_cfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magma_dfortran.o control/magma_dfortran.F90
mv magma_dfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magma_sfortran.o control/magma_sfortran.F90
mv magma_sfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magmablas_zfortran.o control/magmablas_zfortran.F90
mv magmablas_zfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magmablas_cfortran.o control/magmablas_cfortran.F90
mv magmablas_cfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magmablas_dfortran.o control/magmablas_dfortran.F90
mv magmablas_dfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magmablas_sfortran.o control/magmablas_sfortran.F90
mv magmablas_sfortran.mod include/
gfortran -O3 -fPIC -DNDEBUG -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input  -I/usr/local/cuda/include -I./include -I./testing -I./control -Dmagma_devptr_t="integer(kind=8)" -c -o control/magma.o control/magma.F90
mv magma.mod include/
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/abs.o control/abs.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/affinity.o control/affinity.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/auxiliary.o control/auxiliary.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/constants.o control/constants.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/get_batched_crossover.o control/get_batched_crossover.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/get_batched_gemm_decision.o control/get_batched_gemm_decision.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/get_nb.o control/get_nb.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/get_ntcol.o control/get_ntcol.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_bulge.o control/magma_bulge.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_threadsetting.o control/magma_threadsetting.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_timer.o control/magma_timer.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_winthread.o control/magma_winthread.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_yield.o control/magma_yield.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_zauxiliary.o control/magma_zauxiliary.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_zbulge.o control/magma_zbulge.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_znan_inf.o control/magma_znan_inf.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/pthread_barrier.o control/pthread_barrier.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/sqrt.o control/sqrt.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/strlcpy.o control/strlcpy.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/thread_queue.o control/thread_queue.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/trace.o control/trace.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/xerbla.o control/xerbla.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/zpanel_to_q.o control/zpanel_to_q.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/zprint.o control/zprint.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_sf77.o control/magma_sf77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_df77.o control/magma_df77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_cf77.o control/magma_cf77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magma_zf77.o control/magma_zf77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magmablas_sf77.o control/magmablas_sf77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magmablas_df77.o control/magmablas_df77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magmablas_cf77.o control/magmablas_cf77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o control/magmablas_zf77.o control/magmablas_zf77.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/cblas_z.o src/cblas_z.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zcposv_gpu.o src/zcposv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zposv_gpu.o src/zposv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrf_gpu.o src/zpotrf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotri_gpu.o src/zpotri_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrs_gpu.o src/zpotrs_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zlauum_gpu.o src/zlauum_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/ztrtri_gpu.o src/ztrtri_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrf_mgpu.o src/zpotrf_mgpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrf_mgpu_right.o src/zpotrf_mgpu_right.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrf3_mgpu.o src/zpotrf3_mgpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zposv.o src/zposv.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrf.o src/zpotrf.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotri.o src/zpotri.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zlauum.o src/zlauum.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/ztrtri.o src/ztrtri.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zpotrf_m.o src/zpotrf_m.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/shpotrf_gpu.o src/shpotrf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/dfgmres_spd_gpu.o src/dfgmres_spd_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/dshposv_gmres_gpu.o src/dshposv_gmres_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zcgesv_gpu.o src/zcgesv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zcgetrs_gpu.o src/zcgetrs_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/dgmres_plu_gpu.o src/dgmres_plu_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/dxgesv_gmres_gpu.o src/dxgesv_gmres_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/xshgetrf_gpu.o src/xshgetrf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/xhsgetrf_gpu.o src/xhsgetrf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgerfs_nopiv_gpu.o src/zgerfs_nopiv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgesv_gpu.o src/zgesv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgesv_nopiv_gpu.o src/zgesv_nopiv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf_gpu.o src/zgetrf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf_nopiv_gpu.o src/zgetrf_nopiv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetri_gpu.o src/zgetri_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrs_gpu.o src/zgetrs_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrs_nopiv_gpu.o src/zgetrs_nopiv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf_mgpu.o src/zgetrf_mgpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf2_mgpu.o src/zgetrf2_mgpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgerbt_gpu.o src/zgerbt_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgesv.o src/zgesv.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgesv_rbt.o src/zgesv_rbt.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf.o src/zgetrf.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetf2_nopiv.o src/zgetf2_nopiv.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf_nopiv.o src/zgetrf_nopiv.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgetrf_m.o src/zgetrf_m.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zcgeqrsv_gpu.o src/zcgeqrsv_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgelqf_gpu.o src/zgelqf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgels3_gpu.o src/zgels3_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgels_gpu.o src/zgels_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgegqr_gpu.o src/zgegqr_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqrf2_gpu.o src/zgeqrf2_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqrf3_gpu.o src/zgeqrf3_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqrf_gpu.o src/zgeqrf_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqr2x_gpu.o src/zgeqr2x_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqr2x_gpu-v2.o src/zgeqr2x_gpu-v2.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqr2x_gpu-v3.o src/zgeqr2x_gpu-v3.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqrs3_gpu.o src/zgeqrs3_gpu.cpp
g++ -O3 -fPIC -DNDEBUG -DADD_ -Wall -fopenmp -std=c++11  -I/usr/local/cuda/include -I./include -I./testing -I./control -c -o src/zgeqrs_gpu.o src/zgeqrs_gpu.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值