|
|
# SIMD instructions in GHC
|
|
|
|
|
|
The goal of the SIMD project is to allow GHC and Haskell libraries to take advantage of SIMD vector instructions. Please see the proposed [design](simd/design) and the current [implementation status](simd/implementation/status) for further details.
|
|
|
|
|
|
# Building the SIMD branch
|
|
|
The goal of the SIMD project is to allow GHC and Haskell libraries to take advantage of SIMD vector instructions. Please see more information on
|
|
|
|
|
|
- [design](simd/design)
|
|
|
- [implementation status](simd/implementation/status)
|
|
|
|
|
|
## Building the SIMD branch
|
|
|
|
|
|
|
|
|
SIMD 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.
|
... | ... | @@ -24,7 +29,7 @@ $ ./utils/fingerprint/fingerprint.py restore -f simd.fp |
|
|
|
|
|
1. Configure and build as you would normally (see Building), but choose the `perf-llvm``BuildFlavour` in your `mk/build.mk` file.
|
|
|
|
|
|
# Obsolete sub-topics
|
|
|
## Obsolete sub-topics
|
|
|
|
|
|
- An [implementation plan](simd/implementation/plan).
|
|
|
- Manuel's notes on [implementing SIMD support in GHC using LLVM](simd/implementation/llvm).
|
... | ... | |