cuda magma 构建 使用cmake构建的步骤记录

这不是群论代数软件,而是cuda 矩阵计算软件

1. 生成其他精度的源代码


1.1 复制编辑 make.inc
    

cp make.inc-examples/make.inc.openblas  ./make.inc


 并修改其中的定义: OPENBLASDIR ?= /opt/OpenBLAS
 这需要实现安装openblas到此处。文件夹解构:
 /opt/OpenBLAS/include   lib

这个 make.inc 是给 生成各精度代码时使用的。

 
1.2 生成其他精度源文件

make generate


    除了s-c-d 三种精度的文件,还会生成一个叫做 CMake.src.cuda的文件,罗列了源文件的路径。


2. 生成Makefile
   

编辑 CMakeLists.txt关于openmp的部分,改成如下:

# ----------------------------------------
# locate OpenMP
find_package( OpenMP )
if (OPENMP_FOUND)
    set(OpenMP_C_FLAGS "-fopenmp")
    set(OpenMP_CXX_FLAGS "-fopenmp")
    message( STATUS "Found OpenMP" )
    message( STATUS "    OpenMP_C_FLAGS   ${OpenMP_C_FLAGS}" )
    message( STATUS "    OpenMP_CXX_FLAGS ${OpenMP_CXX_FLAGS}" )
    set( CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}" )
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
endif()

即,增加了两行:

    set(OpenMP_C_FLAGS "-fopenmp")
    set(OpenMP_CXX_FLAGS "-fopenmp")

或者使用类似 cmake   ..   -DOpenMP_C_FLAGS='-flopenmp' 也可以

生成Makefile:

cmake .. -DMAGMA_ENABLE_CUDA=ON  -DGPU_TARGET='Turing'   -DBUILD_SHARED_LIBS=ON

3. 执行构建和测试
    

make -j
./testing/testing_dgetrf
#sudo make install
#如果只是看源代码,不需要install

效果图:

cuda magma 构建 使用cmake构建的步骤记录_第1张图片

4. 运行集成测试程序

.../ex_magma/magma/build/testing$ ./testing_zunmqr_gpu

运行效果图:

cuda magma 构建 使用cmake构建的步骤记录_第2张图片

你可能感兴趣的:(矩阵计算,magma)