User:Hef/ispc on rpi2

From Pumping Station One
< User:Hef
Revision as of 18:22, 25 March 2015 by Hef (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

setup

gcc 4.6 both won't compile latest llvm/clang and will generate an ICE on older versions of clang.

sudo apt-get install cmake gcc-4.8 g++-4.8

ninja

git clone git://github.com/martine/ninja.git
cd ninja
git checkout release
./configure.py --bootstrap
sudo cp ninja /usr/local/bin/ninja

clang

git clone http://llvm.org/git/llvm.git
cd llvm/tools
git clone http://llvm.org/git/clang.git
cd ../../..
mkdir llvm-build
cd llvm-build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc-4.8 -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.8 ../llvm -G Ninja
ninja -j1

Ninja will take many hours to complete. I didn't fully test the -j (concurrent build) options to ninja. ninja defaults to 6 on the rpi2. You will run out of memory if you do this. Even if you create larger swap for the pi, swapping to an sd card is a really major performance hit and you will be better of using fewer cores.

self hosted clang

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ ../llvm -G Ninja