Intel Many Integrated Core

Selective Use of gatherhint/scatterhint Instructions

Compiler Methodology for Intel® MIC Architecture

Selective Use of gatherhint/scatterhint Instructions

Overview

The -qopt-gather-scatter-unroll=<N> compiler option can be used to generate gatherhint/scatterhint instructions supported by the coprocessor.  This is useful if your code is doing non-unit stride accesses and/or uses indirect addressing via pointers or index arrays. 

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Intel Many Integrated Core
  • Architettura Intel® Many Integrated Core
  • Ottimizzazione
  • Elaborazione parallela
  • Vettorizzazione
  • Memory Layout Transformations

    Compiler Methodology for Intel® MIC Architecture

    Memory Layout Transformations

    Overview

    This chapter examines a useful user code transformation: moving from data organized in an Array of Structures (AoS) to an organization of Stucture of Arrays (SoA). This transformation allows the compiler to access data more efficiently on the processor.

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Intel Many Integrated Core
  • Ottimizzazione
  • Vettorizzazione
  • Expectations for User Source Code Changes

    Overview

    Although most codes can run in the Intel® Many Integrated Core Architecture (Intel® MIC Architecture) with little to no changes, to run EFFICIENTLY may require changes in user source code. This chapter examines algorithmic some general topic related to user source code changes that can enable applications to get optimal efficiency.

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Intel Many Integrated Core
  • Ottimizzazione
  • Vettorizzazione
  • 借助英特尔® Cilk™ Plus 实现并行化

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

    面向英特尔® MIC 架构的编译器方法
    高效并行化,借助英特尔® Cilk™ Plus 实现并行化

    概述

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Intel Many Integrated Core
  • Cilk Plus
  • Architettura Intel® Many Integrated Core
  • Ottimizzazione
  • Vettorizzazione
  • 内存布局转换

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

    内存布局转换

    概述

    本章节介绍了一种非常实用的用户代码转换从结构数组 (AoS) 的数据组织方式转换为数组结构 (SoA) 的组织方式。该转换有助于编译器更加高效地访问处理器上的数据。

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Intel Many Integrated Core
  • Ottimizzazione
  • Vettorizzazione
  • 对用户源代码更改进行预测

    概述

    尽管大多数代码几乎无需更改即可在英特尔® 集成众核架构(英特尔® MIC 架构)上运行,然而如欲实现高效运行,可能需要对用户源代码进行更改。本章探讨了一些与用户源代码更改相关的通用算法问题,以支持应用实现最佳性能。

    主题

    应用不能实现最佳性能的原因之一可能是代码受内存宽带的限制。例如,如果没有面向高速缓存架构对代码进行模块化封装,从而导致高速缓存未命中,这种现象便会发生。另一个原因可能是,由于无规律的内存访问导致代码仅实现了部分矢量化。在这种情况下,为了提升应用性能,程序员需要更改算法。您可以在下面的论文中找到关于此类算法更改的更多信息:

  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Avanzato
  • Compilatore C++ Intel®
  • Compilatore Fortran Intel®
  • Intel Many Integrated Core
  • Ottimizzazione
  • Vettorizzazione
  • Iscriversi a Intel Many Integrated Core