Site Navigation:

Source Code

The source code for my programs are in a repository. Here is a quick guide to the contents:

% svn list svn://hnaparst.homelinux.com

seti_boinc/ The entire seti source code, with my changes.
boinc/ The boinc client with enhancements
seti_enhanced/ The seti beta project. This is the future.
rescmp/ Tetsuji's excellent program for comparing results of different seti clients.

boinc and seti_boinc have their own trunk, tags, and branches subdirectory, in standard subversion style.
If you are interested in compiling your own version of my cruncher, you need to download the source for boinc and seti_boinc. You'll also need to install and , which you can get from Intel. Here's what to do:

cd /home/boinc
svn checkout svn://hnaparst.homelinux.com/boinc/trunk boinc
svn checkout svn://hnaparst.homelinux.com/seti_boinc/trunk seti_boinc

export CC=icc
export CXX=icpc
export AR=xiar
export IPP=/opt/intel/ipp/5.0/ia32

source /opt/intel/cc/9.0/bin/iccvars.sh
source $IPP/tools/env/ippvars32.sh
export MYSQL_CONFIG=true
export CFLAGS='-DIPP -DW7 -O3 -xW -ipo -no-prec-div -no-prec-sqrt -fp-model fast -I/opt/intel/cc/9.0/include -I$IPP/include -I$IPP/tools/staticlib -i-static'
export LDFLAGS='-L$IPP/lib -L$IPP/tools/staticlib -L/opt/intel/cc/9.0/lib -limf -lippsmerged -lippvmmerged -lippchmerged -lippcore -i-static -cxxlib-icc'

If you are politically opposed to monopolistic behavior, you may prefer to use FFTW and avoid IPP entirely. You will get a much slower binary, however.

export CFLAGS='-g -DICC90 -DW7 -O3 -xW -ipo -DUSE_FFTWF'
export LDFLAGS='-lfftw3f'
cd boinc
make distclean
./configure --enable-static=no --disable-static-linkage --disable-server --without-wx
make

cd ../seti_boinc
./configure --enable-static=no --disable-server --disable-gui
make clean
cd client
make

If you are very, very opposed to monopolistic behaviour, you may replace ICC with GCC.

Note that the above is only a guide. Linking with ICC is a difficult process, and even though I use Gentoo, I do not support compilation from source as well as Gentoo does. You are also free to poke around in the rest of the subversion tree. For instance,

svn list svn://hnaparst.homelinux.com/seti_boinc/branches

amd64/ (still working on this)

svn list svn://hnaparst.homelinux.com/seti_boinc/tags
20050508-official/
naparst-r3.2/
YAOSC8.1/

A complete guide to the available CFLAGS that I have added is here
The ChangeLog is in seti_boinc/client/ChangeLog
The log of my compile session to produce the posted binary is in seti_boinc/client/compile.log