双核的机子如何编译lammps[转贴]

最近有好多人在问我,双核的机子该如何编译lammps。其实就是实现并行的功能。如果不能充分的利用多cpu的优势,其实是很可惜的。下面是一些过程:
首先我们要安装MPICH(MPICH提供一个并行的环境),推荐MPICH2,可以从官方网站下: www.mcs.anl.gov/mpi/mpich2,安装过程见说明书,也可以参考如下的网址 http://www.xxlinux.com/linux/article/accidence/i......70514/8413.html,根据上面的网址内容,创建ssh信任连接。
下面是修改lmamps的makefile,我用的是ubuntu,Makefile 内容如下,希望对大家有所帮助:
# debian = Debian, g++, MPICH, no FFTW for PTMD

SHELL = /bin/sh
#.IGNORE:

# System-specific settings

CC = mpicxx
#CCFLAGS = -g -O -I/usr/lib/mpich/include/ -DFFT_FFTW -DGZIP #-I/home/ptmd/Science/lammps-15Dec07/src/STUBS
CCFLAGS = -g -O -I/home/ptmd/Science/lammps-15Dec07/lib/meam \
-DFFT_NONE -DGZIP -DMPICH_IGNORE_CXX_SEEK
DEPFLAGS = -M
LINK = mpicxx
#LINKFLAGS = -g -O -L/home/ptmd/Science/lammps-15Dec07/src/STUBS
LINKFLAGS = -g -O -L/home/ptmd/Science/lammps-15Dec07/lib/meam \
-L/opt/intel/fc/10.1.008/lib/
USRLIB = -lmeam -lstdc++
SYSLIB = -lgfortran -lpthread
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size

# Link target

$(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(OBJ) $(USRLIB) $(SYSLIB) -o $(EXE)
$(SIZE) $(EXE)

# Library target

lib: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)

# Compilation rules

%.o:%.cpp
$(CC) $(CCFLAGS) -c $<

%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $#

# Individual dependencies

DEPENDS = $(OBJ:.o=.d)
include $(DEPENDS)
--------------------------------------
至于MPICH2的用法,可以参考上面的网页,测试MPICH2是不是已经安装成功了,MPICH2里面也有一些examples,自己可以试一下。
mpd& %开启MPICH
将lmp_debian拷到~/Science/lammps-15Dec07/bench目录下,在此目录下运行。
mpdrun -n 2 ./lmp_debian
mpdallexit %关闭MPICH

转载于:https://my.oschina.net/hookah/blog/3699

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值