Vectorization

Intel(R) Xeon Phi(tm) Advanced Workshop Labs

This is a set of labs we taught during past workshops, intended to cover more advanced concepts. These are written so that you should be able to guide yourself. The labs are available are both in C/C++ and Fortran.

Before you attempt to run these labs, make sure your environment is properly set up.

Lab

Instruction Manuals

  • MIC
  • Vectorization
  • Tuning
  • MKL
  • MPI
  • Intel® Many Integrated Core Architecture
  • Contrat de licence: 

    Requirements for Vectorizable Loops

    Vectorization is one of many optimizations that are enabled by default in the latest Intel compilers. In order to be vectorized, loops must obey certain conditions, listed below. Some additional ways to help the compiler to vectorize loops are described.
  • Linux*
  • Apple Mac OS X*
  • Microsoft Windows* (XP, Vista, 7)
  • C/C++
  • Fortran
  • Intermédiaire
  • Compilateur Intel® C++
  • Compilateur Intel® Fortran
  • Intel® Parallel Composer
  • Vectorization
  • loops
  • Optimisation
  • SIMD tuning with ASM pt. 4 - Vectorization & ICC

    If you remember from my first post I presented a program. Stripping out the setup, the part we care about - the part that does the work - is this:

    
            float x[PTS], 
    
            float y[PTS];
    
            for (int i = 0; i < PTS; i++) { // line 13 in orig source
    
                    x[i] += y[i];           // line 14 in orig source
    
            }
    
    
    

    A Guide to Auto-vectorization with Intel® C++ Compilers

    How to use the automatic vectorizer of the Intel® C/C++ Compiler to optimize your application using Intel Streaming SIMD Extensions (Intel SSE) or Intel Advanced Vector Extensions (Intel AVX).
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Apple Mac OS X*
  • C/C++
  • SSE
  • Vectorization
  • Vectorizer
  • optimization
  • optimize
  • compiler
  • AVX
  • Emberson beta program
  • Optimisation
  • Minimize frustration and maximize tuning effort with Amdahl's Law

    I recently had a question from a customer who had introduced a succesful optimization to a hot function in his application, but did not see as much improvement in the overall application as he expected. This is a fairly common occurence in the iterative process of performance tuning. Usually it happens for one of two reasons.

    Pages

    S’abonner à Vectorization