24小时热门版块排行榜    

查看: 532  |  回复: 3

JerryDashNow

新虫 (初入文坛)

[交流] 如何用打游戏的电脑研究高分子物理问题

如何用打游戏的电脑研究高分子物理问题

简介

一个人没事, 看到手边有一个别人淘汰下来的一个台式机,就装起来, 跑了几个分子动力学的测试例子。想起来很多人初学者特别是刚刚接触高分子模拟的学生, 不知道如何入手进行高分子物理相关的分子动力学模拟, 我就把过程详细写出来, 供想做高分子模拟的同学参考。
我准备从基本的硬件开始, 一直写到最新版开源软件的安装调试,  最后我会给出这台被人玩游戏都淘汰的机器上做的基准测试结果。(提纲, 有时间我会慢慢充实)


I. 被人淘汰的硬件

我手边的这台电脑, 是一台双核 的DELL OPTIPLEX 760台式机, 我把内存加到8G, 原来的显卡烧了, 我拣了块NVIDIA GTX 745显卡装上, 可以进行GPU计算。

II. 操作系统

别人的电脑上有个正版的Window 7, 我就没动他的旧系统。我过去一直用 FEDORA, 因为喜欢其自由、友爱、杰出、前卫的风格。目前FEDORA的版本是26, 这个版本集中了LINUX最先进的功能。我下载后,在电脑上安装了window/Fedora双系统。

III. GPU计算环境

如果想进行GPU计算, 目前主流是使用CUDA编程环境。这需要两步, 第一步是安装Nvidia显卡驱动,第二步是安装CUDA toolkit。目前CUDA Tookit的开发者版本是9.0, 公开版本是8.0。初学者直接下载不需要注册公开版本就可以了。我这里是用了9.0版做例子, 不过对用户没有差别。

这里遇到的第一个问题是 最新版的FEDORA 26, 和 最新版的CUDA Tool Kit 8.0/9.0不兼容的问题, 无法编译通过CUDA Toolkit的测试例子。这个问题的原因是前者所携带的高版本GCC编译器和CUDA不兼容,网上有人用修改源代码的方式解决这个问题, 但是这需要较高的技巧, 不适合初学者。

我通过编译器版本降级, 简单地解决了这个问题, 这也是目前FEDORA项目推荐的方法, 概括如下:

How to run the cuda 8.0 toolkit and compile the sample in Fedora 26

1. Fedora 26 comes with gcc version 7.x, which is incompatible with cuda 9.0 amd 8.0

2. sudo dnf install cuda-1*, where the dependence of compact-gcc-5.3* is installed.

3. sudo dnf install cuda*, maybe there is a conflict between cudnn5 and cudnn6. choose anyone.

4. sudo dnf install cuda-sample*, which is installed at /usr/share/cuda/.

5. export HOST_COMPILER=g++53

6. cp /usr/share/cuda/samples ~/

7. make

不熟悉以上命令的同学, 需要学习一下相关的知识。


IV. 分子动力学模拟软件 LAMMPS的安装

我目前主要采用的MD软件是LAMMPS。我这里也推荐初学者使用这一软件。这里不通论这一软件的使用技巧, 只是从搭建模拟平台的角度, 说明如何构建最快速的模拟环境。

下载最新版的LAMMPS软件后, 就可以进行安装。针对普通的MPI环境不以应该出现什么问题。问题比较多的部分是GPU和KOKKOS加速部分的编译。

这两个模块的安装和编译的技巧如下:

***********************
For GPU: lib/gpu/makefile
......
CUDA_HOME = /usr
...…
CUDA_ARCH = -arch=sm_50
...…
CUDA_INCLUDE = -I$(CUDA_HOME)/include/cuda
......
CUDA_OPTS = -ccbin g++53 -DUNIX -O3 -Xptxas -v --use_fast_math


***********************
For Kokkos_CUDA: src/MAKE/Makefile

......
CCFLAGS =       -g -O3 -ccbin g++53 -I/usr/include/cuda
......
LINKFLAGS =     -g -O3 -ccbin g++53 -I/usr/include/cuda
......
KOKKOS_ARCH =   Maxwell50


涉及的问题是编译器路径, 头文件路径, 以及GPU的CUDA版本。这些问题在上面的Makefile里得到了解决。(有时间我会详细解释这一过程)

V. 具体算例及 BENCHMARK(待续)

1. LJ 粒子

2. 粗粒化的高分子熔体模型

3. 含长程静电作用的罗丹明分子的构像模拟
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

JerryDashNow

新虫 (初入文坛)

Nvidia GTX 745
如何用打游戏的电脑研究高分子物理问题
GPU.png

2楼2017-10-03 02:19:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

JerryDashNow

新虫 (初入文坛)

Nbody benchmark
如何用打游戏的电脑研究高分子物理问题-1
Nbody.png

3楼2017-10-03 02:22:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

JerryDashNow

新虫 (初入文坛)

0. LJ粒子

1. 粗粒化高分子熔体

2. 罗丹明分子
如何用打游戏的电脑研究高分子物理问题-2
000.jpg


如何用打游戏的电脑研究高分子物理问题-3
111.jpg


如何用打游戏的电脑研究高分子物理问题-4
222.jpg

4楼2017-10-03 02:29:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 JerryDashNow 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见