Windows下编译SuiteSparse与CHOLMOD with GPU

编译准备:

  1. 安装MinGW-W64 (http://sourceforge.net/projects/mingw-w64/)

安装选项如下

  1. 安装msys (http://www.mingw.org/wiki/msys, 注意下载msys,不要下载mingw),按照提示使msys找到MinGW-W64的安装目录
  2. 下载

blas (http://www.netlib.org/blas/)

lapack(http://www.netlib.org/lapack/)  

metis4.0.1 (http://glaros.dtc.umn.edu/gkhome/metis/metis/overview,注意版本必须是4.0.1)

SuiteSparse 4.4.4 (http://faculty.cs.tamu.edu/davis/suitesparse.html)

  1. 安装显卡驱动与最新的CUDA (不需要编译CHOLMOD with GPU者跳过这一步)

编译(without GPU

  1. 编译BLAS,blas的编译很简单,打开msys,到BLAS目录直接make就可以了。
  2. 编译LAPACK,lapack依赖与BLAS,将make.inc中的:

BLASLIB      = ../../librefblas.a 修改成第一步编译出来的blas_LINUX.a的路径, 然后make。可能会报错,但只要liblapack.a出来了就可以了。

  1. 编译Metis-4.0.1,将Metis中的 Makefile.in 中 CC = cc 改为 CC = gcc,OPTFLAGS = O2 改为 OPTFLAGS = O3. 然后make
  2. 编译SuiteSparse, 打开 SuiteSparse_config/ SuiteSparse_config.mk,修改BLAS and LAPACK configuration: 后面的 BLAS 和 LAPACK 路径,使BLAS = blas_LINUX.a路径 –lgfortran; LAPACK = liblapack.a路径;将

# CC = gcc

# CF = $(CFLAGS) -O3 –fexceptions

的注释取消. 然后在SuiteSparse目录下make,我们大部分要用的lib都会出来,在各个文件夹里。

编译(with GPU

GPU的编译和上面类似,第4步不一样,我们需要单独用Visual Studio编译 cholmod_gpu_kernels.cu 文件, 然后把编译出来的obj改名为cholmod_gpu_kernels.o,粘贴到CHOLMOD/LIB下。

将t_cholmod_gpu.c中的两个函数改为Windows下可以识别的:

feenableexcept (FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW );这个函数在windows下不能用,是用来确定奇异数的返回信号的,如2.0/0,我们只能把他注释掉。

qsort ( scores, n_descendant, sizeof(struct cholmod_descendant_score_t),

            (__compar_fn_t) CHOLMOD(score_comp) );这个函数在stdlib.h里,windows下没有对__compar_fn_t进行声明,我们在这行代码之前需要加上typedef int  (*__compar_fn_t )(const void*,const void*) ; 。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows编译SuiteSparse,你可以按照以下步骤进行操作: 1. 首先,你需要安装适当的编译环境。推荐使用Visual Studio作为编译器。你可以从Microsoft的官方网站下载并安装适用于你的Windows版本的Visual Studio。 2. 在安装Visual Studio之后,你需要下载并安装CMake,这是一个用于管理和生成跨平台编译的工具。你可以从CMake的官方网站下载并按照说明安装。 3. 下载SuiteSparse的源代码。你可以从SuiteSparse的官方网站或GitHub页面下载源代码的压缩文件。 4. 解压下载的压缩文件,并在解压后的文件夹中创建一个名为"build"的文件夹。这将用于在其中生成编译文件。 5. 打开CMake GUI,并将SuiteSparse的源代码路径设置为源码路径。将刚刚创建的"build"文件夹路径设置为“Build the binaries”的路径。 6. 点击“Configure”按钮,然后选择你希望使用的编译器。确保选择的编译器与Visual Studio版本一致。 7. 完成配置后,点击“Generate”按钮生成VS解决方案文件。 8. 在打开的VS解决方案中,点击“生成”按钮进行编译。这将会在"build"文件夹中生成SuiteSparse的可执行文件以及其他生成文件。 9. 编译完成后,你可以在"build"文件夹中找到生成的可执行文件。你可以将这些文件复制到你希望使用SuiteSparse的项目中,并在你的代码中引用它们。 请注意,这只是一个大致的步骤指南,具体步骤可能因你使用的软件版本和配置而有所不同。在实际操作中,可能会遇到一些编译错误,需要进一步解决。建议你参考SuiteSparse官方的文档和社区论坛,寻找更详细的指导和解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值