• Home
  • 사이트맵
  • English

사용자지원

자주하는질문(FAQ)

홈 > 사용자지원 > 자주하는질문(FAQ)

데이터 목록
번호 구분 제목
10 TACHYON_프로그래밍 Tachyon 시스템에서 MKL라이브러리(mvapich+intel)를 이용해 ScaLAPACK 루틴을 사용하고 싶습니다.
● 첨부된 aLibrary_Q6_source.f를 사용해서 아래와 같이 컴파일 실행하시면 됩니다.(input 파일은 적절히 4x4 matrix를 만들어 주시면 됩니다.
# compile
> mpif90 -I/applic/lib.intel/MKL/include -L/applic/lib.intel/MKL/lib/em64t -lmkl_scalapack_lp64 -lmkl_blacs_lp64 -lmkl_lapack -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread Library_Q6_source.f -o scalapack_mkl.x -limf
# 실행
> mpirun -np 4 -machinefile ./hosts scalapack_mkl.x
9 TACHYON_프로그래밍 임의의 라이브러리를 링크해서 컴파일한 프로그램 실행 시 아래와 같은 에러 메시지가 나타납니다. ./test.exe : error while loading shared libraries: libsomename.so: cannot open shared object file: No such file or directory
● Shared(Dynamic) Library를 사용해서 컴파일하실 때는 상항 LD_LIBRARY_PATH에 그 경로가 지정되어 있어야 됩니다. 위 에러는 그 경로가 설정되어 있지 않을 때 나타나는 메시지 입니다. 예를들어 libmymath.so라는 shared library가 /home/myid/mylib 디렉토리에 있고 그 라이브러리를 사용해야 된다면 아래와 같이 그 경로를 설정해 주셔야 됩니다.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/myid/mylib (bash, ksh)
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/home/myid/mylib (csh) 
8 TACHYON_프로그래밍 Tachyon에서 사용 가능한 다양한 확률분포(uniform과 normal 이외)에 대한 random number generator 있나요?
● ACML(AMD Core Math Library), MKL(Math Kernel Library)에 있는 RNG(Random number generator) 루틴들을 사용하시면 됩니다.
7 TACHYON_프로그래밍 아주 큰 matrix의 역행열을 구하고 싶습니다. 어떤 라이브러리를 사용할 수 있을까요?
● 일반적으로 역행열은 Lapack에서 제공하는 루틴을 통해 구합니다.(사용자가 직접 코딩한 것보다 최적화 되어 좋은 성능을 얻을 수 있습니다.)
기본적으로 Lapack을 이용하게 되면 single cpu에서만 실행되는데, vandor들 마다 cpu에 맞게 최적화해서 다시 라이브러리를 만들고, thread를 이용해서 단일노드 내 여러 cpu에서 실행할 수도 있습니다.
예를 들어 Intel의 MKL, AMD의 ACML과 같은 라이브러리가 있습니다.
마지막으로 여러노드(분산메모리환경)에서 MPI를 사용해 이 루틴을 계산하기 위해서는 손으로 역행열 구하는 과정을 모두 코딩 하시고 프로세스들마다 필요한 데이타를 통신을 통해 전달하며 계산할 수도 있지만 그것이 힘들기 때문에 Lapack 루틴을 MPI 환경에서 계산할 수 있는 ScaLapack이라는 라이브러리가 있습니다. 
6 TACHYON_프로그래밍 Tachyon에서 BLAS를 사용하고 싶습니다. 어떻게 컴파일해서 실행할 수 있나요?
● BLAS 라이브러리는 /applic/lib.pgi/LAPACK/ 에 설치되어 있습니다.(lapack 라이브러리와 같은 위치에 있습니다.)
(intel compiler를 사용하실 경우 : /applic/lib.intel/LAPACK/ PGI와 Intel 컴파일러를 이용한 컴파일은 각각
$pgf90 -o executable.exe source.f90 -L/applic/lib.pgi/LAPACK -lblas
$ifort -o executable.exe source.f90 -L/applic/lib.intel/LAPACK -lblas
로 컴파일하시면 됩니다. 
5 TACHYON_프로그래밍 LAPACK 설치 후 LAPACK 루틴이 들어있는 소스를 어떻게 컴파일하나요?
● 일단 Lapack을 설치한 위치를 아셔야 합니다. (liblapack.a, liblapack.so 파일의 위치) 모르신다면
/usr/lib/LAPACK 이나 /usr/lib
이런 곳을 찾아보시고, 여기에도 없으시다면,
find / -name liblapck*
find명령으로 위치를 찾아보시기 바랍니다.

- 그리고 컴파일 하실때는 lapack를 설치하셨던 컴파일러를 사용하시면 됩니다.
예를들어 GNU컴파일을 사용하시고 설치 위치가 /usr/lib/LAPACK 이라면
g77 ex_lapack.f -L/usr/lib/LAPACK -llapack
이런식으로 컴파일 하시면 됩니다. 
4 TACHYON_프로그래밍 각 core에 할당되는 분할된 메모리는 인접 메모리 뱅크partition으로 자동 지정되는지, 아니면 그냥 적당히 분산되는지 궁금합니다. 이때 각각 다른 코어의 데이터가 같은 메모리 뱅크에 저장되어 완전히 parallel 하지 않고 순차적으로 접근하여 생기는 보틀랙의 가능성이 있는지요?
● 로컬 cache를 각 core들이 점유하여 프로세스들끼리 중복되는 메모리 액세스는 발생하지 않습니다.
3 TACHYON_프로그래밍 Tachyon에서 MPI의 MPMD(Multiple Program Multiple Data) 모드로 작업을 실행하기 위해서는 어떻게 해야 되나요?
● - 현재 mvapich에서는 MPMD 모드를 지원하지 않고 있습니다.
- OpenMPI의 경우 아래 방법으로 MPMD로 실행하실 수 있습니다.
1) mpirun -np 1 -host tachyon189 ./ProcA.x: -np 1 -host tachyon190 ./ProcB.x
2) mpirun -app ./applic_files
※applic_files의 내용
-np 1 -host tachyon189 ./ProcA.x
-np 1 -host tachyon190 ./ProcB.x

● 단 디버깅 노드에서 테스트용으로 실행하실 수 있으나 SGE를 통해 컴퓨팅 노드로 작업을 올릴 실 순 없습니다.(host와 cpu개수를 SGE가 설정하기 때문, $NSLOTS, $TMPDIR/machines..) 계산 노드에서 작업을 하실 때는 두 프로그램(ProcA.x ProcB.x)를 합쳐서 코딩하시기 바랍니다.
2 TACHYON_프로그래밍 OpenMP를 사용한 프로그램에서 “(S) Branching out of a structured block is not allowed.”와 같은 에러 메시지가 나타납니다.
● OpenMP 구문에서 루프 내 stop, goto(fortran), break(c) 등을 이용해서 루프 밖으로 빠져나올 수 없습니다. 이 때 위와 같은 에러가 발생합니다.
1 TACHYON_프로그래밍 OpenMP에서 Random number(rand(), irand(), 등) 사용시 performance가 줄어듭니다.
● fortran과 c언어의 내부 난수 발생기는 multithread 환경의 application에서는 불안정합니다.여러 스레드가 static 변수에 동시에 접근함으로 인해 프로그램의 안정적인 공유자원 접근에 문제가 발생할 수 있습니다.
ACML, MKL과 같은 라이브러리 내 난수 발생기를 사용함으로써 이 문제를 해결할 수 있습니다.
콘텐츠 만족도 조사

퀵메뉴

  • 사용안내
  • 슈퍼컴퓨팅 서비스
  • 슈퍼컴퓨팅 교육
  • PLSI
  • EDISON
  • 연구망
본문 처음으로 바로가기

KISITI 슈퍼컴퓨팅센터 대전광역시 유성구 과학로 335 한국과학기술정보연구원 문의 080-041-1991 / FAX 042-869-0569

Copyrightⓒ2012 KISTI SUPERCOMPUTION CENTER ALL RIGHTS RESERVED.

관련사이트 바로가기