-
Notifications
You must be signed in to change notification settings - Fork 5
/
BUILDING
31 lines (24 loc) · 1.54 KB
/
BUILDING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$Id: BUILDING,v 1.14 2008/12/17 20:40:50 rumble Exp $
Building rmapper is easy - it requires a C++ compiler (gcc, icc and Sun Studio
12 have been used during development) and gmake. Intel's C Compiler (icc) is
_highly_ recommended as it is often at least 10-20% faster than gcc. All
official SHRiMP binary releases are compiled using icc for Linux and OS X and
Sun Studio on Solaris).
Please note that rmapper is x86-only. Pentium 4 architectures seem to benefit
considerably from 64-bit compiled code, whereas Core 2 architectures don't
seem to care much.
When building with icc, execute the following:
gmake CXX="icc" CXXFLAGS="-Kc++ -wd383,981,1572 -axP -O3 -ipo"
When building with Sun Pro under Solaris, execute the following:
gmake CXX="CC" CXXFLAGS="-xarch=sse2 -features=zla,extensions -fast -xvector=simd"
For 64-bit compiles (recommended), supply the "-m64" flag as well, i.e.:
gmake CXX="CC" CXXFLAGS="-m64 -xarch=sse2 -features=zla,extensions -fast -xvector=simd"
When building with gcc, execute the following:
gmake CXX="g++" CXXFLAGS="-O3 -mmmx -msse -msse2"
GCC 4 users should also supply appropriate -ftree-vectorize and -march flags.
Debugging and assertion features may be turned off by adding "-NDEBUG" to the
CXXFLAGS argument. However, at present assertions don't appear to cost much and
any improvement in performance will be very small (probably imperceptible).
You may want to adjust your flags depending on your hardware and compiler
versions. The above icc CXXFLAGS seemed optimal for both Pentium 4 and Core 2
architectures.