小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

[轉(zhuǎn)載]Lammps并行安裝全解讀

 day_day__UP 2014-12-07

 

Lammps并行安裝全解讀

 

這里的lammps安裝是在Ubuntu11.04下安裝,Ubuntu12.10Redhat Enterprise也有成功案例。不同版本系統(tǒng)可能與下面一些安裝包不兼容,這個(gè)要自己負(fù)責(zé)了,出錯(cuò)要自己排查是什么問(wèn)題。非并行安裝就不寫(xiě)了,太Easy,網(wǎng)上找的基本不會(huì)錯(cuò)。還有,我這篇文章參考了很多文章,我都記不清了,如果有人需要備注,給我留言吧。我連續(xù)研究了一周,還有零碎的時(shí)間沒(méi)算進(jìn)去。遇到一堆錯(cuò)誤,看了一堆資料。有問(wèn)題的也可以問(wèn)我,僅限2012年以后就難說(shuō)啦。

 

 

首先做下準(zhǔn)備,把需要的軟件包都找好。

1.fftw-3.3.2.tar.gz,可以到這里下, http://www./file/id_34521031569913834.htm

2.mpich2-1.4.1p1.tar, 可以到這里下http://www./file/id_34521031569913840.htm

3.lammps.tar.gz,版本號(hào)30Aug12,http://www./file/id_34521031569913839.htm

4. Makefile.g++, http://www./file/id_34521031569913836.htm

 

然后檢查下自己的機(jī)器是否已經(jīng)安裝cfortran編譯器

Linux一般有gcc,g++gfortranintelfortran ,可以用which g++which gfortran查看是否存在安裝目錄。

這里用ubuntu源里的g++gfortran,保證聯(lián)網(wǎng)的情況下用以下命令:

sudo apt-get install build-essential

sudo apt-get install g++

sudo apt-get install gfortran

無(wú)法聯(lián)網(wǎng)的自己下載或者拷貝吧,到網(wǎng)上找解決辦法

 

 

開(kāi)始安裝:

1 安裝fftw

終端輸入:

cd /mnt         (進(jìn)入mnt文件夾)

這個(gè)是fftw臨時(shí)存放文件夾,不是安裝目錄,服務(wù)器中最好放在自己的文件夾下面,例如cd /zhangsan/mnt

gunzip fftw-3.3.2.tar.gz          (解壓文件)

源碼包fftw-2.1.5.tar.gz已經(jīng)拷貝在 /mnt下,可通過(guò)“cp fftw全路徑 fftw目標(biāo)路徑”操作,具體參照cp命令

tar xvf fftw-3.3.2.tar           (解壓文件)

cd fftw-3.3.2                (進(jìn)入fftw-3.3.2文件夾)

./configure --prefix=/opt/fftw --enable-float (進(jìn)行安裝前注冊(cè))

/opt/fftw是安裝目錄,可根據(jù)需要進(jìn)行更改,這個(gè)路徑對(duì)后面的Makefile.g++有影響,

make                        (預(yù)編譯)

make install                  (安裝fftw-3.3.2即安裝在/opt/fftw)

 

2 安裝mpich

終端輸入:

cd /mnt

gunzip mpich2-1.4.1p1.tar.gz

tar xvf mpich2-1.4.1p1.tar

cd /mpich2-1.4.1p1

./configure --prefix=/opt/mpich

make

sudo make install   (mpich即安裝在/opt/mpich)

修改環(huán)境變量

cd

gedit .bashrc

在彈出的環(huán)境變量文件末尾添加下面代碼:

If [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

 

expot  PATH=/opt/mpich/bin:$PATH

export LD_LIBRARY_PATH=/opt/mpich/lib:/opt/fftw/lib:$LD_LIBRARY_PATH

注:如果你的mpich不是裝在/opt/mpich下面,需要把上面代碼修改成實(shí)際路徑

 

3 安裝lammps

cd /mnt

gunzip lammps.tar.gz

tar xvf lammps.tar

mv lammps-30Aug12 lmp

cd /lmp/src

 

查看已經(jīng)安裝了那些包

make package-status

需要特殊安裝就

make yes-meam

make yes-reax

make yes-peri    make yes-*

也可以make yes-all,會(huì)因缺少文件出錯(cuò)所以不建議,也可都卸載make no-all

 (幾個(gè)特殊的package:meam,poems,reax,gpu,user-atc需要特別安裝,如下)

同時(shí)注意,因?yàn)槟阌玫氖?/span>gfortran編譯器,所以里面有個(gè)Makefile.lammps的文件需要修改一下,poems不用它用的是g++編譯器:

cd /mnt/lmp/lib/meam

gedit Makefile.lammps

其中

meam_SYSINC =

meam_SYSLIB = -lifcore -lsvml –lompstub-limf    畫(huà)線部分改為-lgfortran

meam_SYSPATH = -L/opt/intel/fce/10.0.023/lib     刪除畫(huà)線部分

make -f Makefile.gfortran   (安裝meam)

cd /mnt/lmp/lib/poems

make -f Makefile.g++

cd /mnt/lmp/lib/reax

gedit Makefile.lammps

其中

reax_SYSINC =

reax_SYSLIB = -lifcore -lsvml –lompstub-limf    畫(huà)線部分改為-lgfortran

reax_SYSPATH =  -L/opt/intel/fce/10.0.023/lib     刪除畫(huà)線部分

make -f Makefile.gfortran

 

下面就是重要的Makefile.g++的編譯了,也可以Makefiel.serial

這里的東西比較難改,我已經(jīng)做好了一個(gè)如果路徑一樣可以直接用我的Makefile.g++,

如果路徑不一樣,黑體字部分路徑需要修改,先敲兩行命令調(diào)出Makefile。

cd /mnt/lmp/src/MAKE

gedit Makefile.g++

開(kāi)始修改

# g++ = RedHat Linux box, g++4, MPICH2, FFTW

 

SHELL = /bin/sh

 

# ---------------------------------------------------------------------

# compiler/linker settings

# specify flags and libraries needed for your compiler

 

CC =                   g++

CCFLAGS =      -g -O # -Wunused

DEPFLAGS =   -M

LINK =                g++

LINKFLAGS =   -g -O

LIB =       

ARCHIVE =       ar

ARFLAGS =      -rc

SIZE =                size

 

# ---------------------------------------------------------------------

# LAMMPS-specific settings

# specify settings for LAMMPS features you will use

# if you change any -D setting, do full re-compile after "make clean"

 

# LAMMPS ifdef settings, OPTIONAL

# see possible settings in doc/Section_start.html#2_2 (step 4)

 

LMP_INC =       -DLAMMPS_GZIP  #不要多加?xùn)|西

 

# MPI library, REQUIRED

# see discussion in doc/Section_start.html#2_2 (step 5)

# can point to dummy MPI library in src/STUBS as in Makefile.serial

# INC = path for mpi.h, MPI compiler settings

# PATH = path for MPI library

# LIB = name of MPI library

 

MPI_INC =     -I/opt/mpich/include    -DMPICH_SKIP_MPICXX

MPI_PATH =     -L/opt/mpich/lib 

MPI_LIB =         -lmpich -lpthread

 

 

# FFT library, OPTIONAL

# see discussion in doc/Section_start.html#2_2 (step 6)

# can be left blank to use provided KISS FFT library

# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings

# PATH = path for FFT library

# LIB = name of FFT library

 

FFT_INC =  -I/opt/fftw/include       -DFFT_FFTW

FFT_PATH = -L/opt/fftw/lib

FFT_LIB =         -lfftw3f   #記不清了,這個(gè)是/opt/fftw/lib文件夾下面的libfftw*.a文件全名,查看一下對(duì)

 

# JPEG library, OPTIONAL

# see discussion in doc/Section_start.html#2_2 (step 7)

# only needed if -DLAMMPS_JPEG listed with LMP_INC

# INC = path for jpeglib.h

# PATH = path for JPEG library

# LIB = name of JPEG library

 

JPG_INC =      

JPG_PATH =   

JPG_LIB =        

 

# ---------------------------------------------------------------------

# build rules and dependencies

# no need to edit this section

 

include     Makefile.package.settings

include     Makefile.package

 

EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC)

EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)

EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB)

 

# Link target

 

$(EXE):     $(OBJ)

         $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)

         $(SIZE) $(EXE)

 

# Library target

 

lib:    $(OBJ)

         $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)

 

# Compilation rules

 

%.o:%.cpp

         $(CC) $(CCFLAGS) $(EXTRA_INC) -c $<

 

%.d:%.cpp

         $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@

 

# Individual dependencies

 

DEPENDS = $(OBJ:.o=.d)

include $(DEPENDS)

 

保存后開(kāi)始安裝lammps

cd /mnt/lmp/src

make clean-all

make serial     (lammps開(kāi)始安裝,最后可生成lmp_serial的可執(zhí)行文件)

mv lmp_serial lmp  (改名為lmp可以復(fù)制到桌面常用)

4 并行計(jì)算一example

a:終端輸入

cd /mnt/lmp/examples/shear  (一定要進(jìn)入需要計(jì)算文件的文件夾中)

cp /opt/mpich/bin/mpirun /mnt/lmp/e*/shear

cp /mnt/lmp/src/lmp /mnt/lmp/e*/shear  (拷貝在同一個(gè)文件夾)

mpirun –np 4 ./lmp<in.shear     (lammps開(kāi)始計(jì)算)

 

b:終端輸入(方法二,比較簡(jiǎn)單,直接給mpirunlmp的絕對(duì)路徑,不需要拷貝了)

cd /mnt/lmp/e*/shear

/opt/mpich/bin/mpirun –np 4 /mnt/lmp/src/lmp<in.shear

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多