본문 바로가기
[Public] 프로그래밍/Parallel

[Parallel] #1 Intel Parallel Studio 2011에 대해 알아보자

by 차출발 2012. 6. 17.
반응형

Intel Parallel Studio 란?

C/C++ 컴파일러와 응용프로그램의 병렬화를 지원하는 도구로 총 4개로 구성되어 있다.

각 도구는 Microsoft Visual Studio 통합개발 환경에 플러그인 되어 사용 가능하다.

각 도구는 4개로 구성되어 있다.

설치를 하고 나면 4가지 종류가 있다.

 

구성요소를 보면…

1) Intel Parallel Advisor

  • 병렬화를 실시하기 전 병렬화해야 할 곳을 찾아내 병렬 처리를 모델화해서

    효과적으로 병렬화 응용프로그램을 작성하기 위한 도구이다.

  • 병렬화 설계를 하기 위해서 사용하면 효과적이다.

     

     

2) Intel Parallel Composer

  • 기존 응용프로그램의 CPU 최적화를 위하여 만들어진 컴파일러
  • 멀티스레드를 작성할 수 있도록 병렬 라이브러리 및 성능 라이브러리를 제공한다.

→ Intel C/C++ 컴파일러 12.0

→ Intel IPP(Integrated Performance Primitives)7.0

→ Intel TBB(Threading Building Blocks)3.0

→ Intel Parallel Debugger Extension 12.0

 

3) Intel Parallel Inspector

  • 프로그램의 메모리 및 스레드 오류 체크를 실행하는 디버그 도구이다.
  • 스레드 오류 체크에서는 스레드 간에 있어서 공유 데이터, 액세스 체크 등을

    실행하여 Datarace, Deadlock을 찾아내는 도구

  • Win32 스레드 API, OpenMP, Intel TBB의 프로그래밍 기법을 지원한다.

     

     

4) Intel Parallel Amplifier

  • 성능저하의 원인 병목을 조사하거나 Hot-Spot을 찾아주는 프로파일 전문 도구이다.

    병렬 동작 상태나 대기 상태 등을 분석하는 튜닝 도구이다.

     

     

     

     

 

그럼 이러한 Intel Parallel Studio어떻게 활용하나요?

 

 

1. 먼저 Intel Parallel Amplifier로 현재의 직렬 응용 프로그램의 핫스팟(Hot-Spot)을 검출한다.

Hot-Spot = 코드 내의 CPU부하의 가장 높은 처리를 의미

 

2. 검출된 hot-Spot에 대해서 멀티스레드(Multi-thread)에 의한 병렬처리를 적용

     

3. Intel Parallel Composer를 사용하여 병렬화된 응용프로그램을 컴파일 한다.

 

4. Intel Parallel Composer 첨부의 Parallel Debugger Extension로 멀티스레드의 디버그를 실행한다.

 

5. Intel Parallel Inspector로 멀티스레드 공유 데이터를 체크하고 수정할게 있으면 수정한다.

 

6. Intel Parallel Inspector로 메모리 에러를 체크하고 수정할게 있으면 수정한다.

 

7. 재차 Intel Parallel Amplifier로 적용된 멀티스레드를 분석하고 튜닝을 한다.

    그리고 튜닝의 여지가 있는 경우는 코드를 수정하여 재 컴파일 한다.

 

8. 한층 더 최적화 가능한 Hot-Spot검증을 실행한다. 개발 라이프 사이클로 최적화 한다.

 

 

음 오늘은 여기까지

더 자세한 건 더 공부를 해보고 작성하겠습니다. ^^

 

 

도움이 되셨다면

리플 하나 달아주는 센스 ^^