Compiled docs are currently available at http://lwlab.dunlap.utoronto.ca/kotekan. One day we'll move them to readthedocs...
Detailed instructions at http://lwlab.dunlap.utoronto.ca/kotekan/compiling/general.html.
The project is build using cmake, so you will need to install cmake before starting a build.
To build just the base framework:
cd build
cmake <options> ..
make
Cmake build options:
-DCMAKE_BUILD_TYPE=Debug
- Builds the project with asserts, debug logging and debug symbols.-DCMAKE_BUILD_TYPE=Test
- Builds the project with asserts, debug logging, but without debug symbols.-DUSE_DPDK=ON
- Include DPDK support. Optional-DRTE_SDK=<build-location>
and-DRTE_TARGET=x86_64-native-linuxapp-gcc
can be provided for non standard build locations.-DUSE_HSA=ON
- Build with HSA support if available. On by default.-DUSE_OLD_ROCM=ON
- Build for ROCm versions 2.3 or older. Off by default.-DUSE_CLOC=ON
- For HSA, use cloc.sh to compile .hsaco binaries. Direct toolchain calls are used by default.-DUSE_OPENCL=ON
- Build with OpenCL support.-DUSE_HCC=ON
- Build with HCC support, must also setCXX=hcc
, i.e.CXX=hcc cmake -DUSE_HCC=ON ..
This mode has limited support.-DUSE_CUDA=ON
- Build with CUDA support, requiresnvcc
-DUSE_HDF5=ON
and-DHIGHFIVE_PATH=<path>
- To enable the HDF5 writer-DUSE_AIRSPY=ON
- Build the AirSpy producer. Requires libairspy.-DUSE_FFTW=ON
- Build an FFTW-based F-engine. Requires FFTW3.-DUSE_LAPACK=ON
- Build stages depending on LAPACK.-DBLAZE_PATH=<blaze_path>
- Path to BLAZE headers. Required ifUSE_LAPACK
is set.-DCOMPILE_DOCS=ON
- Build kotekan documentation. Requires doxygen, sphinx (+ sphinx_rtd_theme), and breathe. Note that docs will only compile if explicitly told to, it is not part of the base compile, even when enabled.-DUSE_OMP=ON
Build stages using OpenMP. This requires a compiler supporting OpenMP (>= 3.0)-DOPENSSL_ROOT_DIR=<openssl_root_dir>
Only required for non-standard install locations of OpenSSL-DBOOST_TESTS=ON
Build tests using The Boost Test Framework. pytest-cpp needs to be installed for pytest to find them.-DSUPERDEBUG=ON
Add extra debugging info and turn off all optimisation to improve coverage.-DSANITIZE=ON
Turn on extra Clang sanitizers (currently the address sanitizer) for finding issues.
Examples:
To build with HSA, DPDK and debug symbols:
cmake -DRTE_SDK=/opt/dpdk-stable-16.11.4/ -DRTE_TARGET=x86_64-native-linuxapp-gcc -DUSE_DPDK=ON -DUSE_HSA=ON -DCMAKE_BUILD_TYPE=Debug ..
To build with OpenCL and DPDK:
cmake -DRTE_SDK=/opt/dpdk-stable-16.11.4/ -DRTE_TARGET=x86_64-native-linuxapp-gcc -DUSE_DPDK=ON -DUSE_OPENCL=ON ..
To install kotekan (only works on CentOS at the moment):
make install
Using systemd (full install)
To start kotekan
sudo systemctl start kotekan
To stop kotekan
sudo systemctl stop kotekan
To run in debug mode, run from ch_gpu/build/kotekan/
sudo ./kotekan -c <config_file>.yaml
For example:
sudo ./kotekan -c ../../kotekan/kotekan_gpu_replay.yaml
When installed kotekan's config files are located at /etc/kotekan/
If running with no options then kotekan just starts a rest server, and waits for someone to send it a config in json format on port 12048