KISTI 슈퍼컴퓨팅센터의 누리온 시스템에 RIP_46 Source 버전으로 설치 하는 방법에 대하여 소개 한다.
가. 설치 환경
나. 설치 전 환경 설정
누리온 시스템은 PATH, LD_LIBRARY_PATH 등을 쉽게 하기 위하여
환경설정 툴인 Modules(http://modules.sourceforge.net)이 구성되어 있고,
이하 설치 소개 에서는 module load를 이용한 환경 설정 방법을 이용한다.
[ 환경 설정 ]
다. 설치 과정
설치 과정 소개는 tar를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략한다.
[설치과정]
[configure 과정 진행 내용]
[configure.rip 파일 수정 수정 내용]
※ 누리온 시스템 설치 예제는 SKL/KNL 계산노드에서 공통적으로 사용을 위해 "-xCOMMON-AVX512" 로 작성
- SKL(skylake) 노드 전용 : -xCORE-AVX512
- KNL(Intel Xeon Phi Knights Landing) 전용 : -xMIC-AVX512
- SKL 과 KNL 공통 적용 : -xCOMMON-AVX512
- 참고 : https://software.intel.com/en-us/articles/compiling-for-the-intel-xeon-phi-processor-and-the-intel-avx-512-isa
$ tar xvfz RIP_46.tar.gz
$ cd RIP_46
$ ./configure
- - - - - [configure 과정 진행 내용] 참고
$ vi configure.rip
- - - - - [configure.rip 파일 수정 수정 내용] 참고
$ ./compile
$ ./configure
Will use NETCDF in dir: /apps/compiler/intel/18.0.3/applib1/x86-skylake/netcdf/4.6.1
------------------------------------------------------------------------
Please select from among the following supported platforms.
1. PC Linux i486 i586 i686 x86_64, PGI compiler
2. PC Linux i486 i586 i686 x86_64, g95 compiler
3. PC Linux i486 i586 i686 x86_64, gfortran compiler
4. PC Linux i486 i586 i686 x86_64, Intel compiler
Enter selection [1-4] : 4
------------------------------------------------------------------------
Configuration successful. To build the RIP4, type: compile
------------------------------------------------------------------------
# configure.rip
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults, the preamble, and the postamble -
# then rerun configure.
#
.SUFFIXES: .F90 .f90 .F .f .c .o
SHELL = /bin/sh
# Listing of options that are usually independent of machine type.
# When necessary, these are over-ridden by each architecture.
ARFLAGS =
PERL = perl
RANLIB = echo
NETCDFLIB = -L${NETCDF}/lib -lnetcdff -lnetcdf
NETCDFINC = -I${NETCDF}/include
NCARGLIBS = -L${NCARG_ROOT}/lib -lncarg -lcgm -lncarg_gks -lncarg_c -lX11 -lm \
-L/apps/common/cairo/1.14.6/lib -lcairo \
-L/apps/common/freetype/2.9.1/lib -lfreetype
#### Architecture specific settings ####
# Settings for PC Linux i486 i586 i686 x86_64, Intel compiler
#
FC = ifort
FFLAGS = -I. -convert big_endian -fPIC -xCOMMON-AVX512 -O2
CCFLAGS = -I. -DLITTLE -DUNDERSCORE -fPIC -xCOMMON-AVX512 -O2 -c
LDFLAGS =
LOCAL_LIBS = -L/usr/lib64 -lX11
###########################################################
#
# Macros, these should be generic for all machines
LN = ln -sf
MAKE = make -i -r
RM = /bin/rm -f
CP = /bin/cp
AR = ar ru
.IGNORE:
.SUFFIXES: .c .f90 .F90 .f .F .o
# There is probably no reason to modify these rules
.c.o:
$(RM) $@
$(CC) $(CCFLAGS) $(CFLAGS) -c $<
.f.o:
$(FC) $(FFLAGS) -c $*.f
.f90.o:
$(RM) $@ $*.mod
$(CP) $< $*.f
$(FC) $(FFLAGS) -c $*.f
$(RM) $*.f
.F90.o:
$(RM) $@ $*.mod
$(CPP) $(CCFLAGS) $(FDEFS) $< > $*.f
$(FC) $(FFLAGS) -c $*.f ${NETCDF_INC}
$(RM) $*.f