Chapter I.2. Installation instructions

Table of Contents

I.2.1. Prerequisites
I.2.2. Configuration
I.2.3. Compiling and installing

I.2.1. Prerequisites

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).

I.2.2. Configuration

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" ;
				

I.2.3. Compiling and installing

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).