gprmax3.0安装、GPU加速(cuda)配置、通过python使用gprmax的问题
鉴于网上其他教程版本较低,本篇记录一下最新VS2019、Python3.9,来使用gprmax3.0,以供参考。
一、安装过程
1、直接去miniconda官网下载最新安装包点击此处跳转
2、安装过程中,会出现两个选项,都勾上,这样默认创建了其环境变量,在系统-环境变量里可以看到,如果没有可以手动配置
3、更新conda。运行CMD
输入以下命令
conda update conda
4、安装git,并克隆gprMax仓库
conda install git
cd d:/mygprmax
git clone https://github.com/gprmax/gprMax.git
5、安装gprmax相关包,需在CMD内切换到仓库目录
cd d:/mygprmax/gprMax
再执行
conda env create -f conda_env.yml
完事了就会显示下面的一段文字:
done
#
# To activate this environment, use
#
# $ conda activate gprMax
#
# To deactivate an active environment, use
#
# $ conda deactivate
这里意思是以后每次想要使用gprmax可以在cmd里输入conda activate gprMax来激活使用,输入conda deactivate来退出使用。
6、安装microsoft visual c++
下载VS的安装工具,在里面挑选自定义安装MSVC v142和 Windows 10 SDK。
点击此处下载
7、安装gprmax
首先用指令激活gprmax
分别执行下面两句命令:
python setup.py build
python setup.py install
8、验证安装是否成功
下面这些命令,需在激活gprmax状态下使用。
python -m gprMax user_models/cylinder_Ascan_2D.in
这会在D:\mygprmax\gprMax-master\user_models中生成cylinder_Ascan_2D.out文件,再用下面命令打开:
python -m tools.plot_Ascan user_models/cylinder_Ascan_2D.out
如果你看到这个图片,说明你已经安装成功:
二、通过NVIDIA CUDA使用GPU加速功能
1、下图是官方给出的测试数据,可以看到在专业显卡的支持下,加快FDTD的计算明显。
注:这里不建议没有独显只有核显的小伙伴使用这个功能,可能还不如只用CPU计算来的快。另外也不建议单个模型较小的正演模拟使用,在b-scan计算的切换过程中,不如单CPU快。而对于模型较大的计算,整体加速明显。
2、安装CUDA 工具包,点击此处下载,正常情况下我们选择win10-64
3、下载完后解压到一个空文件夹
这里选择自定义安装
我们主要安装的就是cuda,其他组件没安装的可以不安装,已安装的视情况安装更新。
安装位置我们就选在D盘了,C盘空间宝贵
4、重启电脑,让环境变量生效。
5、激活gprmax,在gprmax目录执行以下命令
pip install pycuda
6、将vc目录下的cl.exe所在目录加入环境变量中,先找到所在位置,然后将路径添加到环境变量中,重启电脑生效。我的目录是D:\VS2019\VC\Tools\MSVC\14.29.30037\bin\Hostx64\x64
若未执行上面操作,使用gpu加速计算时会报错:
PyCUDA ERROR:The context stack was not empty upon module cleanup.
三、通过VS2019或VScode操纵gprmax
1、这里我用的编译器为VS2019和vscode来写python代码,使用时注意选择python解释器