User:Hef/ispc on rpi2: Difference between revisions

From Pumping Station One
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 4: Line 4:


<syntaxHighlight lang=bash>
<syntaxHighlight lang=bash>
sudo apt-get install cmake gcc-4.8 g++-4.8 bison
sudo apt-get install cmake gcc-4.8 g++-4.8 bison flex libncurses5-dev subversion
</syntaxHighlight>
</syntaxHighlight>


== ninja ==
== second attempt ==
 
<syntaxHighlight lang=bash>
export LLVM_HOME=~/projects/llvm_home
export ISPC_HOME=$PWD
export CC=/usr/bin/gcc-4.8
export CXX=/usr/bin/g++-4.8
export CFLAGS="-march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4"
export CXXFLAGS="-march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4"
./alloy.py -b --version=3.5
export PATH=$PATH:$LLVM_HOME/bin-3.5/bin
 
</syntaxHighlight>
 
I should try adding <code>export CFLAGS="-march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4"</code>
 
== first attempt ==
 
=== ninja ===
<syntaxHighlight lang=bash>
<syntaxHighlight lang=bash>
git clone git://github.com/martine/ninja.git
git clone git://github.com/martine/ninja.git
Line 16: Line 34:
</syntaxHighlight>
</syntaxHighlight>


== clang ==
=== clang ===
<syntaxHighlight lang=bash>
<syntaxHighlight lang=bash>
git clone http://llvm.org/git/llvm.git
git clone http://llvm.org/git/llvm.git
Line 31: Line 49:
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 ==
=== self hosted clang ===
<syntaxHighlight lang=bash>
<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
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ ../llvm -G Ninja
</syntaxHighlight>
=== ispc ===
<syntaxHighlight lang=bash>
make ARM_ENABLED=1 -j4
</syntaxHighlight>
</syntaxHighlight>