清华大学土木工程系 防灾减灾研究所
韩博 解琳琳 陆新征
下载地址:http://www.collapse-prevention.net/download/OpenSEES_GPU.zip
OpenSEES_GPU是基于原版OpenSEES程序开发,引入NVIDIA GPU加速计算模块的有限元计算模块。它基于CULA Sparse方程迭代求解库,开发和引入了CULASparseSolver求解器,提升OpenSEES线性方程组求解能力,性能提升可达10倍以上。
CULA Sparse是由EM Photonics公司推出的GPU加速大型稀疏线性方程组迭代求解库,基于NVIDIA CUDA并行优化,支持多种算法、预处理器以及数据存储格式。采用CULA Sparse求解库,配合NVIDIA公司推出的GPU,可以获得非常高的稀疏矩阵求解效率。
详细信息及下载请查看:http://www.culatools.com/sparse/
CULASparseSolver是基于CULA Sparse库,求解OpenSEES中稀疏矩阵线性方程组的求解器,支持调用CULA Sparse提供的各种线性方程迭代求解器和预处理器。CULASparseSolver调用简单、直观,有操作OpenSEES Tcl经验的人能够快速而直接地掌握其使用方法。
n 硬件需求:
安装有支持CUDA架构的英伟达(NVIDIA)GPU显卡
*支持CUDA的GPU列表:https://developer.nvidia.com/cuda-gpus
n 软件需求:
32位或64位Windows XP以上系统;
CUDA 5.0 Production Release
CULA Sparse S5
1. 在英伟达(NVIDIA)官网下载CUDA 5.0安装包(请选择对应系统的32位或64位安装包),并安装。
地址:https://developer.nvidia.com/cuda-toolkit-50-archive
2. 在CULA Tools官网上下载CULA Sparse S5版本,并安装。
注:CULA Sparse属于商业软件,但提供Personal Academic许可(仅针对个人科研使用),请在CULA Sparse官网上使用教育网邮箱进行注册,并下载Windows系统下的CULA Sparse S5版本
地址:http://www.culatools.com/downloads/sparse/
3. 进入电脑的“环境变量”配置界面:
在“系统变量”中,找到Path这一项,双击打开,在最后加入:
%CULASPARSE_BIN_PATH_32%(系统为32位)
或
%CULASPARSE_BIN_PATH_64%(系统为64位)
按“确定”保存。
*“环境变量”配置界面进入方法
Win7:“计算机”上右键→“属性”→“高级系统设置”→“环境变量”
XP:“我的电脑”上右键→“属性”→“高级”→“环境变量”
4. 双击OpenSEES_GPU.exe,即可正常启动程序。
与其他线性方程求解器类似,CULASparseSolver采用System语句进行调用,基础调用语句格式如下:
System CulaSparse -rTol [RTOL] -mInt [MINT] -pre [PRE] -solver [SOLVER] -single -host |
调用参数说明如下(不区分大小写):
参数 |
说明 |
示例 |
-rTol [RTOL] |
设置相对收敛容差为[RTOL] |
System CulaSparse -rTol 1e-6 |
-mInt [MINT] |
设置矩阵求解最大迭代次数为[MINT] |
System CulaSparse -mInt 10000 |
-pre [PRE] |
选择预处理器为[PRE],[PRE]取值包括:none,jacobi,blockjacobi,ilu0,ainv,fainv |
System CulaSparse -pre jacobi |
-solver [SOLVER] |
选择求解器为[SOLVER],[SOLVER]取值包括:cg,bicg,bicgstab,bicgstabl,gmres,minres |
System CulaSparse -solver cg |
-single |
单精度求解(默认为双精度) *注:许多求解器采用单精度无法收敛 |
System CulaSparse -single |
-host |
采用CPU迭代求解(默认为GPU求解) |
System CulaSparse -host |
*注:各个预处理器和求解器取值代表意义请参考: