Intel C Compiler

Computer/Linux 2007.02.14 01:21
보통 사람들은 수치해석을 하거나 데이터를 분석할 때 matlab이나 origin들의 도구를 많이 사용한다. 물론 나도 팔요할 때 사용하곤 하지만 대체로 c를 사용하여 데이터를 분석한다. 그 이유로는 먼저 앞에 언급한 툴들은 너무 무겁다. 나는 작은 툴들을 여러개 이용하는 것을 좋아한다. 두번째로 더 근본적인 이유는 속도가 느리다는 것이다. 내가하는 분석은 PIV(Particle Image Velocimetry)나 PTV (Particle Tracking Velocimetry)로 하기 때문에 하나를 분석하는데 걸리는 시간은 대체 수십분이다. 많일 matlab을 사용한다면 한시간이 더 걸리지 않을까? 게다가 그런 분석이 보통 천개나 이천개 혹은 만개가 넘어가기 때문에 나는 불편하더라도 가능하면 빠르게 계산할 수 있는 툴을 애용한다. 그래서 Linux를 사용하면서 gcc로 프로그래밍을 해왔다. 하지만 icc(Intel C Compiler)를 사용한 후에 계산할 때 걸리는 시간이 대폭 줄어들었다. 약 30-50% 이상의 효율을 가져다 주었다. 게다가 icc는 Non-commercial user에게는 free이다. 그래서 이 글에서는 어떻게 icc를 구하고 debian에 설치하는 방법에 대하여 말해보겠다.


구하기

아래 링크에 가서 Free Non-Commercial Download를 누르고 시키는 대로 하면 이메일을 통해 다운로드 링크와 license를 얻을 수 있다. 현재 최신 버전은 9.1.046이며 이를 기준으로 설명하겠다.

http://www.intel.com/cd/software/products/asmo-na/eng/index.htm


설치


Fedora나 Redhat계열을 사용하는 사람들은 편하게 문서에 나와있는대로 설치하면 된다.
하지만 데비안을 사용하는 경우 바로 설치할 수가 없기때문에 약간의 트릭을 사용한다.

  • 일단 다운받은 icc 패키지를 적당한 곳에 압축을 푼다.
  • 먼저 intel-icc91046-9.1.046-1.i386.rpm 을 alien을 사용해 deb 파일로 변환하고 설치한다.
  • 그리고 /opt/intel/cc/9.1.046/bin/에 있는 icc와 iccvar.sh파일을 수정한다. 두 파일에 있는 <<>INSTALLDIR>를 모두 /opt/intel/cc/9.1.046/ 로 바꾼다.
  • 다운받은 라이센스 파일은 /opt/intel/licenses 로 카피한다.
  • icc에 맢는 환경을 위해 다음 명령을 실행한다. source /opt/intel/cc/9.1.046/bin/iccvar.sh
  • 이제 icc를 실행해보라. 작동이 잘 될것이다.



벤치마크 와 옵션
기본
real 11m6.145s
user 11m3.409s
sys 0m0.572s
-O3 -tpp7 -axW
real 7m45.334s
user 7m43.673s
sys 0m0.548s
-O3 -tpp7 -axW -xW
real 7m43.839s
user 7m42.221s
sys 0m0.508s
-O3 -tpp7 -axN -xN
real 7m30.265s
user 7m28.168s
sys 0m0.544s


위의 결과를 보면 컴파일시 -O3 -tpp7 -axN -xN 옵션으로 사용한다면 가장 빠르게 결과를 얻을 것이다.
Posted by yonggun

댓글을 달아 주세요