인텔 어드바이저

Intel Advisor
인텔 어드바이저
개발자인텔 개발자 제품
안정된 릴리스
2021.4 / 2021년 10월 1일; 10개월 전(2021-10-01)[1]
운영 체제Windows 및 Linux(MacOS에서는 UI만 해당)
유형프로파일러
면허증.무료 및 상용 지원
웹 사이트https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html

인텔 어드바이저 ('어드바이저 XE', '벡터라이제이션 어드바이저' 또는 '스레딩 어드바이저')는 SIMD 벡터화, 스레드화, 메모리 사용 및 GPU 오프로드 최적화를 위한 설계 지원 및 분석 도구입니다.이 도구는 C, C++, Data Parallel C++(DPC++), Fortran 및 Python 언어를 지원합니다.스탠드아론 GUI 도구, Microsoft Visual Studio 플러그인 또는 명령줄 [2]인터페이스 형태로 Windows 및 Linux 운영 체제에서 사용할 수 있습니다.OpenMP( MPI에서의 사용)를 지원합니다.인텔 어드바이저 사용자 인터페이스는 MacOS에서도 사용할 수 있습니다.

인텔·어드바이저는, 스탠드 아론·툴로서 또는 인텔 oneAPI 베이스·툴킷의 일부로서 무료로 이용하실 수 있습니다.oneAPI Base Toolkit에는 옵션 유료 상용 지원이 제공됩니다.

특징들

벡터화 최적화

벡터화란 단일 CPU 코어 내의 여러 오브젝트에 대해 싱글 명령 다중 데이터(SIMD) 명령(인텔 Advanced Vector Extensions 및 인텔 Advanced Vector Extensions 512 등)을 병렬로 실행하는 것입니다.이를 통해 루프 오버헤드를 줄이고 각 코어의 여러 연산 단위를 효율적으로 사용함으로써 성능이 크게 향상될 수 있습니다.

인텔·어드바이저는, 보다 뛰어난 벡터화의 메리트를 얻을 수 있는 루프를 찾아내, 컴파일러의 벡터화를 [3]강제하는 것이 안전한 장소를 특정합니다.인텔, GNU, 및 Microsoft 컴파일러의 자동 벡터화에 의해서 생성된 스칼라, SSE, AVX, AVX2, 및 AVX-512 대응 코드의 분석을 서포트하고 있습니다.또한 OpenMP 4.x 이후를 사용하는 "명시적인" 벡터화 코드 분석과 코드 또는 C 벡터 함수 또는 어셈블리 [4][5]언어를 사용하여 작성된 코드 분석을 지원합니다.

자동 루프라인 분석

인텔·어드바이저는, 버클리 대학에서[6] 최초로 제안되어 [7]리스본 대학에서 확장되고 있는 루프 라인·퍼포먼스·모델을 자동화합니다.

루프라인 퍼포먼스 모델 자동화는 인텔 어드바이저의 다른 기능과 통합되어 있습니다.각 원은 하나의 루프 또는 기능에 대응합니다.

어드바이저 "루프라인 분석"은 주어진 루프/기능이 메모리 또는 CPU에 바인딩되어 있는지 여부를 식별하는 데 도움이 됩니다.또,[8][9][10][11] 최적화 되어 있는 경우, 퍼포먼스에 큰 영향을 줄 가능성이 있는, 최적화된 루프를 특정합니다.

또, 인텔·어드바이저는, 종래의 루프 라인 모델에 가까운 메모리 레벨의 루프 라인 실장을 자동적으로 실시합니다.Classic Loofline은 특히 DRAM에 바인딩된 고성능 컴퓨팅 애플리케이션에 중요합니다.어드바이저 메모리 레벨의 루프라인은 캐시 데이터를 분석하고 서로 다른 메모리 계층 간의 데이터 트랜잭션을 평가하여 [12]개선을 위한 지침을 제공합니다.

인텔 어드바이저의 루프라인 분석은 CPU [13][14]또는 GPU에서 실행되는 코드를 지원합니다.또한 정수 기반 애플리케이션도 지원합니다.이 애플리케이션은 머신 러닝, 빅데이터 도메인, 데이터베이스 애플리케이션, 암호 [15]코인과 같은 재무 애플리케이션에 많이 사용됩니다.

스레드화 프로토타이핑

소프트웨어 설계자는 코드 주석을 추가하여 어드바이저에 의해 이해되지만 컴파일러에 의해 무시되는 스레드를 기술합니다.그런 다음 어드바이저는 스레드의 확장성을 예측하고 동기화 오류를 확인합니다.어드바이저 스레딩의 "적합성" 기능은 다양한 스레드 설계에 대해 SMP의 확장성과 퍼포먼스 손실을 예측하고 비교하는 데 도움이 됩니다.일반적인 적합성 보고서는 오른쪽의 적합성 CPU 스크린샷에 표시됩니다.어드바이저 적합성은 데이터 세트 크기(반복 공간) 모델링 기능과 성능 저하(부하 불균형, 병렬 런타임 오버헤드 및 잠금 [16]경합으로 인한 부정적인 영향)를 제공합니다.

적합성 "CPU 모델"

오프로드 모델링

Advisor는 2021년 릴리즈에서 GPU 오프로드 성능 모델링 기능을 추가했습니다.베이스라인 플랫폼의 애플리케이션 퍼포먼스 특성을 수집하고 타깃(모델링된) 플랫폼의 분석 퍼포먼스 모델을 구축합니다.

이를 통해 타깃 GPU의 퍼포먼스 속도 향상 추정과 오프로드, 데이터 전송 및 지역 실행 스케줄링에 대한 오버헤드 추정 및 성능 [17][18][19]병목 핀포인트 성능 보틀 넥을 얻을 수 있습니다.이 정보는 오프로드 전략을 선택하는 데 도움이 됩니다.오프로드할 지역을 선택하고 GPU를 지원하는 데 필요한 코드 재구성을 예상합니다.

고객님의 사용방법

인텔 어드바이저는 Schlumberger,[20] Sandia 국립연구소[21] 등에 의해 LRZICHEC,[22] Daresbury [23]Lab, [24]Pexip에서 사용되는 것으로 알려진 설계 및 병렬 알고리즘 연구 및 벡터화 어드바이저 기능에 사용됩니다.

단계별 워크플로는 학계에서 교육 [25]목적으로 사용합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Intel® Advisor Release Notes and New Features".
  2. ^ "Command Line Use Cases". Intel. Retrieved 2021-01-05.
  3. ^ "Optimize Vectorization Aspects of a Real-Time 3D Cardiac..." Intel. Retrieved 2021-01-07.
  4. ^ "HPC Code Modernization Tools" (PDF).{{cite web}}: CS1 maint :url-status (링크)
  5. ^ "Новый инструмент анализа SIMD программ — Vectorization Advisor". habr.com (in Russian). Retrieved 2021-01-05.
  6. ^ Williams, Samuel (April 2009). "Roofline: An insightful Visual Performance model for multicore Architectures" (PDF). University of Berkeley.
  7. ^ Ilic, Aleksandar. "Cache-aware Roofline model: Upgrading the loft" (PDF). Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa.
  8. ^ "Roofline Analysis in Intel Advisor 2017: youtube how-to video". YouTube.
  9. ^ "Intel Advisor Roofline step-by-step Tutorial".
  10. ^ "Using Roofline Model and Intel Advisor, presented by Sam Williams, Roofline performance model author".
  11. ^ "Case Study: SimYog Improves a Simulation Tool Performance by 2x with..." Intel. Retrieved 2021-01-07.
  12. ^ "Memory-Level Roofline Model with Intel® Advisor". Intel. Retrieved 2021-01-05.
  13. ^ "CPU / Memory Roofline Insights Perspective". Intel. Retrieved 2021-01-05.
  14. ^ "GPU Roofline Insights Perspective". Intel. Retrieved 2021-01-05.
  15. ^ "Integer Roofline Modeling in Intel® Advisor". Intel. Retrieved 2021-01-05.
  16. ^ "How to model suitability using Advisor XE 2015?".
  17. ^ "Offload Modeling Resources for Intel® Advisor Users". Intel. Retrieved 2021-01-05.
  18. ^ "Identify Code Regions to Offload to GPU and Visualize GPU Usage (Beta)". Intel. Retrieved 2021-01-05.
  19. ^ "Offload Modeling Perspective". Intel. Retrieved 2021-01-05.
  20. ^ "Schlumberger* - Parallelize Oil and Gas software with Intel Software products" (PDF).
  21. ^ ""Leading design" company Advisor XE case study" (PDF).
  22. ^ "Design Code for Parallelism and Offloading with Intel® Advisor".
  23. ^ "Computer-Aided Formulation case study: getting helping hand from the Vectorization Advisor".
  24. ^ "Pexip Speeds Enterprise-Grade Videoconferencing" (PDF).
  25. ^ "Supercomputing'2012 HPC educator with Slippery Rock University".

외부 링크