Difference between revisions of "User:Hef/ispc on rpi2"

From Pumping Station One
Jump to navigation Jump to search
Line 30: Line 30:
 
Ninja will take many hours to complete.
 
Ninja will take many hours to complete.
 
I didn't fully test the <code>-j</code> (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.
 
I didn't fully test the <code>-j</code> (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 ==
 +
<syntaxHighlight lang=bash>
 +
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ ../llvm -G Ninja
 +
</syntaxHighlight>

Revision as of 18:22, 25 March 2015

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