• Home
  • 사이트맵
  • English

사용자지원

자주하는질문(FAQ)

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

데이터 목록
번호 구분 제목
18 TACHYON_컴파일러 Intel을 통해 큰 사이즈 Matrix를 계산하는 소스 코드를 컴파일시 Overflow 에러가 발생합니다. 어떻게 해결할 수 있을까요?
● Large Problem을 컴파일하실 때 "mcmodel=large -shared-intel" 옵션을 함께 사용하시기 바랍니다.
"ifort -O3 -openmp -mcmodel=large -shared-intel -fpic test.f90 -o test.x" 
17 TACHYON_컴파일러 PGI Fortran 컴파일러 사용시 아래와 같은 에러 메시지가 보입니다. 어떤 문제일까요? "PGF90-W-0103-Type conversion of subscript expression for dt(program.f90: xxx)"
● 배열 dt의 인덱스 변수가 정수형으로 선언되었는지 확인해 보십시오.
Implict하게 실수형으로 사용되는 변수가 배열의 인덱스에 사용되었을 가능성이 큽니다.
16 TACHYON_컴파일러 아래와 같은 컴파일 최적화 옵션으로 컴파일 시 에러가 납니다. “-O3 -fast -fastsse -Mipa=fast”
● “-fast”와 “-fastsse”는 동일한 컴파일 옵션입니다.
“pgf90 -help | grep fastsse” 명령으로 확인하실 수 있습니다.
15 TACHYON_컴파일러 Fortran function 내에 임의의 길이를 가지는 변수를 input하는 merge 구문 사용 시 컴파일 에러가 납니다.(PGI 컴파일러)
● PGI 컴파일러의 버그로 9.0.2버전에서 bug fix되었습니다.
혹은 아래와 같이 character 변수의 길이를 정확히 맞추셔서 컴파일하실 수 있습니다.
“chout = merger(transfer(ch, ch2), ch2, logical_variable)”
14 TACHYON_컴파일러 다른 컴파일러로 컴파일 되는 elemental function을 body내에서 가지는 forall 구문이 PGI 컴파일러에서는 에러가 납니다.
● PGI 7.1-3 이하 버전에서의 bug로써, 이 후 버전의 PGI 컴파일러를 사용하시면 이상 없이 컴파일 됩니다. 
13 TACHYON_컴파일러 Fortran code 내 integer로 선언된 변수를 default 8byte로 컴파일 하고 싶습니다.
● -i8 옵션을 사용하셔서 컴파일 하시면 됩니다.
(이 옵션은 INTEGER, LOGICAL 변수를 8byte로 컴파일 하게 됩니다.)
12 TACHYON_컴파일러 Fortran 90/95 문법의 소스코드(확장자 '.f')를 컴파일 했을 때 "Syntax error at or near end of line .." 문구와 함께 에러가 납니다.
● 확장자를 .f로 한 소스 코드는 fortran90/95 컴파일러로 컴파일 하더라도 fortran77 형식의 소스로 인식합니다. 그래서 완벽한 fortran90/95 형식의 소스코드는 확장자를 .f90(95)로 바꾸시고, 라인의 열 개수만 확장하고 싶으실 때는 -Mextent(PGI), -free(Intel) 옵션을 통해 컴파일 하실 수 있습니다. 
11 TACHYON_컴파일러 Segmentation Fault 에러의 원인에는 어떤 것들이 있습니까?
● 메모리 접근 오류가 발생했을 때 발생하는 실행 에러입니다.
아래와 같은 원인으로 에러가 발생할 수 있습니다.
- 메모리 부족
- 배열 인덱스가 정의된 범위를 넘어 사용되는 경우
- 할당되지 않은 동적 배열로의 접근
- 기타
10 TACHYON_컴파일러 Fortran random number generator가 이상합니다.
● 컴파일러에 따라 다음과 같이 사용하시면 됩니다.
부적절한 사용은 error로 실행이 되지 않거나, 틀린 값을 줄 수 있습니다.

● PGI compiler & etc
program sample
double precision RAND 
call SRAND(1)
print *, RAND()
end

● INTEL compiler
※ Intel Compiler를 사용하실 경우 USE IFPORT를 추가해서 Fortran portability library를
불러 사용하셔야 됩니다. 그리고 라이브러리 내에 rand 함수 원형이 이미 선언되어 있기 때문에 따로 double precision으로
선언하실 필요는 없습니다.

program sample
USC IFPORT 
call SRAND(1)
print *, RAND()
end 
9 TACHYON_컴파일러 intel compiler로 컴파일시 아래와 같은 feupdateenv 관련 경고 메시지가 나타납니다. “/applic/compilers/intel/fce/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail”
● 이것은 math library(libm)을 intel compiler가 제공하는 것 대신 system에
default로 설치된 linux의 GNU 기반 library를 쓸 경우에 발생합니다.
이 경우에는 컴파일시 옵션에 ”-i_dynamic” 을 추가해주셔야 합니다. 
콘텐츠 만족도 조사

퀵메뉴

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

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

Copyrightⓒ2012 KISTI SUPERCOMPUTION CENTER ALL RIGHTS RESERVED.

관련사이트 바로가기