[오류 내용]

error: more than one instance of overloaded function "MPI::Init_thread" has "C" linkage


[해결 방법]

"-DMPICH_SKIP_MPICXX" 를 포함 시켜서 컴파일

'나의일 관련 > Linux' 카테고리의 다른 글

antlr-2.7.7 설치 기록  (0) 2019.01.08
gcc-6.1.0 설치 기록  (0) 2018.07.19
오류내용 : undefined reference to `tgetstr'  (0) 2018.02.01
OpenFOAM 4.1 설치 기록  (0) 2018.02.01
OpenFOAM 3.0.0 설치 기록  (0) 2017.11.13
Posted by 천연사이다

[오류 내용]

/usr/lib/../lib64/libreadline.so: undefined reference to `tgetstr'

/usr/lib/../lib64/libreadline.so: undefined reference to `tputs'

/usr/lib/../lib64/libreadline.so: undefined reference to `BC'

/usr/lib/../lib64/libreadline.so: undefined reference to `tgetent'

/usr/lib/../lib64/libreadline.so: undefined reference to `tgetflag'

/usr/lib/../lib64/libreadline.so: undefined reference to `tgoto'

/usr/lib/../lib64/libreadline.so: undefined reference to `UP'

/usr/lib/../lib64/libreadline.so: undefined reference to `tgetnum'

/usr/lib/../lib64/libreadline.so: undefined reference to `PC'


[해결 방법]

컴파일 시 "-lreadline" 를 "-lreadline -lcurses" 로 변경해서 사용

'나의일 관련 > Linux' 카테고리의 다른 글

gcc-6.1.0 설치 기록  (0) 2018.07.19
mpich 또는 mvapich2 사용 시 오류  (0) 2018.02.01
OpenFOAM 4.1 설치 기록  (0) 2018.02.01
OpenFOAM 3.0.0 설치 기록  (0) 2017.11.13
CUDA SDK 8.0 관련 이슈 기록  (0) 2017.10.31
Posted by 천연사이다

OpenFOAM 4.1 source 버전으로 설치 하는 방법에 대하여 소개 한다.


1. 설치 환경

 구분

내용 

 OS

RHEL 5.3 

 기타

intel-2015 컴파일러 사용

mvapich2-2.1 MPI 사용

python-2.7.12 사용.


2. 환경 설정 방법

[ 환경 설정 ]

$ export PATH=/applic/compilers/gcc/4.9.3/bin:/applic/common/utils/bin:PATH

$ export LD_LIBRARY_PATH=/applic/compilers/gcc/4.9.3/lib64:$LD_LIBRARY_PATH

$ module load compiler/intel-2015 mpi/mvapich2-2.1 applic/python-2.7.12

$ export PATH=$PATH:/applic/wa/QT/4.7.3/bin

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/applic/wa/QT/4.7.3/lib


3. 설치

 설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략한다. 

  설치과정

$ mkdir OpenFOAM

$ cd OpenFOAM


$ sed -i -e 's/\(boost_version=\)boost-system/\1boost_1_55_0/' OpenFOAM-4.1/etc/config.sh/CGAL

$ sed -i -e 's/\(cgal_version=\)cgal-system/\1CGAL-4.8/' OpenFOAM-4.1/etc/config.sh/CGAL


$ vi OpenFOAM-4.1/etc/bashrc

- - - (1) 수정 사항 참고 - - -

$ export MPI_ROOT=/applic/compilers/intel/2015/mpi/mvapich2/2.1

$ export MPI_ARCH_FLAGS="-DMPICH_SKIP_MPICXX"

$ export MPI_ARCH_INC="-isystem $MPI_ROOT/include"

$ export MPI_ARCH_LIBS="-L$MPI_ROOT/lib -lmpi"


$ vi OpenFOAM-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake

- - - (2) 수정 사항 참고 - - -


$ vi OpenFOAM-4.1/etc/config.sh/settings 

- - - (3) 수정 사항 참고 - - -


$ cd $WM_THIRD_PARTY_DIR

$ tar xvjf gmp-6.1.0.tar.bz2 

$ cd gmp-6.1.0

$ ./configure --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/gmp-6.1.0 \

--enable-cxx CC=icc CXX=icpc CFLAGS="-O3 -fPIC" CXXFLAGS="-O3 -fPIC" 

$ make

$ make install

$ cd ..

$ tar xvzf mpfr-3.1.3.tar.gz

$ cd mpfr-3.1.3

$ ./configure --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/mpfr-3.1.3 \

CC=icc CXX=icpc CFLAGS="-O3 -fPIC" CXXFLAGS="-O3 -fPIC" --disable-thread-safe \

--with-gmp=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/gmp-6.1.0 

$ make

$ make install

$ cd ..

$ tar xvzf boost_1_55_0.tar.gz

$ cd boost_1_55_0

$ ./bootstrap.sh --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/boost_1_55_0

$ ./b2 install --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/boost_1_55_0

$ cd ..

$ ./makeCGAL gmp-6.1.0 mpfr-3.1.3 >& log.makeCFAL 

$ wmRefresh

$ cd $WM_PROJECT_DIR

$ ./Allwmake -j 4 >& log.make 


(1) OpenFOAM-4.1/etc/bashrc 파일 수정
 예제 설치 경로는 "/scratch2/sunlsy/install_test/tachyon2" 이다.
 설치 환경에 맞게 수정
[변경 전]

[ $BASH_SOURCE ] && \

export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \

export FOAM_INST_DIR=$HOME/$WM_PROJECT

export WM_COMPILER=Gcc

export WM_MPLIB=SYSTEMOPENMPI

[변경 후]

export FOAM_INST_DIR=/scratch2/sunlsy/install_test/tachyon2/$WM_PROJECT

export WM_COMPILER=Icc

export WM_MPLIB=SYSTEMMPI


(2) OpenFOAM-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake 파일 수정

[변경 전]

export LINK_FLAGS="-lreadline"

[변경 후]

export LINK_FLAGS="-lreadline -lcurses"


(3) OpenFOAM-4.1/etc/config.sh/settings 파일 수정

[변경 전]

64)

WM_ARCH=linux64

    export WM_COMPILER_LIB_ARCH=64

    export WM_CC='gcc'

    export WM_CXX='g++'

    export WM_CFLAGS='-m64 -fPIC'

    export WM_CXXFLAGS='-m64 -fPIC -std=c++0x'

    export WM_LDFLAGS='-m64'

[변경 후]

64)

    WM_ARCH=linux64

    export WM_COMPILER_LIB_ARCH=64

    export WM_CC='icc'

    export WM_CXX='icpc'

    export WM_CFLAGS='-O3 -m64 -fPIC'

    export WM_CXXFLAGS='-O3 -m64 -fPIC -std=c++0x'

    export WM_LDFLAGS='-m64'


4. 동작 확인

mkdir -p $FOAM_RUN 

$ run 

$ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily ./ 

$ cd pitzDaily 

$ blockMesh 

$ simpleFoam 






Posted by 천연사이다

OpenFOAM 3.0.0 source 버전으로 설치 하는 방법에 대하여 소개 한다.


1. 설치 환경

 구분

내용 

 OS

RHEL 5.3 

 기타

intel-2015 컴파일러 사용

openmpi-2.1.1 MPI 사용

python-2.7.12 사용.


2. 환경 설정 방법

[ 환경 설정 ]

 module load compiler/intel-2015 mpi/openmpi-2.1.1 applic/python-2.7.12


3. 설치

 설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략한다. 
- 참고 : https://proteusmaster.urcf.drexel.edu/urcfwiki/index.php/Compiling_OpenFOAM 

  설치과정

$ mkdir OpenFOAM

$ cd OpenFOAM

$ tar xvf OpenFOAM-3.0.0.tgz 

$ tar xvf ThirdParty-3.0.0.tgz

$ export WM_CC=icc

$ export WM_CXX=icpc

$ export WM_CFLAGS="-m64 -fPIC -O3 -fopenmp"

$ export WM_CFLAGS="-m64 -fPIC -O3 -fopenmp"

$ export WM_COMPILER_ARCH=IccDPInt32Opt

$ export WM_NCOMPPROCS=8

$ cd OpenFOAM-3.0.0

$ vi etc/bashrc

 - - - 수정은 아래 (1) 참조 - - -

$ vi etc/config/CGAL.sh

 - - - 수정은 아래 (2) 참조 - - -

$ source etc/bashrc

$ vi $WM_DIR/rules/linux64Icc/cOpt

$ vi $WM_DIR/rules/linux64Icc/c++Opt

$ cd $WM_DIR

$ ./makeWmake

$ cd $WM_THIRD_PARTY_DIR

$ tar xvjf gmp-6.1.0.tar.bz2    # GMP-6.1.0 버전 설치

cd gmp-6.1.0

$ ./configure --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/gmp-6.1.0 \

--enable-cxx CC=icc CXX=icpc CFLAGS="-O3 -fPIC" CXXFLAGS="-O3 -fPIC" 

$ make

$ make install

$

$ tar xvzf mpfr-3.1.3.tar.gz   # MPFR-3.1.3 버전 설치

$ cd mpfr-3.1.3

$ ./configure --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/mpfr-3.1.3 \

CC=icc CXX=icpc CFLAGS="-O3 -fPIC" CXXFLAGS="-O3 -fPIC" --disable-thread-safe \

--with-gmp=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/gmp-6.1.0 

$ make

$ make install

$ tar xvzf boost_1_61_0.tar.gz   #BOOST-1.61.0 버전 설치
$ cd boost_1_61_0
$ ./bootstrap.sh --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/boost_1_61_0
$ ./b2 install --prefix=$WM_THIRD_PARTY_DIR/platforms/${WM_ARCH}${WM_COMPILER}/boost_1_61_0
$ export WM_COMPILER_ARCH=Icc
$
$ vi makeCGAL
- - - 수정은 아래 (3) 참조 - - -
$ vi ${WM_THIRD_PARTY_DIR}/etc/wmakeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM-64Int32
- - - 수정은 아래 (4) 참조 - - -
$ ./makeCGAL boost_1_61_0 gmp-6.1.0 mpfr-3.1.3
$ export SCOTCH_VERSION=6
$ ./Allwmake
$ cd $WM_PROJECT_DIR
$ ./Allwmake

(1) etc/bashrc 파일 수정
 intel 컴파일러에 맞게 수정
[변경 전]

foamInstall=$HOME/$WM_PROJECT

export WM_COMPILER=Gcc

[변경 후]

foamInstall=$USER/applications/$WM_PROJECT

export WM_COMPILER=Icc


(2) etc/config/CGAL.sh 파일 수정

[변경 전]

boost_version=boost-system

[변경 후]

boost_version=boost_1_61_0


(3) makeCGAL 파일 수정

패키지들 버전에 맞게 수정

cgalPACKAGE=CGAL-4.7

boostPACKAGE=boost_1_61_0

gmpPACKAGE=gmp-6.1.0

mpfrPACKAGE=mpfr-3.1.3 


(4) Makefile.inc.i686_pc_linux2.shlib-OpenFOAM-64Int32 파일 수정

intel 컴파일러 환경으로 수정

[변경 전]

AR      = gcc

CCS     = gcc

[변경 후]

AR      = icc

CCS     = icc


4. 사용 환경 설정

$ module load compiler/intel-2015 mpi/openmpi-2.1.1 

$ source /applic/applications/OpenFOAM/OpenFOAM-3.0.0/etc/bashrc







Posted by 천연사이다


[slurm 계산 노드 정보 ]

- parririon 정보 확인

$ sinfo 

- 상세 자원 정보 출력

$ sinfo -N -l

- sinfo 사용 참고 : https://slurm.schedmd.com/sinfo.html


[작업 제출]

sbatch 명령을 이용하여 slurm 스케줄러로 작업 제출

 $ sbatch run.sh 


[작업 조회]

squeue 명령을 이용하여 작업 조회

  $ squeue

* R : RUNNING 상태

* PD : PENDING 상태

* S : SUSPENDED 상태

* ST : STOP 상태

* CD : COMPLETED 상태

* CA : CANCELLED 상태

* F : FAILED 상태

* NF : NODE_FAIL 상태

- 참고 : https://slurm.schedmd.com/squeue.html


[작업 정보 조회]

sacct -j {작업ID} --format {포멧지정}

sacct -j 1902 --format JobID,jobname,NTasks,nodelist,MaxRSS,MaxVMSize,AveRSS,AveVMSize


[수행 중인 작업 정보 조회]

sstat -j {작업ID} --format {포멧지정}

sstat -j 1902 --format JobID,jobname,nodelist,MaxVMSize,MaxRSS,MaxDiskRead,MaxDiskWrite


 $ scontrol show job 1902


Posted by 천연사이다


PBS Pro 에서 사용자의 작업 제출 허용 시키지 

PBS Manager 서버에서 qmgr 명령으로 변경

qmgr -c "set server flatted = true"

또는

# qmgr

Max open servers: 49

Qmgr: s s flatuid=true 





'나의일 관련 > 클러스터관리툴' 카테고리의 다른 글

오류 내용 : ld: cannot find -lfl  (0) 2018.01.08
linux 유용한 스크립트 기록  (0) 2017.11.16
PBS Pro stack size 조정 기록  (0) 2017.11.13
SLURM 공부 기록  (0) 2017.11.08
redhat 계열 repo 파일 생성  (0) 2017.10.27
Posted by 천연사이다

/etc/yum.repos.d 경로에 파일명.repo 와 같이 repo 확장자로 파일 생성

 

[local]

name=local packages

baseurl=file:///mnt

enabled=1

gpgcheck=0


Posted by 천연사이다

시스템 상태 체크 시 사용하는 MPI 코드


       program main

      use mpi

      implicit none


      integer :: provided, ierr, size, rank, len

      character (len=MPI_MAX_PROCESSOR_NAME) :: name

      call MPI_Init_thread(MPI_THREAD_MULTIPLE, provided, ierr)


      call MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr)

      call MPI_Comm_size(MPI_COMM_WORLD, size, ierr)

      call MPI_Get_processor_name(name, len, ierr)


      write(*, '(2A,I2,A,I2,3A)') &

           'Hello, World! ', &

           'I am process ', rank, &

           ' of ', size, &

           ' on ', name(1:len), '.'


      call MPI_Finalize(ierr)

      end program main


'나의일 관련 > Linux' 카테고리의 다른 글

OpenFOAM 3.0.0 설치 기록  (0) 2017.11.13
CUDA SDK 8.0 관련 이슈 기록  (0) 2017.10.31
MPI hello world 예제(C언어)  (0) 2017.10.27
Quantum Espresso 6.1 설치 기록  (0) 2017.10.27
[galaxy] fftw-3.3.4 설치 기록  (0) 2017.10.27
Posted by 천연사이다

시스템 상태 체크 시 사용하는 MPI 코드 


#include <stdio.h>

#include <mpi.h>


void main(int argc, char *argv[]){

    int rank,size,len;

    char name[MPI_MAX_PROCESSOR_NAME];


    MPI_Init(&argc, &argv);

    MPI_Comm_rank(MPI_COMM_WORLD, &rank);

    MPI_Comm_size(MPI_COMM_WORLD, &size);

    MPI_Get_processor_name(name, &len);

    printf("Hello, World! I am process %d of size %d on %s \n",rank, size, name );


    MPI_Finalize();



'나의일 관련 > Linux' 카테고리의 다른 글

CUDA SDK 8.0 관련 이슈 기록  (0) 2017.10.31
MPI hello world 예제(Fortran언어)  (0) 2017.10.27
Quantum Espresso 6.1 설치 기록  (0) 2017.10.27
[galaxy] fftw-3.3.4 설치 기록  (0) 2017.10.27
siesta-4.0 설치 기록  (0) 2017.10.27
Posted by 천연사이다

** Unix 에서 기준 시간 이후 파일만 검색 할때 **


1. touch 를 이용하여 기준시간 파일을 작성


$ touch -t 201206010000 timeline.txt

설명 : timeline.txt 파일을 2012년 6월 1일 00시 날짜로 생성


2. find 를 이용하여 기준시간 이후 파일들만 검색


$ find . -type f -newer timeline.txt

설명 : 현재 폴더기준으로 timeline.txt 파일 이후에 생성된 파일 목록을 출력


$ find . -type f -newer timeline.txt | xargs -i cp -p {} /tmp/test_temp

설명 : 현재 폴더기준으로 timeline.txt 파일 이후에 생성된 파일 목록을 입력으로 받아서

         /tmp/test_temp 폴더로 복사

'나의일 관련 > UNIX' 카테고리의 다른 글

gcam(GPFS Current Activity Monitor)  (0) 2017.10.27
Posted by 천연사이다
이전버튼 1 2 이전버튼

블로그 이미지
공부 기록
천연사이다

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함