Ignore:
Timestamp:
Aug 25, 2011, 2:50:46 PM (8 years ago)
Author:
lindanl
Message:

SIMD vertical op syntax and minor fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/HPCA2012/03-research.tex

    r1377 r1381  
    289289an abstract SIMD machine based on the Inductive Doubling
    290290Instruction Set Architecture (IDISA) \cite{CameronLin2009}.
     291The abstract machine supports all power-of-2 field widths up to the full
     292SIMD register width on a target machine.   
     293Let $w = 2k$ be the field width in bits. Let $f$ be a basic binary operation defined on $w$-bit quantities
     294producing an $w$-bit result. Let $W$ be the SIMD vector size in bits where $W = 2K$.
     295Then the C++ template notation \verb`v=simd<w>::f(a,b)` denotes the general pattern for a vertical SIMD operation yielding an output SIMD vector $v$,
     296given two input SIMD vectors $a$ and $b$. For each field $v_i$ of $v$, the value computed is $f(a_i, b_i)$.
     297For example, given 128-bit SIMD vectors, \verb`simd<8>::add(a,b)` represents the simultaneous addition of sixteen 8-bit fields.
     298
    291299These operations were originally developed for 128-bit Altivec operations on Power PC
    292300as well as 64-bit MMX and 128-bit SSE operations on Intel
Note: See TracChangeset for help on using the changeset viewer.