Menu

Tree [aeff36] at3-742-chan-pol-select-using-timeseries-view /
 History

HTTPS access


File Date Author Commit
 Benchmark 2023-05-03 Willem van Straten Willem van Straten [a10979] use filterbank_speed from $PATH
 Documentation 2019-05-13 Dean Shaff Dean Shaff [3642db] final commit before starting to work on recent ...
 Kernel 2024-06-28 Willem van Straten Willem van Straten [aeff36] first round of experimenting with TimeSeriesVie...
 Management 2020-01-10 Willem van Straten Willem van Straten [130616] updated
 More 2018-12-18 Andrew Jameson Andrew Jameson [ddbbeb] openmp build flags
 Signal 2024-06-28 Willem van Straten Willem van Straten [aeff36] first round of experimenting with TimeSeriesVie...
 config 2024-05-10 jesmigel jesmigel [9e0e6b] AT3-671 addressed MR comments
 python 2023-01-25 Paul Demorest Paul Demorest [c235f8] python/Makefile: link python libs explicitly
 test 2024-05-27 Andrew Jameson Andrew Jameson [338499] AT3-317 add Signal/General/tests/LoadToQuantize...
 .editorconfig 2024-03-29 jesmigel jesmigel [005491] AT3-676 initialised Rescale GTest unit test
 .gitignore 2024-04-17 Willem van Straten Willem van Straten [56a295] ignore config/test-driver
 .gitlab-ci.yml 2024-05-13 jesmigel jesmigel [a655c8] AT3-674 updated gl runner tag
 CITATION 2011-01-04 straten straten [63468e] dspsr paper to be published this week
 Dockerfile 2024-05-14 jesmigel jesmigel [cacc18] AT3-674 fixed error caused by local merge
 LICENSE 2019-10-23 Dean Shaff Dean Shaff [289dcd] added top level LICENSE file
 Makefile.am 2024-05-27 Andrew Jameson Andrew Jameson [338499] AT3-317 add Signal/General/tests/LoadToQuantize...
 README.md 2024-05-14 jesmigel jesmigel [1bebef] AT3-674 enforce cxx14 compilation
 TODO.md 2019-07-31 Dean Shaff Dean Shaff [420ab4] add explicit benchmark executable. Add get_stri...
 bootstrap 2013-12-04 Willem van Straten Willem van Straten [2c1f47] include Makefile.cuda directly and do not modif...
 configure.ac 2024-05-14 jesmigel jesmigel [1bebef] AT3-674 enforce cxx14 compilation
 greps 2020-06-15 Willem van Straten Willem van Straten [fffe34] find more than single-word expressions
 update 2024-04-05 Willem van Straten Willem van Straten [4da25a] update script calls 'automake --add-missing'

Read Me

DSPSR

pipeline status

Documentation

Documentation for DSPSR can be found online here.

Building

DSPSR is dependent on PSRCHIVE.
It has several other dependencies, but the build system will direct you to install them if it detects that they aren't present.

With autotools installed, building can be as simple as the following:

./bootstrap
mkdir build && cd build
./../configure
make
make install

Containerised development environment

BASE builder

The base builder contains a curated preinstalled dependencies. Details located at ska-pst-dsp-tools

#!/bin/bash
# Set env vars
DOCKER_IMAGE=registry.gitlab.com/ska-telescope/pst/ska-pst-dsp-tools/ska-pst-dspsr-builder:0.0.4

# Pull the container image
docker pull $DOCKER_IMAGE

Optional: Install missing dependencies

The following are example steps for installing desired dspsr dependencies.

#!/bin/bash
# launch a base builder container
docker run -tid --name dspsr_unittest \
-v $PWD:/home/pst/Pulsar/src/dspsr \
-w /home/pst/Pulsar/src/dspsr \
-u root \
$DOCKER_IMAGE

# launch a shell session inside the base builder's filesystem
docker exec -ti dspsr_unittest bash

# Install sample desired dependency: PSRDADA
git clone --recursive https://git.code.sf.net/p/psrdada/code /home/pst/src/psrdada && cd /home/pst/src/psrdada
chmod +x ./bootstrap && ./bootstrap
mkdir -p /home/pst/build/psrdada && cd /home/pst/build/psrdada
/home/pst/src/psrdada/configure \
    --with-cuda-include-dir=/usr/local/cuda/include \
    --with-cuda-lib-dir=/usr/local/cuda/lib64 \
    --prefix=/home/pst --enable-shared \
    && make -j$(nproc) && make install

# Post installation verification
which dada_db && dada_db -h

# Prepare dspsr compile configuration and compile
cd /home/pst/src/dspsr
./bootstrap
mkdir -p /home/pst/build/dspsr && cd /home/pst/build/dspsr
echo 'uwb dada sigproc dummy fits vdif ska1 cpsr2' > ./backends.list
/home/pst/src/dspsr/configure \
    --with-cuda-include-dir=/usr/local/cuda/include \
    --with-cuda-lib-dir=/usr/local/cuda/lib64 \
    --prefix=/home/pst --enable-shared \
    && make -j$(nproc)

GTest unit tests

GoogleTest Unit testing framework can be built and executed using
a premade docker image containing curated dspsr dependencies. Below are the command line instructions
for pulling the involved docker image used for building dspsr and launching googletest unit tests.

#!/bin/bash
# launch a shell session against running dspsr container with pre installed desired dependencies
# Set env vars
DOCKER_IMAGE=registry.gitlab.com/ska-telescope/pst/ska-pst-dsp-tools/ska-pst-dspsr-builder:0.0.4

# Pull the container image
docker pull $DOCKER_IMAGE

# Launch a detached docker container with root as the user id within the container
docker run -tid --name dspsr_unittest \
-v $PWD:/home/pst/src/dspsr \
-w /home/pst/src/dspsr \
-u root \
$DOCKER_IMAGE

# Launch a shell that access the container's file system
docker exec -ti dspsr_unittest bash

# cd to build directory to build and execute gtest unit tests that have been configured
cd /home/pst/build/dspsr && make check