Compilatore C++ Intel®

内存分配和首次访问

面向英特尔® MIC 架构的编译器方法

内存分配和首次访问

相对至强而言,协处理器的内存分配成本较高——因此尽可能重复使用已非配的内存是非常明智的。例如,如果某函数被重复调用(假设在循环内),并且该函数使用数组作为临时存储,尝试初次分配足够大的数组(所需的最大大小),并在后续调用中重复使用该数组:

static real *temp_array=0;

 

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Architettura Intel® Many Integrated Core
  • Ottimizzazione
  • Elaborazione parallela
  • Vettorizzazione
  • 面向英特尔® MIC 架构的高级优化

    面向英特尔® MIC 架构的高级优化

    概述

    本章详细介绍了一些高级的编译器优化选项,以提升英特尔® MIC 架构的性能。其中包括以下主题,如浮点模型、预取、流存储的使用等。本章非常适用于尚未获得理想性能或寻求尽可能高的性能提升的用户。

    目标与主题

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Architettura Intel® Many Integrated Core
  • Ottimizzazione
  • Elaborazione parallela
  • Vettorizzazione
  • 使用Array Notation的利弊

    概述

    C++ 数组符号是英特尔® Cilk™ Plus英特尔® C++ Composer XE 的一种特性的一部分。数组符合是表达并行性的一种方式。数组符号可在向量化方面为编译器提供帮助。但是,用户在使用它时必须要谨慎。数组表达式经常要求创建中间数组(在评估表达式时使用)的临时拷贝。其中一个负面影响是,这些临时向量会从高速缓存中溢出,因此无法重复利用并且会导致性能低于同等的原始循环。在较短的向量中重新编写数组句法可避免高速缓存溢出问题。

    主题

    由于向量长度而引起的数组符号折中

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Architettura Intel® Many Integrated Core
  • Pagine

    Iscriversi a Compilatore C++ Intel®