Changes between Version 34 and Version 35 of SIMD


Ignore:
Timestamp:
Sep 13, 2012 11:43:59 AM (22 months ago)
Author:
gmainland
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SIMD

    v34 v35  
    11The goal of the SIMD project is to allow GHC and Haskell libraries to take advantage of SIMD vector instructions. Please see the proposed [wiki:SIMD/Design design] and the current [wiki:SIMD/Implementation/Status implementation status] for further details. 
    22 
    3 Obsolete sub-topics: 
     3= Building the SIMD branch = 
     4 
     5SIMD support currently requires a version of ghc built from the simd branch. Vectors primops only work when compiling with `-fllvm`. You will also need patched versions of the `dph` and `vector` libraries. Here are the steps to get the SIMD branch up and running. 
     6 
     7 1. Set up a ghc tree as you normally would. See [wiki:Building/GettingTheSources]. Be sure to checkout out the `simd` branch, e.g., 
     8 
     9{{{ 
     10$ git clone -b simd http://darcs.haskell.org/ghc.git/ 
     11}}} 
     12 
     13 2. Replace `libraries/dph` with the simd branch checked out from `git@github.com:mainland/dph.git`. 
     14 
     15 3. Replace `libraries/vector` with the simd branch checked out from `git@github.com:mainland/vector.git`. 
     16 
     17 4. Use the `fingerprint.py` script to set your repository state to match the simd branch. The fingerint file is located in the github repository `mainland/ghc-simd-test` [https://raw.github.com/mainland/ghc-simd-tests/master/simd.fp here]. 
     18 
     19{{{ 
     20$ ./utils/fingerprint/fingerprint.py restore -f simd.fp 
     21}}} 
     22 
     23 5. Configure and build as you would normally (see Building), but choose the `perf-llvm` `BuildFlavour` in your `mk/build.mk` file. 
     24 
     25= Obsolete sub-topics = 
    426 * An [wiki:SIMD/Implementation/Plan implementation plan]. 
    527 * Manuel's notes on [wiki:SIMD/Implementation/Llvm implementing SIMD support in GHC using LLVM].