AMGX-2.3.0库编译与在VS中的调用

源码下载地址:Release v2.3.0 · NVIDIA/AMGX · GitHub

因为我电脑安装的cuda版本为cuda12.0,而源码要求的是cuda11.0. 本想修改CmakeList.txt来避免这个版本问题,但搞了半天还是各种编译报错,于是不得已去安装了cuda11.8.

然后按照教程:Windows下安装代数多重网格求解器(AmgX)库编译安装的准备工作、编译过程及相关测试icon-default.png?t=N7T8https://mp.weixin.qq.com/s/ZRmOolVSrxVmMvYz4M6csQ

第一步:新建个build文件夹

第二步:在build下右键终端输入以下编译命令:

cmake .. -DCMAKE_INSTALL_PREFIX="D:\AMGx\AMGX-2.3.0"

运行不报错即可。可能会出现以下问题,“No package 'mpi-cxx' found ”但没有error就行,不用管它

第三步:接着运行以下命令:

MSBuild.exe .\INSTALL.vcxproj -p:configuration="Release"

进行构建和编译后,终于没有错误了,有一堆的警告(但不影响)。

编译完后在进行测试时,出现命令回车后,如果出现无反应的情况,需要将amgxsh.dll拷贝到测试应用程序所在路径。(这里的测试应用程序就是指.exe文件)

这里强烈推荐大家使用:IObit Uninstall  软件进行软件卸载。因为你可能很多软件重装后需要卸载之前的软件。这个能卸载的很干净。

MPI测试使用了下面的教程,显示测试没问题,但是为什么Cmake还是找不到mpi呢?

MPI 在Windows11 和 VS2019 安装、测试、基本使用_mpi windows安装_AI_潜行者的博客-CSDN博客

-----------------------------------------上面是终端命令编译,也可以用软件来编译-----------------------------

上面是使用终端命令进行编译,也可以先用Cmake软件生成sln解决方案,再用VS打开AMG.sln

使用VS来代替终端命令编译项项目。

-------------------------------------------成功编译后如何在调用AMG库-----------------------------------------

在我们自己的项目中添加include 和静态库lib和动态库dll即可

开源库AMGx编编译生成的库:

将静态库lib 和头文件加入到项目中:

将动态库dll放到自己的项目目录下:

打开自己的项目,添加相应头文件即可使用开源库的各种API接口:

在自己的代码文件中导入

#include<amgx_c.h>库即可使用各种API接口了

AMGX库的API接口函数的介绍和函数传入传出的参数介绍:

https://github.com/NVIDIA/AMGX/blob/main/doc/AMGX_Reference.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值