Skip to main content

nifty gridding components for daliuge-engine created by ICRAR

Project description

dlg-nifty-components

codecov CI Code style: black

dlg-nifty-components contains a collection of cpu and gpu nifty gridding/degridding implementations for radio interferometry datasets.

Installation

There are multiple options for the installation, depending on how you are intending to run the DALiuGE engine, directly in a virtual environment (host) or inside a docker container. You can also install it either from PyPI (latest released version).

Install it from PyPI

Prerequisites

The following packages are required before installation such that dlg-nifty-components can compile it's dependencies:

  • g++
  • python3-dev
  • numpy
  • cuda-libraries-dev

DALiuGE Engine Python App in Docker Container

For development purposes it is preferable to install and run dlg-nifty-components as a python app for fast recompilation of dynamically linked binaries. To do this you must first install a cuda version in daliuge-common or daliuge-engine followed by python-dev, numpy and g++. daliuge-nifty-components will then compile and install wagg for cuda acceleration.

daliuge-common/Dockerfile.dev

RUN apt install -y wget gnupg2 software-properties-common
RUN mkdir -p /code && cd /code && \
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin && \
    mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 && \
    apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub && \
    add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" && \
    apt update

RUN DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends install \
    cuda-minimal-build-11-2 cuda-libraries-11-2 cuda-libraries-dev-11-2 && \
    ln -s /usr/local/cuda-11.2 /usr/local/cuda && \
    ln -s /usr/local/cuda/targets/x86_64-linux/lib /usr/local/cuda/lib && \
    ln -s /usr/local/cuda/targets/x86_64-linux/include /usr/local/cuda/include

daliuge-engine/Dockerfile.dev

RUN apt install -y python3-dev g++

run_engine.sh

# append configured nvidia-docker arguments here, e.g.
DOCKER_OPTS=$DOCKER_OPTS --gpus=all --privileged

dlg-nifty-components may be installed before or after DALiuGE engine is running:

docker exec -t daliuge-engine bash -c 'pip install --prefix=$DLG_ROOT/code dlg_nifty_components'

EAGLE Palette

An EAGLE .palette file can be conveniently generated locally using command:

bash ./build_palatte.sh

Usage

Python

For example the MS2DirtyApp component will be available to the engine when you specify

from daliuge_component_nifty import MS2DirtyApp

MS2DirtyApp('a','a')

in the AppClass field of a Python Branch component. The EAGLE palette associated with these components are also generated and can be loaded directly into EAGLE. In that case all the fields are correctly populated for the respective components.

DALiuGE Docker App

Optionallyb uild the container image for use as a daliuge docker app:

docker build -t dlg-nifty-components -f ./Containerfile .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlg_nifty_components-1.0.3.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dlg_nifty_components-1.0.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file dlg_nifty_components-1.0.3.tar.gz.

File metadata

  • Download URL: dlg_nifty_components-1.0.3.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for dlg_nifty_components-1.0.3.tar.gz
Algorithm Hash digest
SHA256 d46b9f2e7fd91649d43a8816ff91157b67f7f0935a5d9edcee03a30b9f39a9be
MD5 1128f3d9653b64b462bde9b6b057b23f
BLAKE2b-256 522d815604460b82ef9813179a073c890def442d5eb65b1b54447908f493a467

See more details on using hashes here.

File details

Details for the file dlg_nifty_components-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: dlg_nifty_components-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for dlg_nifty_components-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e3cb52a13f4032297aed191388cf6ad6d050b35cde6f9db6f704512d64c3ba94
MD5 4827e86ecc715e071fde376e0dbc2c51
BLAKE2b-256 53f3f0a8321156985f7c1662c60b9e43902408a5295eb132ddfce99610d2dc61

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page