GGEMS环境配置(Windows+NVIDIA环境):记录首次安装

GGEMS是啥

GGEMS (GPU Geant4-based Monte Carlo Simulations)是一个能在GPU上进行蒙特卡洛仿真的工具包(类似库文件,不是可执行文件),可用于核医学仿真(CT、PET等)。它的物理实现是基于Geant4,具有和GATE几乎一致的结果(见文章DOI:10.1109/TMI.2019.2921872)。

相比常用的仿真软件GATEGGEMS的优势是能够在GPU上高速运行,有c++和Python模块,并且基于OpenCL库能够在NVIDIA、Intel、AMD不同平台,和Windows、Linux不同操作系统上运行。

我本来想在我Intel平台(集成显卡)的笔记本电脑上尝试安装,但是没有成功。后来还是在有NVIDIA显卡的台式机上安装。Intel平台的安装过几天会再尝试一下。

ps:我一前制作的一个GATE安装流程文档

Windows+NVIDIA环境安装:详细说明

我希望这个说明能让会用Visio Studio写一点代码的童鞋也能看明白。中间有一些我遇到的坑,希望大家能避开。

依赖软件和环境

Windows+NVIDIA下官方给出的建议:

  1. 操作系统版本:Windows 10 & 11
  2. Python版本:3.6+
  3. Visio Studio 2022(只需要在官网下载community免费版即可)
  4. OpenCL版本:1.2+(只需要下载最新版本的CUDA或NVIDIA驱动即可,目前最新驱动已经支持OpenCL 3.0)
  5. cmake版本:3.13+(注意在安装时勾选加入环境变量,即将带“PATH”字符的勾上)
注意:上述软件建议按顺序安装。对于OpenCL,建议安装CUDA,因为里面已经包含了NVIDIA驱动。

关于cmake:这是一个用来帮助编译较复杂项目的工具,它可以告诉编译器哪些代码要怎样编译,要链接什么库。下面会详细介绍cmake在安装GGEMS时的用法。

关于OpenGL可视化:这是个可选项,包含了GLFW、GLEW、GLM库。这是个坑!! 我尝试了2天没成功,cmake GGEMS时,GLEW和GLM在链接上总有一些问题搞不定。不过OpenGL不装也不影响GGEMS的编译,只是不能可视化而已。

GGEMS源代码下载

GGEMS需要下载源代码自己编译,它编译得到c++和python的库。首先找个没有中文、没有空格的路径,新建文件夹,结构如下:

-GGEMS
    --ggems             //放GGEMS源代码
    --ggems-build       //放cmake产生的中间文件
    --ggems-install     //放编译得到的GGEMS库

GGEMS的源代码可以从GitHub上下载:

ggems_github.png

安装了git的童鞋可以直接克隆:

git clone https://github.com/GGEMS/ggems.git

最后将所有代码放置在之前创建的xxx/GGEMS/ggems文件夹下即可。

nmake.exe环境变量配置

nmake是Visio Studio用来编译cmake工程的一个可执行文件。在安装Visio Studio 2022时已经安装好了,但是还没有配置环境变量(没有配置环境变量就不能在终端cmd.exe使用)。官方给出了官方给出了配置的方法,不过没解释这是用来配置nmake的,此外里面需要改动的地方的没说

新建一个名为set_mvsc.bat的文本文件,用编辑器(如记事本)打开填入如下代码,根据我的注释修改并保存。

@echo OFF
if "%VCTOOLKIT_VARS_ARE_SET%" == "true" goto done

echo --- Setting Microsoft Visual C++ Toolkit 2022 environment variables... ---

%下面icrosoft Visual Studio的路径改成你安装路径%
%x86_amd64中的x86和amd64分别对应你用来编译的机器的架构和运行GGEMS机器的CPU架构%
%我电脑是Intel 64位的CPU,只用把x86_amd64改成x64即可%
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64

set PATH="%VCToolkitInstallDir%"\bin;%PATH%
set INCLUDE="%VCToolkitInstallDir%"\include;%INCLUDE%
set LIB="%VCToolkitInstallDir%"\lib;%LIB%

set VCTOOLKIT_VARS_ARE_SET=true
echo Done.
:done

打开终端,先进入工作目录(输入’盘符’+':‘转移到对应磁盘,输入’cd’+'文件路径’进入之前创建的GGEMS文件夹)。运行set_mvsc.bat:

nmake.jpg

**注意这个终端不要关!!**因为前面配置的环境变量只在这个终端下有效!新开的终端需要重新执行.bat文件。

cmake配置

打开cmake,在刚才的终端上输入(因为cmake要用到nmake)

cmake-gui

配置代码路径和build路径点击“Configure”,此时会弹出一个框让我们选择项目的生成器,官网没有明说,但切记要选“NMake Makefiles”。如果选Visio Studio 2022,会生成一个.sln文件,用VS2022打开也可以编译,但是这样编译不出python库,且文件生成路径不对!我在这里卡了好久。

cmake.jpg

不出意外的话应该能够成功得到下面的结果,只需要把“CMAKE_INSTALL_PREFIX”那一行改成前面创建的ggems_install用于存放编译生成的文件。然后点击“Generate”

cmake_gen.jpg
gen_done.jpg

编译与环境变量的配置

最后在刚才打开的终端中输入

cd ggems_build  # 进入cmake产生文件的路径
nmake install   # 开始编译

编译成功后能看到生成文件夹如下:

-ggems-install              //放编译得到的GGEMS库
    --ggems
        ---examples         //示例代码
        ---include          //c++头文件
        ---lib              //静/动态库文件
        ---python_module    //python库文件

为配置python库的环境变量,再创建一个set_ggems.bat,用编辑器(如记事本)打开填入如下代码,根据修改对应的路径并保存,同之前的set_msvc.bat一样,在终端运行即可配置好环境变量。

@echo OFF
if "%GGEMS_VARS_ARE_SET%" == "true" goto done

echo --- Setting GGEMS... ---
set PYTHONPATH=%PYTHONPATH%;F:\GGEMS\GGEMS_install\ggems\python_module
set PYTHONPATH=%PYTHONPATH%;F:\GGEMS\GGEMS_install\ggems\lib
set PATH=%PATH%;F:\GGEMS\GGEMS_install\ggems\lib

set GGEMS_VARS_ARE_SET=true
echo Done.
:done

测试

在之前终端上进行测试!

官方给了一段python的测试代码,在之前的终端里打开python,直接输入即可。其中有句话在1.1版本及之前的文档里没有,会导致运行出错。

from ggems import *                     # 这里没错,说明成功添加环境变量
opencl_manager = GGEMSOpenCLManager()   # 这句话在1.1低版本的官方文档中没有,1.2版本的才有
opencl_manager.print_infos()
opencl_manager.clean()
exit()

成功运行后能正确输出OpenCL控制器的相关信息。

test.jpg

除了这个测试代码之外,还可以运行example文件夹中示例代码。由于我没有安装OpenGL可视化,所以运行过程不会弹出可视化窗口。

永久环境变量配置

想要在任意时刻打开python都能用GGEMS库,需要在系统设置中配置环境变量PYTHONPATH和PATH。

env_para.jpb

重启终端或其他python代码编辑器,就可以像正常pip/conda安装好的库那样随意地调用ggems。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
windows安装perl模块方法和必备软件nmake dmake devcpp: 方式一: 将 nmake.exe 放到system32目录下 用一下方式: perl Makefile.pl nmake nmake test nmake install 如果成功,将不用看下面内容。 方式二: 手动编译方式 优点:通吃所有模块 缺点:有点麻烦 具体步骤:1安装编译器2设置编译器的环境变量3可能安装dmake 具体方法:如下 1.首先要有个c编译器,推荐dev-cpp(开源免费的,网上自己搜索),记得要下含有mingw的就是了(不懂c,下载含有mingw的因为这个版本的bin目录里有gcc.exe等工具). 1.1安装好了编译器之后,要能在cmd中以命令方式运行的话,必须要设置环境变量,在winxp中[我的电脑]->[属性]->[高级]->[环境变量]里设置,只需要在path里加个你路径,比如你的安装路径是c:\dev-cpp,那你就要加上c:\dev-cpp\bin (path中有很多其他的路径,之间记得用;隔开 )弄完好,在cmd中运行gcc -v 显示出内容表示编译器安装成功,并且可以用命令行编译. 2.编译步骤,在cpan上下载需要的模块,比如Win32::SerialPort,下载好了解压,在cmd中进入这个目录(简单的dos命令应该知道吧),就用常见的方法: perl Makefile.pl make make test make install 如果成功,将不用看下面内容。 方式三: 使用方式二make很可能会出现错误,不能编译,找了很多原因,有高人介绍了解决办法,就是下载一个叫dmake的工具,解压缩,将里面的dmake.exe和startup的文件夹(好象是这个名字)一起复制到c:\dev-cpp\bin 里(因为这个目录注册到环境变量里的),之后安装改成: perl Makefile.pl dmake dmake test dmake install 注意: 如果安装过oracle10g你将会发现出现版本冲突的情况。 解决方案如下:修改%PERL5LIB%环境变量,修改为perl所在目录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值