-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.skyweavercpp
66 lines (56 loc) · 2.08 KB
/
Dockerfile.skyweavercpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
FROM nvidia/cuda:12.4.1-devel-ubuntu22.04
LABEL maintainer="erc-compact"
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Berlin
RUN apt-get update && \
apt-get install -yq --no-install-recommends \
cmake \
doxygen \
git \
graphviz \
libboost-all-dev \
libtool \
python-is-python3 \
python3-sphinx \
wget
### PYTHON DEPENDENCIES
RUN apt-get install -yq --no-install-recommends \
python3-pip \
python3-setuptools \
python3-wheel
RUN pip3 install --upgrade pip && \
pip3 install numpy scipy matplotlib
### NSIGHT-SYSTEMS PROFILER
RUN cd /tmp && \
wget https://developer.nvidia.com/downloads/assets/tools/secure/nsight-systems/2024_4/nsight-systems-2024.4.1_2024.4.1.61-1_amd64.deb &&\
apt-get install -y ./nsight-systems-2024.4.1_2024.4.1.61-1_amd64.deb && \
rm -rf /tmp/*
### PSRDADA
RUN cd /usr/src && \
git clone https://git.code.sf.net/p/psrdada/code psrdada && \
cd psrdada && \
git checkout bf756866898686065562ac537376cf9d7d1b54ee && \
# Version from Wed Feb 12 07:46:37 2020 +0200 \
export LDFLAGS=-fPIC && \
export CFLAGS=-fPIC && \
./bootstrap && \
./configure --includedir=/usr/local/include/psrdada --with-cuda-dir=/usr/local/cuda/ && \
make -j 8 && \
make install
### PSRDADA_CPP \
RUN cd /usr/src && \
git clone https://gitlab.mpcdf.mpg.de/mpifr-bdg/psrdada_cpp.git && \
cd psrdada_cpp/ &&\
git checkout a3853de61ef56ab3cb3df23e954de24444dfe0e3 && \
cmake -S . -B build/ -DENABLE_CUDA=True \
-DARCH=native -DPSRDADA_INCLUDE_DIR=/usr/local/include/psrdada \
-DBUILD_SUBMODULES=OFF .. &&\
make -C build/ -j8 && make -C build/ install
### SKYWEAVER
WORKDIR /usr/src/skyweaver
COPY . .
RUN cmake -S . -B build/ -DARCH=native -DPSRDADA_INCLUDE_DIR=/usr/local/include/psrdada \
-DPSRDADACPP_INCLUDE_DIR=/usr/local/include/psrdada_cpp -DSKYWEAVER_NANTENNAS=64 \
-DSKYWEAVER_NBEAMS=128 -DSKYWEAVER_NCHANS=64 -DSKYWEAVER_IB_SUBTRACTION=1 -DBUILD_SUBMODULES=1 \
-DENABLE_TESTING=1 -DENABLE_BENCHMARK=1 &&\
make -C build/ -j 16 && make -C build/ install