AVX

Optimize for Intel® AVX Using Intel® Math Kernel Library's Basic Linear Algebra Subprograms (BLAS) with DGEMM Routine


Introduction

Although our initial efforts supports tunings and functionality in three areas, the Intel® Math Kernel Library (Intel® MKL), provides a broader set of functionality for scientific and engineering use. These are highlighted below:

  • Biblioteca kernel de matemática Intel®
  • Intel® Advanced Vector Extensions
  • MKL
  • threading
  • AVX
  • Computação paralela
  • SIMD tuning with ASM pt. 3 - PS good, SS bad

    If you recall where we left off on my post yesterday we compiled a test program with gcc and saw this code for the 'working' part of a loop. (Yes, I will be getting to the Intel C++ compiler next post, but I'll stick with what I've got so far just so we can take baby steps).

    
    .LBB52:
    
            .loc 1 14 0
    
            movss   (%rbp,%rax,4), %xmm0
    
            addss   (%rdx,%rax,4), %xmm0
    
            movss   %xmm0, (%rbp,%rax,4)
    
            addq    $1, %rax
    

    SIMD tuning with ASM pt. 2 - Your First Dump

    (here's part 1 in case you missed it)

    Let's take a really, really simple program. It just adds one array of things to another. This should be a SIMD slam dunk! I will call this program blah.cpp

    
    #include 
    
    #define PTS 1000
    
    
    int main()
    
    {
    
            float x[PTS];
    
            float y[PTS];
    
    
            for (int i = 0; i < PTS; i++) {
    
                    x[i] = 0.0f;    // set up some data
    

    AVX指令集中的32种浮点比较关系详解

      在传统印象中,数字的比较关系只有6种。但在AVX指令集中,Intel一下给出了32种浮点比较谓词,详见下图--

    (Intel手册:Table 3-9. Comparison Predicate for VCMPPD and VCMPPS Instructions)

      为什么会有这么多种比较谓词呢?我为此困惑困惑了很久。
      直到最近翻阅了不少资料后,才终于将它们弄懂了。

    一、浮点数据类型

      Intel使用的是IEEE 754规范的浮点数据类型。对于浮点数据类型来说,除了可以存储数字、无穷之外,还可以存储 NaN(not a number。非数)。

      NaN(非数)分为两大类--

    How to call Intel® AVX based code with Intel® IPP version 6.1

    We received many user’s requests asking “how to call AVX code into IPP 6.1 and all latest updates of this version”. So, the main purpose of this short article is to tell how to do this.
  • Servidor
  • Primitivas Intel® Integrated Performance
  • AVX
  • Intel(R) IPP
  • AVX optimization in IPP
  • ippEnableCpu
  • Intel® Advanced Vector Extensions
  • Páginas

    Assine o AVX