Kicksey-Winsey should have been downladed and unpacked. A C++ compiler with good template support (such as GCC >= 4.2 or ICC >= 10.0, 11.0 recommended) should be available on the system. Note that due to the massive use of templates, compile time and memory space consumption during compilation can be huge (hours or days, tens of gigabytes) for some other compilers that I have tested, in particular XLC.
The Boost C++ header libraries should be installed, the tests I have done were with Boost 1.43,
but older versions might work.
Note that since the Boost binary libraries are *not* required,
it is sufficient just to unpack Boost, and then copy the directory
containing the headers to your include
path
(if you are not planning to use Boost in other applications,
you will save a lot of time by just doing this instead of compiling Boost).
The compilation of KIWIWALI relies on the Boost.Build build system,
which in turn relies on Boost.Jam.
If you do not have them, the first thing to do is to download and install them.
Boost.Jam consists in a single executable which you may store for example in $HOME/bin
,
and Boost.Build can be unpacked in $HOME/share
.
Then, don't forget to set the environment variable BOOST_BUILD_PATH
to point
to the boost-build
directory (for example, $HOME/share/boost-build
).
To configure KIWIWALI, edit the site-config.jam
file which is located in $BOOST_BUILD_PATH
.
Here is an example of what the resulting file could look like:
project site-config : build-dir /tmp : requirements <include>/home/rnguyen/include ; import os ; constant install-prefix : /home/rnguyen ;
where /home/rnguyen/include
should be replaced
by the directory containing the Boost include files,
and the install-prefix should be customized according to your needs.
To enable OpenMP parallelization in GCC, add the following line to site-config.jam
:
alias noopenmp ; lib gomp : : <link>shared ; alias openmp : : <toolset>gcc : : <cflags>"-fopenmp" <library>gomp ;
and for ICC :
alias noopenmp ; alias openmp : : <toolset>intel : : <cflags>"-openmp" <linkflags>"-openmp" ;
To compile, from the Kicksey-Winsey root directory, type :
bjam KWwavelets release ;
Then, to install, type:
bjam KWwavelets-dist release ;
The compiled run-time library will be copied to your installation directory,
but the necessary include files will not.
When compiling an executable which uses KIWIWALI routines,
you need to include either wavelet_library/basic.hpp
or wavelet_library/advanced.hpp
,
according to which interface you are using (see below).