Papers/Multi_Core기반 테스트

인텔 컴파일러를 이용한 어플리케이션 최적화 방안

tomato13 2008. 8. 12. 17:00

1.인텔 컴파일러를 이용한 어플리케이션 최적화 방안

최신 Intel CPU기반 CompilerPerformance 향상을 위해서 크게 아래와 같은 기능들을 제공합니다.

- inline function 자동 변환에 의한 함수 호출 시간 단축

- code coverage 측정

- Multicore기반 thread programming 지원

: OpenMP, p-thread, Windows thread API 적용가능

: 지정된 구간에 대해서 core별 자동 Scheduling 할당

: 지정된 구간 없이 auto-parallelization 수행

- SIMD(Single Instruction Multiple Data)를 위한 Vectorization 지원

: 하나의 instruction으로 복수개의 data를 처리할 경우 기존의 N번 연산이 아닌 1번 혹은 최소한의 연산으로 동시에 처리 가능

 

2.인텔 Vtune Performance Analyzer을 이용한 성능 분석

- core 별 수행 상태 모니터링

- thread 별 수행 상태 모니터링

- CPI(Clock Per Instruction) 측정

: 작을수록 optimized level이 크다고 해석할 수도 있습니다.

 

3.인텔 쓰레딩툴을 이용한 쓰레드 어플리케이션 진단 방법

- data race 분석

- dead lock detection

 

4. 기타

- Intel complierconsole창에서 직접 사용할 수도 있겠으며 Visual Studio와 연동할 경우 GUI를 효과적으로 이용할 수 있습니다.

- Visual studio를 사용시에는 intel compiler 설정을 해 주어야 이용이 가능합니다.

- 32bit 환경에서는 64bit 에 대한 compile이 가능합니다.

- AMD 기반 architecture에 적용할 수 있습니다. 그러나 일부 제약이 있을 수 있습니다.

- Windows에서 linux 기반 agentremote로 연결하여 결과를 받아 볼 수 있습니다. (반대로는 안 된다고 합니다.)