gprmax 3.0 安装、GPU配置与cmd、pycharm(或jupyter)运行gprmax详细教程

您所在的位置:网站首页 pycharm运行报错如何设置中文查看 gprmax 3.0 安装、GPU配置与cmd、pycharm(或jupyter)运行gprmax详细教程

gprmax 3.0 安装、GPU配置与cmd、pycharm(或jupyter)运行gprmax详细教程

2024-06-05 00:23| 来源: 网络整理| 查看: 265

gprmax 3.0 安装、GPU配置与cmd、pycharm(或jupyter)运行gprmax详细教程 0、引言1. 下载gprmax包2. 安装2.1 安装anaconda(添加至环境变量)2.2 更新conda2.3 安装git2.3 安装gprmax所需包2.5 安装microsoft visual c++20152.6 安装gprmax2.7 安装完成验证 3. 注意3.1 注意3.2 说明 4. GPU配置4.1 安装NVIDIA CUDA。4.2 添加用户环境变量4.3 安装pycuda包。4.4 可能出现的错误4.5 GPU运行 5. cmd命令运行gprmax6、pycharm运行gprmax6.1 模型仿真6.2、 A扫描绘图6.3、 B扫描及保存回波数据 7、jupyter运行gprmax

0、引言

本人最近也正学习gprmax仿真,在安装和使用过程中也遇到了许多问题,例如系统问题,cmd操作不便等等,希望我的一些经验能对你有一定的帮助,相关问题请随时关注gpramx官网。

在安装或使用过程中有什么问题可通过邮箱[email protected]联系我,希望能多相互交流学习,共同进步。 特别说明:由于本人最近闲暇时间太少,不再提供免费安装等服务,望理解! 新版本win10安装大同小异,可看新发教程

2021-11-7 更新了结果画图闪退问题的解决方法

1. 下载gprmax包

点击此处进入下载

2. 安装 2.1 安装anaconda(添加至环境变量)

2.2.1 anaconda安装最后一步可选添加至环境变量和默认python解释器

2.2.2 若安装anaconda时没选择添加至环境变量,可选择右键“我的电脑”>选择“属性”>高级系统设置>环境变量

在系统变量中找到path,点击编辑,将光标移到最后面,输入一个分号 ( ; ),将anaconda安装目录下scips文件夹的路径复制到分号后(注意使用英文输入法),确定,保存关闭,重启anaconda

注:考虑内存等问题可安装miniconda,但后续过程可能出现较多问题。软件下载地址:官网;清华镜像源*嫌占空间可以安装Miniconda,下载地址 2.2 更新conda conda update conda 2.3 安装git

git 用来clone gprmax的安装包,直接从github下载安装包的跳过此步

conda install git git clone https://github.com/gprmax/gprMax 2.3 安装gprmax所需包 #导航至gprmax顶级目录,这里我是直接将gprmax文件夹放在桌面了,其他盘使用cmd命令导航至其所在目录即可 cd desktop cd gprmax conda env create -f conda_env.yml 2.5 安装microsoft visual c++2015

利用microsoft visual c++2015 tool进行安装,自定义安装,只选择安装与你Windows版本一致的SDK(Windows版本一般有两个SDK可选择,选与windows版本相符的即可,当然怕选错也可以直接安装完全版)

官网现在给的是microsoft visual c++2019 tool,需要自定义安装:‘MSVC v142’和 ‘Windows 10 SDK’ 。 2.6 安装gprmax #激活目录 conda activate gprMax #安装 python setup.py build python setup.py install 2.7 安装完成验证 python -m gprMax user_models/cylinder_Ascan_2D.in python -m tools.plot_Ascan user_models/cylinder_Ascan_2D.out 3. 注意 3.1 注意

以上安装步骤均在cmd命令窗口进行 安装完成后后续仿真过程中需激活gprmax目录

3.2 说明 conda 有base环境,我们的gprMax安装在新创建的虚拟环境gprMax环境中,针对gprmax的安装卸载包都得在gprMax环境下进行最近的版本创建gprMax环境时conda安装的matplotlib包版本有问题,可能出现得到能仿真但是结果图出现闪退的现象,解决方法是先用conda卸载,再用pip重装就行 conda activate gprMax conda uninstall matplotlib pip install matplotlib

关于快照功能参考:https://tieba.baidu.com/p/6129017590

4. GPU配置

gprMax的计算量主要集中在FDTD循环求解,可使用GPU加速,gprmax只支持NVIDIA CUDA的GPU。

4.1 安装NVIDIA CUDA。

通过NVIDIA CUDA Toolkit进行安装,安装教程参考NVIDIA CUDA Toolkit文档。必须确保所安装的CUDA版本与所使用的编译器版本兼容。可以在CUDA安装指南中“系统要求”下找到不同系统对应的cuda版本。

4.2 添加用户环境变量 将 CUDA编译器(nvcc)的位置添加到用户路径环境变量中,对于Windows 系统nvcc位置为: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin 4.3 安装pycuda包。

打开命令提示符(Windows),导航到顶级gprMax目录,运行

conda activate gprMax pip install pycuda 4.4 可能出现的错误 PyCUDA ERROR: the context stack was not empty upon module cleanup

解决方法:将VC下bin文件夹添加到环境变量(非常感谢罗大哥的帮助),对于Windows 系统

若还是不行可能是CUDA版本、VS版本、pycuda版本的问题、gprmax没安装完整。用户环境变量添加完成后需要确保点了确定(有两次)设置好后需要关掉之前的cmd或pycharm重新打开。有可能出现gprmax在cmd能运行gpu版本,但通过python代码方式却报错,感谢网友炎黄给出的解决方法是:安装特定版本号的spyder-kernels,版本不能太新。 C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\bin 4.5 GPU运行 #cmd python -m gprMax user_models/cylinder_Ascan_2D.in -gpu # pycharm (具体见第6节) api(filename, n=1, geometry_only=False,gpu={0}) #geometry_only:仅几何图形,花括号为GPU ID 5. cmd命令运行gprmax #cmd命令窗口运行gprmax cd desktop\gprmax #导航至gprmax顶级目录 conda activate gprmax #激活gprmax目录 python -m gprMax user_models/inputfilename.in #A扫描模拟生成.out文件 python -m gprMax user_models/inputfilename.in -n 50 #B扫描模拟生成n个.out文件 python -m tools.plot_Ascan/outputfilename.out #A扫描绘图 python -m tools.plot_Ascan/my_outputfilename.out --outputs Ez -fft #绘制Ez分量及其fft图 python -m tools.plot_Bscan/outputfile_merged.out rx-component #B扫描绘图 #多个A扫描.out文件合并成一个.out文件 python -m tools.outputfiles_merge user_models/outputfilebase #多个A扫描.out文件合并成一个.out文件并删除单独A扫描的文件 python -m tools.outputfiles_merge user_models/outputfilebase --remove-files 6、pycharm运行gprmax 6.1 模型仿真

新建项目,解释器选择为gprmax对应的python解释器即可通过pycharm运行gprmax,项目下新建名为“iofiles”的文件夹

# python运行gprmax # 读取.in文件 # 运行api函数模拟 import os from gprMax.gprMax import api #文件路径+文件名 dmax=r".\" # pycharm项目当前目录 filename = os.path.join(dmax, 'concrete.in') #正演 n:仿真次数(A扫描次数)->B扫描 api(filename, n=1, geometry_only=False) #geometry_only:仅几何图形 merge_files(r".\iofiles\concrete", removefiles=True) 6.2、 A扫描绘图 """A扫描""" import os from gprMax.receivers import Rx from tools.plot_Ascan import mpl_plot dmax=r".\" # pycharm项目当前目录 filename = os.path.join(dmax,'iofiles', 'concrete.out') outputs = Rx.defaultoutputs outputs = ['Ez'] # Ez分量 plt = mpl_plot(filename,outputs, fft=True) #波形图,fft:频谱图 6.3、 B扫描及保存回波数据 """B扫描绘图""" import os import numpy from tools.plot_Bscan import get_output_data, mpl_plot dmax=r".\" # pycharm项目当前目录 filename = os.path.join(dmax, 'iofiles', 'concrete_merged.out') rxnumber = 1 rxcomponent = 'Ez' #获取回波数据 outputdata, dt = get_output_data(filename, rxnumber, rxcomponent) #保存回波数据 numpy.savetxt('wavedata.txt',outputdata,delimiter=' ') #绘图 plt = mpl_plot(filename,outputdata, dt, rxnumber, rxcomponent) 7、jupyter运行gprmax

jupyter运行gprmax代码与pycharm一样,安装gprmax时会自带安装jupyter



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3