栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

rapidCFD构建使用实践

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

rapidCFD构建使用实践

rapidCFD

rapidCFD项目基于OpenFOAM 2.3.x开发,利用Thrust库,增添OpenFOAM的CUDA支持,目的是提高求解器速度。该项目对OpenFOAM原始项目改动较大,从前处理到矩阵元计算,到迭代求解器,都涉及Thrust库使用。

rapidCFD通过MPI启动分布式并行运行模式,支持多卡多机运行.

rapidCFD开发者主要使用CUDA8.0+K20 GPU开发测试环境,有些老旧。在CUDA11.2上环境上,需要对项目几处进行修改,可成功编译构建,对测试用例运行成功。


编译构建
  • 编译环境

    环境说明备注
    CPUXeon Gold 52206核
    CentOS 8.5/gcc 8.5.0
    CUDA 11.2A40 vGPU显存4G,计算能力8.6
    OpenMPI v4.1.1

  • 构建细节, 变动说明

    变动说明备注
    etc/bashrcexport WM_MPLIB=SYSTEMOPENMPI使用系统openmpi
    wmake/rules/linux64Nvcc/ccc = nvcc -ccbin=mpicxx -m64 -arch=sm_86设置c编译器
    wmake/rules/linux64Nvcc/c++CC = nvcc -ccbin=mpicxx -Xptxas -dlcm-cg -std=c++14 -m64 -arch=sm_86设置c++编译器
    src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U653BVCz-1651543675288)(stuff/rapidcdf.1.png)]]]forAllConstIter编译报错,需要加typename关键字
    src/OpenFOAM/matrices/lduMatrix/preconditioners/AINVPreconditioner/AINVPreconditioner.C[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lxX3DkBn-1651543577179)(stuff/rapidcdf.2.png)]模板函数实例化,否则连接会报找不到符号错误

测试用例运行说明

cavity用例附带有生成的网格,运行成功。

damBreak-rapidCFD用例的网格用OpenFOAM-v2112的blockMesh工具生成,在单机单卡环境下运行成功。该用例支持并行区域划分,可在多卡多机环境运行。


网络资源
  • rapidCFD Github
  • rapidCFD Test Github
  • problem with multi GPU execution
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/856339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号