1

인텔 어드바이저를 사용하여 코드 벡터화에 대한 자습서는 this입니다. 이 페이지에서 특히 그들이 제안에 :인텔 어드바이저 최적의 플래그 및 설정

빌드 릴리스 모드에서 대상 샘플 응용 프로그램 ... 컴파일러 옵션 : -O2 -g

그리고 다음

하는 빌드하려면 가장 정확한 및 벡터 라이 제이션 어드바이저 분석 결과를 생성하려면 다음 설정을 사용하여 릴리스 모드에서 최적화 된 바이너리를 작성하십시오. ,

  1. 내가 릴리스 모드에서 우리는 (이하 "디버그 모드"에서 생산되는) 모든 디버그 정보를 생성하지 않았다고 생각 :

-g -O2 (or higher) -qopt-report=5 -vec -simd -qopenmp 

는 지금, 나는 몇 가지 질문을 그래서 -g이 포함되어야합니다.

  • 가장 이상한 점은 샘플 코드 (vec_samples in /opt/intel/advisor_*/...)에 제공된 Makefile에서 -g -O2만을 사용한다는 것입니다. 다른 모든 옵션을 포함하지 않는 이유는 무엇입니까? 왜?
  • 답변

    1

    새로운 인텔 어드바이저 자습서에 대한 관련 항목은 Getting Started이며 적절한 하위 자습서를 선택할 수 있습니다. Linux 용 벡터화 어드바이저 하위 튜토리얼here입니다.

    -qopt-report = 5 : Intel 컴파일러 버전 15.0에 필요합니다. 버전 16.0 불필요한 높은 작동 적절한 고문 (-g, -O2에 필요한 -openmp, 튜토리얼이 약간 혼란, -vec -simd 플래그와 관련하여

    , 선택적으로 -OPT-보고서) "적절한"컴파일러 기능 (-vec, -simd 및 -openmp)에 필요한 플래그와 비교합니다. 후자는 컴파일러의 벡터 코드 생성을 제어하는 ​​플래그 일 뿐이며, Advisor 프로파일 링 기능과 아무 관련이 없으므로 사용하지 않을 수도 있습니다.


    는 당신에게 더 깊은 이해를 제공하려면 인텔 고문 조사 "컴파일러 통합"이라고 고문의 중요한 기능이있다. 이 기능은 옵티컬 리포트와 비교적 유사하지만 동일하지는 않은 데이터를 활용합니다. 위해 는 인텔 Coimpiler를 사용

    1. 을 필요로 작업이 기능을 만들 14.x 베타, 15.x, 16.x 또는 17.X
    2. -g (수 있도록 디버그 정보) 및 -O2 이상 (가능 일부 최적화)
    3. 옵션-qopt-report5
    4. (인텔 컴파일러 15.x 전용)

    인텔 어드바이저의 다른 모든 기능은 컴파일러 버전 (위의 항목 1) 또는 옵트 보고서 및 버전 (위의 항목 3)과 관계없이 동일하게 작동하지만 여전히 모든 옵션 -g (위의 옵션 2의 일부)가 필요합니다. -O2는 일부 기능에는 필요하지 않지만 일반적으로 성능 측면을 분석 할 때 -O0 또는 -O1 컴파일 된 바이너리를 처리하는 것은 유용하지 않습니다.