数值工具zero rk的安装与gdb调试跟踪

数值工具zero_rk

zero_rk是LLNL实验室开发的常微分、偏微分方程求解数值工具Toolkit,典型的应用如求解chemistry reaction物理问题。

  • 物理问题 0维常微分动力系统求解,例如化学反应,PSR/WSR等;1维篇微分动力系统,如预混、扩散火焰求解;
  • 其语言主要是C,从历史版本Fortran改进到C的版本
  • 支持 mpi并行,cuda GPU并行
  • 可以Debug模式编译,利于gdb调试
  • 底层是对大规模线性方程组 A x = b Ax=b Ax=b求解,支持稠密矩阵、稀疏的迭代算法
  • 第三方库有 Sundilal, SuperLU等
    GMRES,Newton迭代
    LU直接求解

资源简介

资源托管在github
安装工具为 cmake
可能要去github下载底层依赖库,所以github无法连接到时需要proxy

cmake配置 debug编译

一个最简单的cmake配置及编译过程,注意cmake需要build目录

 mkdir build
 cd build       // 工作目录
 cmake ../     // 根据CMakeList.txt开始配置
 make          // 根据生产的Makefile 编译
 make install  //copy文件到目录,默认安装在build/inst_dir目录下

cmake可以指定选项,例如编译debug模式方便 cgdb调试,关闭MPI调试,这些通过加-D参数= value 来配置,称为option,具体option可以去CMakeList.txt中查看,然后对应进行配置。当然也有ccmake这种GUI帮助配置。

cmake ../ -DCMAKE_BUILD_TYPE=Debug -DENABLEMPI=OFF

第三方库debug编译

zero_rk使用sundials库,安装时默认为Release模式,这对于我们跟踪调试来说不利,可以通过指定为debug模式进行编译,方便gdb调试。
查看CMakeList.txt文件

if(WIN32)
 50   set(ZERORK_EXTERNALS_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Build type for external dependencies built dur    ing config.")
 51 else()
 52   set(ZERORK_EXTERNALS_BUILD_TYPE "Release" CACHE STRING "Build type for external dependencies built during config."    )

此处看到非Win32平台会被默认配置为Release模式,可以为修改按照CMAKE_BUILD_TYPE来手动指定,如下

 52   set(ZERORK_EXTERNALS_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Build type for external dependencies built during config."    )

注意CMAKE_BUILD_TYPE 默认是Release的,所以在使用cmake命令时一定要添加选项 -DCMAKE_BUILD_TYPE=Debug 才能以debug模式配置,在make是才能按照debug编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值