1. 작업 제출 스크립트 작성

#!/bin/sh

#PBS -V

#PBS -q workq

#PBS -N openmp_job

#PBS -l select=1:ncpus=10:mpiprocs=1:ompthreads=10

#PBS -l walltime=04:00:00

 

cd $PBS_O_WORKDIR

 

./a.out

- 파란색 부분을 적절히 수정해서 사용 합니다.

- 위 예제에서 붉은색 부분은 작업 제출 경로로 이동하게 하는 예제로 삭제하지 않고 사용 해야 실행 오류가 발생 하지 않습니다.


2. 작업 제출 방법

- "qsub {스크립트 명}" 으로 작업을 제출할 수 있습니다.

- 예제 : 스크립트 파일 이름이 openmp.sh 인 경우

 $ qsub openmp.sh


3. 작업 조회

- qstat 명령으로 수행중인 작업과 종료된 작업을 조회

- -x 옵션을 사용할 경우 기존 작업 목록 조회 

 $ qstat -x

 Job id            Name             User              Time Use S Queue

 ----------------  ---------------- ----------------  -------- - -----

 0.mgmt            STDIN            applic            00:00:00 F workq

 1.mgmt            STDIN            applic            00:00:00 F workq

 2.mgmt            STDIN            applic            00:00:00 F workq

 3.mgmt           STDIN            applic            00:00:00 F workq


4. 인터렉티브 작업 제출

- qsub 명령 뒤에 "-I(대문자 아이)" 옵션을 사용합니다.

- 자원 사용에 대한 설정은 "-l(소문자엘)"로 지정합니다.

$ qsub -I -V -l select=1:ncpus=10:mpiprocs=1:ompthreads=10 -l walltime=01:00:00


5. 작업 삭제

- "qdel {작업ID}" 로 제출된 작업을 삭제할 수 있습니다.

- 작업IDqstat 명령으로 조회 되는 "Job id" 항목의 값 입니다.

- 예제 : 작업ID 3.mgmt 인 경우

$ qdel 3.mgmt




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

ipmitool 명령어 모음  (1) 2019.11.12
오류 내용 : 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
Posted by 천연사이다

OS : CentOS 8


[오류 내용]

error: ‘std::tr1’ has not been declared


[해결 방법]

# vi mkspecs/common/gcc-base.conf

- 변경 전 : QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS

- 변경 후 : QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS -std=gnu++98


자세한 설명은 아래 참고 사이트에 작성되어 있습니다.

- 참고 : https://stackoverflow.com/questions/52061472/installing-qt-from-source-v-4-8-6

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

R BiocManager 사용 방법 정리  (0) 2020.01.21
CentOS 7.5 grub2 수정  (0) 2019.12.16
binutils 관련 오류 기록  (0) 2019.12.02
nmon gpu 수정 버전  (0) 2019.11.14
medaka 와 기타 패키지 설치 기록  (0) 2019.11.06
Posted by 천연사이다


RedHat 5.3 OS 에 GCC 6.1 설치 과정 기록


1. binutils-2.30 install

./configure --prefix=/home01/sunlsy/tachyon2

make

make install


export PATH=/home01/sunlsy/tachyon2/bin:$PATH

export LD_LIBRARY_PATH=/home01/sunlsy/tachyon2/lib:$LD_LIBRARY_PATH


2. gmp-6.1.0

./configure --prefix=/home01/sunlsy/tachyon2

make

make install


3. mpfr-3.1.6

./configure --prefix=/home01/sunlsy/tachyon2 --with-gmp-include=/home01/sunlsy/tachyon2/include --with-gmp-lib=/home01/sunlsy/tachyon2/lib

make

make install


4. mpc-1.0.3

./configure --prefix=/home01/sunlsy/tachyon2 --with-mpfr=/home01/sunlsy/tachyon2 --with-gmp=/home01/sunlsy/tachyon2

make

make install


export PATH=/applic/common/utils/bin:$PATH


5. gcc-6.1.0

./configure --prefix=/home01/sunlsy/tachyon2  \

--enable-shared --enable-threads=posix \

--enable-clocale=gnu --enable-languages=c,c++,fortran,lto \

--with-mpc=/home01/sunlsy/tachyon2 --with-mpfr=/home01/sunlsy/tachyon2 \

--with-gmp=/home01/sunlsy/tachyon2

make

make install 



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 천연사이다

linux 에서 사용하는 유용한 스크립트 정리

 

- PATH 환경변수에 설정한 경로 출력 

 $ echo $PATH | tr ":" "\n" | grep "\/"


- LD_LIBRARY_PATH 환경변수에 설정한 경로 출력

 $ echo $LD_LIBRARY_PATH | tr ":" "\n" | grep "\/"


- SGE 작업 제출 스크립트 에서 실행 hostname list 얻기 스크립트

 host=`cat $TMPDIR/machines | uniq | tr "\n" "," | sed "s/,$/\n/g"`


- Linux 시스템 기본 정보 확인하기

[예제]

#!/bin/sh


if [ -f /etc/redhat-release ]; then 

    version=`cat /etc/redhat-release | tr -d ['a-z','A-Z','\(','\)'," "]`

    glibc_version=`ldd --version | head -n 1 | tr -d ['a-z','A-Z','\(','\)'," "]`

    gcc_path=`which gcc`

    default_gccversion=`$gcc_path --version | head -n 1 | awk '{print $1" "$3}'`

    echo "OS Version : RedHat Series" $version

    echo "System Compiler Version :" $default_gccversion

    echo "GNU libc Version :" $glibc_version

fi 

[결과]

OS Version : RedHat Series 5.3

System Compiler Version : gcc 4.1.2

GNU libc Version : 2.5 



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 천연사이다

PBS Pro 에서 stack size 를 unlimited 로 변경할때.


- 대상 파일 : /opr/pbs/13.1.1.162303/lib/init.d/limits.pbs_mon

- 수정 방법 : 아래 예제와 같이 "ulimit -s unlimited" 를 조건문 밖에 작성.


#       This file will be sourced by the PBS startup script, pbs_init.d.

#       It is here only for binary compatibility with previous releases.

#       Feel free to replace its contents.

if [ -f /etc/sgi-release -o -f /etc/sgi-compute-node-release ] ; then

    MEMLOCKLIM=`ulimit -l`

    NOFILESLIM=`ulimit -n`

    STACKLIM=`ulimit -s`

    ulimit -l unlimited

    ulimit -n 16384

    ulimit -s unlimited

fi


    ulimit -s unlimited




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 천연사이다
이전버튼 1 2 3 이전버튼

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

공지사항

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

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함