Menu

Tree [39da6e] master /
 History

HTTPS access


File Date Author Commit
 .gitlab 18 hours ago Willem van Straten Willem van Straten [39da6e] new finalize job extends the unit-tests-environ...
 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 1 day ago Willem van Straten Willem van Straten [69450c] review comments addressed
 Management 2020-01-10 Willem van Straten Willem van Straten [130616] updated
 More 4 days ago Willem van Straten Willem van Straten [dbbb10] bugs/124 make distcheck works on laptop
 Signal 1 day ago Willem van Straten Willem van Straten [c0543d] fix logic error: !integrate -> integrate (thank...
 config 4 days ago Willem van Straten Willem van Straten [602583] centralize the definition of get_gpu_flags; ena...
 python 4 days ago Willem van Straten Willem van Straten [5185d7] bugs/124 update more Makefiles to use new libto...
 resources 2025-04-09 Willem van Straten Willem van Straten [fd22e6] restore accidentally deleted resources/gtest
 test 3 days ago Willem van Straten Willem van Straten [b7f3ec] restore original tnchan for DS01
 .editorconfig 2024-03-29 jesmigel jesmigel [005491] AT3-676 initialised Rescale GTest unit test
 .gitignore 1 day ago Willem van Straten Willem van Straten [c0543d] fix logic error: !integrate -> integrate (thank...
 .gitlab-ci.yml 18 hours ago Willem van Straten Willem van Straten [09b934] stop pipelines from blocking using a finalize s...
 .gitmodules 1 day ago Willem van Straten Willem van Straten [69450c] review comments addressed
 CITATION 2011-01-04 straten straten [63468e] dspsr paper to be published this week
 Dockerfile 4 days ago Willem van Straten Willem van Straten [602583] centralize the definition of get_gpu_flags; ena...
 LICENSE 2019-10-23 Dean Shaff Dean Shaff [289dcd] added top level LICENSE file
 Makefile.am 4 days ago Willem van Straten Willem van Straten [985d17] bugs/124 all installed libraries composed of li...
 README.md 1 day ago Willem van Straten Willem van Straten [69450c] review comments addressed
 TODO.md 2019-07-31 Dean Shaff Dean Shaff [420ab4] add explicit benchmark executable. Add get_stri...
 bootstrap 2024-07-17 Willem van Straten Willem van Straten [461799] AT3-742 git submodule update --init --recursive...
 configure.ac 2025-05-13 Willem van Straten Willem van Straten [88fe93] MPI compilation removed
 dspsr_srcdir.h.in 2024-07-31 Willem van Straten Willem van Straten [d9a058] AT3-783 new dspsr_srcdir.h defines absolute pat...
 gitlab-ci-builder 2024-11-29 Willem van Straten Willem van Straten [15c52a] AT3-857 setup X11 in gitlab-ci-builder
 greps 4 days ago Willem van Straten Willem van Straten [5185d7] bugs/124 update more Makefiles to use new libto...
 update 2024-07-29 Willem van Straten Willem van Straten [ca0a23] AT3-778 new distclean-local deletes backends.li...

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

# 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_$(whoami) \
-v $PWD:/home/pst/src/dspsr \
-w /home/pst/src/dspsr \
-u root \
$DOCKER_IMAGE

# launch a shell session inside the base builder's filesystem
docker exec -ti dspsr_$(whoami) 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.16

# 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
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.