Compiled docs are available at https://kotekan.readthedocs.io/en/latest/.
Detailed instructions at http://lwlab.dunlap.utoronto.ca/kotekan/compiling/general.html.
This project is built 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_OLD_DPDK=ON
- Include DPDK support for older (<19.11) versions.
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_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-DWITH_TESTS=ON
Build kotekans test library.-DWITH_BOOST_TESTS=ON
Build C++ unit 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 OpenCL and debug symbols and logging:
cmake -DUSE_OPENCL=ON -DCMAKE_BUILD_TYPE=Debug ..
To build with CUDA:
cmake -DUSE_CUDA=ON ..
To build with HSA, old DPDK and debug symbols (CHIME):
cmake -DRTE_SDK=/opt/dpdk-stable-16.11.4/ -DRTE_TARGET=x86_64-native-linuxapp-gcc -DUSE_OLD_DPDK=ON -DUSE_HSA=ON -DCMAKE_BUILD_TYPE=Debug ..
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