# Changeset 1381

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

SIMD vertical op syntax and minor fixes

Location:
docs/HPCA2012
Files:
3 edited

### Legend:

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