1.인텔 컴파일러를 이용한 어플리케이션 최적화 방안
최신 Intel CPU기반 Compiler는 Performance 향상을 위해서 크게 아래와 같은 기능들을 제공합니다.
- 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 complier는 console창에서 직접 사용할 수도 있겠으며 Visual Studio와 연동할 경우 GUI를 효과적으로 이용할 수 있습니다.
- Visual studio를 사용시에는 intel compiler 설정을 해 주어야 이용이 가능합니다.
- 32bit 환경에서는 64bit 에 대한 compile이 가능합니다.
- AMD 기반 architecture에 적용할 수 있습니다. 그러나 일부 제약이 있을 수 있습니다.
- Windows에서 linux 기반 agent에 remote로 연결하여 결과를 받아 볼 수 있습니다. (반대로는 안 된다고 합니다.)
'Papers > Multi_Core기반 테스트' 카테고리의 다른 글
Function level parallelism driven by data dependencies (0) | 2008.09.13 |
---|---|
Memory/Cache coherency (0) | 2008.08.14 |
X10 (0) | 2008.07.23 |
a multicore strategy of Intel (0) | 2008.07.19 |
Comparative Analysis of Debugging Tools in Parallel Programming for ~ (0) | 2008.07.17 |