Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
9c2df01
update ignored files
etolley Aug 31, 2020
94f9ddd
first level timing in place
etolley Sep 2, 2020
d47f751
ms file peeker
etolley Sep 7, 2020
06a04e6
added benchmarking, timing class
etolley Sep 11, 2020
ccf15e2
added setup/install instructions
etolley Sep 11, 2020
12a0d9c
Update README.rst
etolley Sep 11, 2020
db465d4
testing framework
etolley Sep 11, 2020
d05457a
started on thruput
etolley Sep 11, 2020
60903d1
matrix mult tester
etolley Sep 14, 2020
aefcc0f
refining tests
etolley Sep 14, 2020
9027845
nicer plotting
etolley Sep 14, 2020
e6f57e7
added matrix comparisons
etolley Sep 14, 2020
a81d6c6
overdue commit
etolley Sep 15, 2020
dcb1c4a
standalone dummy synthesizer
etolley Sep 17, 2020
3f385a0
cleaned up synthesis code
etolley Sep 17, 2020
656d390
cleaned up synthesis code
etolley Sep 17, 2020
d355289
made alternate dummy synth
etolley Sep 17, 2020
1d5ae8c
Update README.rst
etolley Sep 18, 2020
c2791b2
Update README.rst
etolley Sep 18, 2020
841a92f
cleaned up synthesizer test
etolley Sep 18, 2020
440a09e
Merge branch 'master' of https://github.com/etolley/pypeline
etolley Sep 18, 2020
00ba8ac
update install script to be consistent with readme
etolley Sep 18, 2020
448b74b
updated test scripts
etolley Sep 18, 2020
ce0c7be
Merge branch 'master' of https://github.com/etolley/pypeline
etolley Sep 18, 2020
976a1c4
custom C MM
Sep 22, 2020
54d706f
testing custom func
etolley Sep 22, 2020
8d65749
updated mkaefile
etolley Sep 22, 2020
9850a14
build helper
etolley Sep 23, 2020
ec336fe
testing ctypes
etolley Sep 23, 2020
f69991d
gitignore and extra files
etolley Sep 23, 2020
304308c
cleanup
etolley Sep 23, 2020
7f13dbf
custom zgemm testing
etolley Sep 23, 2020
3710fe0
fixed make
etolley Sep 23, 2020
496ca3e
most recent version
etolley Sep 23, 2020
911c8c1
updated test
etolley Sep 23, 2020
22cfedd
fixed some img problems
etolley Sep 23, 2020
6c6018c
fixed custom zgemm function and added to test scripts
etolley Sep 24, 2020
4f2a9da
added sgemm exp calls
etolley Sep 24, 2020
f050e2e
removing the complex test
ursache Sep 25, 2020
228922a
new version with fringe dimensions
ursache Sep 25, 2020
04580f5
increasing opt report level
ursache Sep 25, 2020
f2ab59a
updated test code
etolley Sep 25, 2020
e5b3c25
dgemm added to test scripts
etolley Sep 25, 2020
56bbc1e
dgemm added to test scripts
etolley Sep 25, 2020
47e7628
added dgemmexp to test script
etolley Sep 25, 2020
7c9868d
adding very simple dgemm
ursache Sep 27, 2020
b0da973
adding very simple dgemm
ursache Sep 27, 2020
78b9133
new exp
etolley Sep 28, 2020
56c46b9
[Dist] Simplify installation process.
Oct 22, 2020
e74f317
[Interpolation] Preliminary example.
Oct 28, 2020
3270805
fixed timing
etolley Jan 6, 2021
b624c6d
preliminary ps benchmarking
etolley Jan 6, 2021
791da3f
cleaned up testing code
etolley Jan 11, 2021
dc0acc4
resolved inconsistencies between standard and periodic synthesis
etolley Jan 19, 2021
efeaa21
nicer plotting
etolley Jan 19, 2021
a20e503
improved kernel testing, more plotting options for synth comparison
etolley Feb 23, 2021
a0e50f1
cleanup
etolley Feb 23, 2021
64a1bad
ignore updates
etolley Feb 23, 2021
c29761e
more plots to check levels
etolley Feb 23, 2021
e82e644
Code for interpolation and FITS export
matthieumeo Mar 19, 2021
c9ddfd5
working on bb outputs
etolley Mar 23, 2021
96f82e5
merged with dev
etolley Mar 23, 2021
2c8180a
modifying synthesizer to deal with huge arrays
etolley May 19, 2021
89501ed
new synthesis script
etolley May 20, 2021
88e5a58
commit before gpu acceleration
etolley May 26, 2021
84723dd
now gpu accelerated
etolley May 26, 2021
cf266c6
working on gpu implementations
etolley Jun 28, 2021
28a6567
cleanup, pyffs now working
etolley Sep 2, 2021
be3bf92
made SS CPU/GPU agnostic
etolley Sep 2, 2021
d85d4a1
some fixes for running on cpu vs gpu
etolley Sep 2, 2021
262e1f3
added michele's install script
etolley Sep 16, 2021
5cbf1c6
fix to broken standard synthesis
etolley Sep 16, 2021
c593af2
fix to broken standard synthesis
etolley Sep 16, 2021
aa6d832
re-enabled gpu & large memory for standard synthesis
etolley Oct 5, 2021
5da033a
enabled gpu in lofar_4gauss
etolley Oct 5, 2021
434f185
create new branch: dev_cscs
Oct 5, 2021
96fe5a7
Preliminary tests with the NUFFT synthesiser
matthieumeo Oct 5, 2021
82bc254
commit before merge with ms's change
etolley Oct 6, 2021
b163400
Merge branch 'dev-nufft' of https://github.com/imagingofthings/pypeli…
etolley Oct 6, 2021
b23411a
extended class SimulatedDataGen and corresponding new method- user_de…
Oct 7, 2021
2dca1eb
changed data_gen_utils.py to enforce for N_level > N_sources=1
Oct 12, 2021
0f46094
new test script using nufft
etolley Oct 13, 2021
8ee240e
Merge pull request #1 from etolley/et_dev
etolley Oct 13, 2021
2bf18a9
included PSF profile in plots
Oct 14, 2021
61fdeaa
merged the master branch, now NUFFT is also on the dev_cscs branch
Oct 14, 2021
5e36ea4
First interface for the NUFFT synthesizer
matthieumeo Oct 18, 2021
d0afe84
scripts for validation
etolley Oct 18, 2021
93ef55e
scripts for validation
etolley Oct 18, 2021
824cb73
Merge pull request #2 from etolley/et_dev
etolley Oct 18, 2021
35763d2
new scaling code
etolley Oct 19, 2021
8148bc0
added nufftw
Oct 20, 2021
bbc2871
resolved merge conflicts
etolley Oct 20, 2021
1ad778d
cleanup
etolley Oct 20, 2021
114d922
Merge pull request #3 from etolley/et_dev
etolley Oct 20, 2021
4c0d000
some other changes
Oct 20, 2021
d4c67d5
more changes
Oct 20, 2021
cfa4f6c
some changes to lofar_booster_nufft3
Nov 19, 2021
9f6e492
changes
Nov 19, 2021
d1b6874
some chages
Nov 22, 2021
a6b8b4e
some change
Nov 22, 2021
48200d0
Initial version of Jenkins CI
orliac Aug 23, 2021
45b62e3
Initial Jenkins documentation
Dec 3, 2021
2da4bc5
Building the documentation
orliac Dec 8, 2021
317ab65
Delete empty file hello.py
etolley Dec 13, 2021
7cbfaca
Moving examples files used in CI to jenkins/ and reverted them
orliac Dec 14, 2021
8146c0c
Reverting field_synthesizer/fourier_domain.py since not used in CI
orliac Dec 14, 2021
b07db43
Removing leftovers in field_synthesizer/spatial_domain.py
orliac Dec 14, 2021
cab348e
Reverting benchmarking/test_synthesizer.py
orliac Dec 14, 2021
a44efcd
Removing useless intel install files
orliac Dec 14, 2021
33a63b2
New installation moved to /jenkins
orliac Dec 14, 2021
a2fbece
Deleting and reverting files not used in Jenkins
orliac Dec 15, 2021
9447181
Removing empty file benchmarking/hello.py
orliac Dec 15, 2021
491b76c
Removing singularity files
orliac Dec 15, 2021
da1ff93
Merge branch 'ci-master' of github.com:etolley/pypeline into ci-master
orliac Dec 15, 2021
2e25bec
updated test_bluebild.py and created new script for plotting results
Dec 21, 2021
3e91413
Merge branch 'eo-doc' into ci-master
orliac Jan 28, 2022
e0e21db
Re-enabling profiling
orliac Jan 28, 2022
e273394
Loading missing module
orliac Jan 28, 2022
9a18daa
Building documentation and copy HTML to build's /work space
orliac Jan 28, 2022
94398f5
Ci master (#6)
orliac Feb 2, 2022
d2af4fe
C++ port of data processor classes (#8)
AdhocMan Mar 2, 2022
4b047fd
Merge branch 'master' into ci-master
orliac Mar 3, 2022
f4e8b94
Disabling profiling the time to setup Simon's C++ tests
orliac Mar 3, 2022
bfb357e
pip install missing packages (pbr & scikit-build)
orliac Mar 3, 2022
f8cf32f
fixup: forgot to enable install.sh
orliac Mar 3, 2022
b552a40
fixup: forgot to enable install.sh
orliac Mar 3, 2022
9b78f93
fixup: forgot to enable install.sh
orliac Mar 3, 2022
dec51d1
beamforming matrix is now dense to work with new C++ data processing
AdhocMan Mar 7, 2022
92a0f8c
revert changes to setup.py to remove independent bluebild package
AdhocMan Mar 7, 2022
b317c3c
add setup.py for bluebild package
AdhocMan Mar 7, 2022
cd81926
Merge pull request #9 from AdhocMan/data_cpp_fix
orliac Mar 10, 2022
fba63af
you can now pass a predefined grid to NUFFT_IMFS_Block with the varia…
Mar 16, 2022
dbe8770
created script for nufft only with lofar MS
Mar 16, 2022
31c7255
Adding CPU & GPU Lofar Bootes runs based on Simon's C++ port of data …
orliac Mar 14, 2022
401b920
Refactoring Jenkins monitoring plotting part
orliac Mar 16, 2022
ea3ec7b
bugfix: only whole solution to generate runtimes statistics file
orliac Mar 18, 2022
d486289
corrected fourier_domain script for passing a pre-defined grid
Mar 22, 2022
19ff730
Eo auto cupy (#21)
orliac Mar 24, 2022
b03d500
Adding pip install of bluebild-tools
orliac Mar 24, 2022
169850f
Disabling install
orliac Mar 24, 2022
0385045
created two separated script for calculating SS and NUFFT on LOFAR Lo…
Mar 24, 2022
c01669a
created two separated scripts in benchmarking/ for calculating SS and…
Mar 24, 2022
f3b3998
get rid of contrasting paths
Mar 24, 2022
92d36cb
Revert "get rid of contrasting paths"
Mar 24, 2022
e9b03fa
Revert "created two separated scripts in benchmarking/ for calculatin…
Mar 24, 2022
b86feb9
Merge branch 'ci-master' of github.com:epfl-radio-astro/pypeline into…
orliac Mar 25, 2022
9db7311
some change
Mar 25, 2022
140971c
pull request NUFFT (#23)
micbia Mar 25, 2022
b1009fd
Merge branch 'ci-master' of github.com:epfl-radio-astro/pypeline into…
orliac Mar 25, 2022
c1cd4a2
Make SS grid as per NUFFT
orliac Mar 29, 2022
2470056
Changing grid definition for lofar_bootes_ss.py
orliac Mar 30, 2022
76b8257
some changes
Mar 31, 2022
5a44c63
Defining a new reference solution for LBSS solutions after grid was c…
orliac Apr 6, 2022
9eb5aed
Fixing monitoring: np.equal -> np.isclose(atol=1.e-6) for the grid
orliac Apr 6, 2022
7ea4137
Disabling one-time management action already completed (new ref for LBSS
orliac Apr 6, 2022
177800c
bluebild cpp: Add fiNUFFT and cufiNUFFT interface. (#26)
AdhocMan Apr 14, 2022
cd68731
Compiling CUFINUFFT branch t3_d3 from Simon's fork https://github.com…
orliac Apr 14, 2022
2a2fe42
fixup install cufinufft
orliac Apr 14, 2022
e51246b
fixup 2 install cufinufft
orliac Apr 14, 2022
b01a564
fixup 3 install cufinufft / pypeline
orliac Apr 14, 2022
4b0c739
fixup typo in Jenkins file
orliac Apr 14, 2022
8b44c76
fixup correcting double entry for ${env.FINUFFT_ROOT}, add ${env.CUFI…
orliac Apr 14, 2022
90501ab
add nufft split capability
AdhocMan Apr 21, 2022
b735e6a
Better integration of C++ alternative into data processing classes
AdhocMan May 3, 2022
269362f
Modified examples to match new data processing and nufft imager
AdhocMan May 5, 2022
8ca68ea
Merge pull request #28 from AdhocMan/nufft_split
orliac May 17, 2022
6e922dc
SF's PR integration - 01
orliac May 17, 2022
68585ea
SF's PR integration - 02 installing ninja
orliac May 17, 2022
1b14009
SF's PR integration - 03 installing ninja from bin
orliac May 17, 2022
1157ec7
SF's PR integration - 03 installing ninja from bin - fix
orliac May 17, 2022
77a7821
SF's PR integration - 03 installing ninja from bin - fix2
orliac May 17, 2022
d247d6f
SF's PR integration - 03 installing ninja from bin - fix3
orliac May 17, 2022
2d799fe
SF's PR integration - 04
orliac May 17, 2022
1d04ba0
SF's PR integration - 04 fix LD_LIBRARY_PATH
orliac May 17, 2022
a22ff2e
SF's PR integration - 04 fix *finufft _DIR -> _ROOT
orliac May 17, 2022
f305d2f
SF's PR integration - 05 install finufft + cufinufft (missing under c…
orliac May 17, 2022
9892661
SF's PR integration - 06 fixing jenkins/lofar_bootes_nufft_small_fov.py
orliac May 17, 2022
8465ab6
SF's PR integration - 06 fixing jenkins/lofar_bootes_nufft_small_fov.…
orliac May 17, 2022
b18bcd6
SF's PR integration - 06 fixing jenkins/lofar_bootes_nufft_small_fov.…
orliac May 17, 2022
d35bd41
SF's PR integration - 06 fixing jenkins/lofar_bootes_nufft_small_fov.…
orliac May 17, 2022
e2509a6
Fix lofar_bootes_nufft3 in jenkins
AdhocMan May 18, 2022
a359b19
Merge pull request #29 from AdhocMan/fix_nufft_split
orliac May 18, 2022
1c62ce9
Use PYBIND11 for python interface
AdhocMan May 17, 2022
6a8dcda
add general cmake options to setup.py
AdhocMan May 19, 2022
ba7b26f
Installing Ninja & bb
orliac May 19, 2022
e127617
Merge pull request #32 from AdhocMan/pybind_rebased
orliac May 19, 2022
bc97934
Need to reinstall bb
orliac May 19, 2022
5ca4a04
Merge branch 'ci-dev' into ci-master following PR#32 from SF
orliac May 20, 2022
484ae45
Disabling install of (already installed) Ninja
orliac May 20, 2022
47f9009
Fix typo in filename src/intensitiy_field_data.cpp
orliac Mar 28, 2022
423c53a
C++ SS (CPU part)
orliac Mar 29, 2022
eb59da4
Make bluebild module available in build directory
AdhocMan May 31, 2022
6c191f0
Merge pull request #33 from AdhocMan/build_module
orliac May 31, 2022
3497f0c
fix cmake args in setup.py
AdhocMan May 31, 2022
5b7e1cd
Merge pull request #34 from AdhocMan/build_module
orliac May 31, 2022
e3b645c
Make bluebild module available in build directory
AdhocMan May 31, 2022
b0af989
fix cmake args in setup.py
AdhocMan May 31, 2022
9963988
C++ SS (CPU part) cleanup
orliac Jun 2, 2022
6545d9c
C++ SS (GPU part)
orliac Jun 10, 2022
8596cd0
PR#36 SF's review: removing use of nvtx in core parts of the code
orliac Jun 10, 2022
c88ccfc
PR#36 SF's review: not using env cmake_build_type anymore, now passin…
orliac Jun 10, 2022
74756e8
PR#36 SF's review: BLUEBILD_BUILD_TESTS set back to OFF
orliac Jun 10, 2022
fe2ed10
PR#36 SF's review: removing src/bluebild/src/bluebild_export.h from b…
orliac Jun 10, 2022
1d0a455
PR#36 SF's review: OpenMP section moved to project level cmakelist an…
orliac Jun 10, 2022
6ab8a7c
PR#36 SF's review: Making internal functions static in standard_synth…
orliac Jun 10, 2022
b63577f
PR#36 SF's review: Fixing indentation in src/standard_synthesizer.cpp
orliac Jun 10, 2022
f63ea0f
PR#36 SF's review: Adding FindMarla.cmake module
orliac Jun 10, 2022
e12f0b0
PR#36 SF's review: type restriction + int -> size_t for array sizes i…
orliac Jun 10, 2022
4ee22a2
PR#36 SF's review: Adding check on inputs' dimensions when calling st…
orliac Jun 13, 2022
6f126f8
Cleaning up test script bluebild_cpp_comp_n_run.sh
orliac Jun 13, 2022
72b2db8
PR#36 SF's review: Throwing a not NotImplementedError when trying to …
orliac Jun 13, 2022
391e6f9
Merge branch 'eo_ss-cpp2' into eo_ss_cuda
orliac Jun 13, 2022
ef66651
Initial CUDA C++ SS
orliac Jun 15, 2022
867021c
Modified some buffer allocations to fix issue the SS was facing with …
orliac Jul 21, 2022
1efd3c5
small changes
Jul 26, 2022
0c8fb01
Addressing Simon's comments on PR#37
orliac Jul 21, 2022
c4df231
Merge pull request #37 from epfl-radio-astro/eo_ss_cuda
orliac Sep 12, 2022
fa72e1c
Fixing wrong reference to grid in function as_image when ctx active
orliac Sep 13, 2022
e2e7e65
Merge pull request #38 from epfl-radio-astro/eo_ss_cuda
orliac Sep 13, 2022
b04aa33
add umpire support
AdhocMan Aug 4, 2022
51bb188
Jenkins refactoring + Conda -> VENV
orliac Sep 13, 2022
2092d4b
PR41 review: fixing build type customization
orliac Sep 29, 2022
f546012
some changes related to weighting
Sep 29, 2022
387db09
Removing useless directory /tests
orliac Sep 29, 2022
f13c1fe
Jenkins refactoring + Conda -> VENV (#41)
orliac Sep 29, 2022
586ebf9
Merge pull request #40 from AdhocMan/umpire
orliac Sep 30, 2022
efa9aa1
Merge branch 'ci-dev' into ci-tmp01
orliac Sep 30, 2022
6c56a03
Umpire: small fixes (+ initial tests)
orliac Oct 12, 2022
a93c45c
added some comments
Oct 12, 2022
29e460f
added uvw reader from MS file
Oct 12, 2022
47e0193
intermediate changes
Oct 12, 2022
49106a4
work
Oct 12, 2022
46f94a9
refactoring
Oct 12, 2022
11bb786
NUFFT change
Oct 12, 2022
107cfba
change
Oct 13, 2022
8bf5e86
added SKA-Low measurement set
Oct 14, 2022
cb80ac4
merged ci-master into dev_cscs
Oct 14, 2022
987ffbc
Jenkins: Python venv from GCC9.3.0 stack + adjustment of Umpire insta…
orliac Oct 12, 2022
16d0274
Merge pull request #42 from epfl-radio-astro/ci-tmp01
orliac Oct 24, 2022
938eb0a
Jenkins: cleaning and reactivating documentation building
orliac Oct 25, 2022
f07f4c4
Merge pull request #43 from epfl-radio-astro/ci-tmp01
orliac Oct 25, 2022
de0ba4d
Removing a useless function
orliac Oct 26, 2022
d18e046
Merge pull request #44 from epfl-radio-astro/ci-tmp01
orliac Oct 26, 2022
8f96ecd
Merge pull request #45 from epfl-radio-astro/ci-dev
orliac Oct 26, 2022
1a65e2d
PR #46: addressing Emma's comment
orliac Nov 21, 2022
919c0a8
jenkins: fixing requirements sklearn -> scikit-learn
orliac Nov 21, 2022
5dc43a9
changes to the ms script
Dec 13, 2022
e754ca5
Merge branch 'ci-master' of https://github.com/etolley/pypeline into …
Dec 13, 2022
611590e
Merge branch 'ci-master' into dev_cscs
Dec 23, 2022
ecae74f
added script to calculate psf
Dec 23, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
# Author : Sepand KASHANI [[email protected]]
# #############################################################################

*.png
*.fits

### VsCode Settings ===========================================================
settings.json

Expand Down Expand Up @@ -51,3 +54,5 @@ doc/build/

### C/C++ template ============================================================
*.so
*.o
*.optrpt
276 changes: 276 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,276 @@
def AGENT_LABEL = "izar-ska"
def QOS = "gpu_free"

pipeline {

agent {
label "${AGENT_LABEL}"
}

environment {
//UTC_TAG = "${sh(script:'date -u +"%Y-%m-%dT%H-%M-%SZ"', returnStdout: true).trim()}"
UTC_TAG = "${sh(script:'module load git; TZ=UTC0 git show -s --quiet --date=format-local:\'%Y-%m-%dT%H-%M-%SZ\' | grep Date | sed -E -e \'s/Date:\\s+//\'', returnStdout: true).trim()}"
WORK_DIR = "/work/backup/ska/ci-jenkins/${AGENT_LABEL}"
REF_DIR = "/work/backup/ska/ci-jenkins/references"
OUT_DIR = "${env.WORK_DIR}/${env.GIT_BRANCH}/${env.UTC_TAG}_${env.BUILD_ID}"

// Set to "1" to run corresponding profiling
//
PROFILE_CPROFILE = "0"
PROFILE_NSIGHT = "0"
PROFILE_VTUNE = "0"
PROFILE_ADVISOR = "0" // can be very time-consuming

// To compile C++ port of bluebild
//
NINJA_ROOT = "${env.WORKSPACE}/ninja"
PATH = "${env.PATH}:${env.NINJA_ROOT}"
FINUFFT_ROOT = "${env.WORKSPACE}/finufft"
CUFINUFFT_ROOT = "${env.WORKSPACE}/cufinufft"
BB_SH_LIB = "${env.WORKSPACE}/jenkins/bluebild.sh"
LD_LIBRARY_PATH = "${env.LD_LIBRARY_PATH}:${env.FINUFFT_ROOT}/lib:${env.CUFINUFFT_ROOT}/lib"
}

stages {

stage('Management') {
steps {
// Run the data management script: all actions on /work/backup/ska/ci-jenkins should
// be handled through this script
sh 'sh ./jenkins/data_management.sh'
}
}


stage('Build') {
environment {
OMP_NUM_THREADS = "1"
TEST_DIR = "${env.OUT_DIR}/install"
}
steps {
//slackSend color: 'good', message:"Build Started - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)"
sh "mkdir -pv ${env.TEST_DIR}"

//EO: with --full it deletes and rebuild all dependencies
sh "srun --partition debug --time 00-01:00:00 --qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out ./jenkins/slurm_install.sh --full"

sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}


stage('Doc') {
environment {
DOC_DIR = "${env.OUT_DIR}/doc"
}
steps {
sh "mkdir -pv ${env.DOC_DIR}"
sh "sh ./jenkins/build_documentation.sh ${BB_SH_LIB}"
}
}


/*
LOFAR BOOTES NUFFT3
*/

stage('lofar_bootes_nufft3_cpu_64') {
environment {
TEST_DIR = "${env.OUT_DIR}/lofar_bootes_nufft3_cpu_64"
CUPY_PYFFS = "0"
SLURM_OPTS = "--qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out"
COMMAND = "${BB_SH_LIB} ${env.WORKSPACE}/jenkins/new_lofar_bootes_nufft3.py \
--processing_unit none --precision double --outdir ${env.TEST_DIR}"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
script {
JOBID = sh (
script: "sbatch --wait --parsable --partition build --time 00-00:15:00 \
${SLURM_OPTS} ./jenkins/slurm_timing ${COMMAND}",
returnStdout: true
).trim()
sh "seff ${JOBID} >> ${env.TEST_DIR}/slurm-${JOBID}.out"
}
sh "srun --partition debug --time 00-00:30:00 \
${SLURM_OPTS} ./jenkins/slurm_profiling ${COMMAND}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}


stage('lofar_bootes_nufft3_cpp_cpu_64') {
environment {
TEST_DIR = "${env.OUT_DIR}/lofar_bootes_nufft3_cpp_cpu_64"
CUPY_PYFFS = "0"
SLURM_OPTS = "--qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out"
COMMAND = "${BB_SH_LIB} ${env.WORKSPACE}/jenkins/new_lofar_bootes_nufft3.py \
--processing_unit cpu --precision double --outdir ${env.TEST_DIR}"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
script {
JOBID = sh (
script: "sbatch --wait --parsable --partition build --time 00-00:15:00 \
${SLURM_OPTS} ./jenkins/slurm_timing ${COMMAND}",
returnStdout: true
).trim()
sh "seff ${JOBID} >> ${env.TEST_DIR}/slurm-${JOBID}.out"
}
sh "srun --partition debug --time 00-00:30:00 \
${SLURM_OPTS} ./jenkins/slurm_profiling ${COMMAND}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}


stage('lofar_bootes_nufft3_cpp_gpu_64') {
environment {
TEST_DIR = "${env.OUT_DIR}/lofar_bootes_nufft3_cpp_gpu_64"
CUPY_PYFFS = "0"
SLURM_OPTS = "--qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out"
COMMAND = "${BB_SH_LIB} ${env.WORKSPACE}/jenkins/new_lofar_bootes_nufft3.py \
--processing_unit gpu --precision double --outdir ${env.TEST_DIR}"
PROFILE_NSIGHT = "0"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
script {
JOBID = sh (
script: "sbatch --wait --parsable --partition build --time 00-00:15:00 \
${SLURM_OPTS} ./jenkins/slurm_timing ${COMMAND}",
returnStdout: true
).trim()
sh "seff ${JOBID} >> ${env.TEST_DIR}/slurm-${JOBID}.out"
}
sh "srun --partition debug --time 00-00:30:00 \
${SLURM_OPTS} ./jenkins/slurm_profiling ${COMMAND}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}


/*
LOFAR BOOTES SS
*/

stage('lofar_bootes_ss_cpu_64') {
environment {
TEST_DIR = "${env.OUT_DIR}/lofar_bootes_ss_cpu_64"
CUPY_PYFFS = "0"
SLURM_OPTS = "--qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out"
COMMAND = "${BB_SH_LIB} ${env.WORKSPACE}/jenkins/new_lofar_bootes_ss.py \
--processing_unit none --precision double --outdir ${env.TEST_DIR}"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
script {
JOBID = sh (
script: "sbatch --wait --parsable --partition build --time 00-00:15:00 \
${SLURM_OPTS} ./jenkins/slurm_timing ${COMMAND}",
returnStdout: true
).trim()
sh "seff ${JOBID} >> ${env.TEST_DIR}/slurm-${JOBID}.out"
}
sh "srun --partition debug --time 00-00:30:00 \
${SLURM_OPTS} ./jenkins/slurm_profiling ${COMMAND}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}

stage('lofar_bootes_ss_cpp_cpu_64') {
environment {
TEST_DIR = "${env.OUT_DIR}/lofar_bootes_ss_cpp_cpu_64"
CUPY_PYFFS = "0"
SLURM_OPTS = "--qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out"
COMMAND = "${BB_SH_LIB} ${env.WORKSPACE}/jenkins/new_lofar_bootes_ss.py \
--processing_unit cpu --precision double --outdir ${env.TEST_DIR}"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
script {
JOBID = sh (
script: "sbatch --wait --parsable --partition build --time 00-00:15:00 \
${SLURM_OPTS} ./jenkins/slurm_timing ${COMMAND}",
returnStdout: true
).trim()
sh "seff ${JOBID} >> ${env.TEST_DIR}/slurm-${JOBID}.out"
}
sh "srun --partition debug --time 00-00:30:00 \
${SLURM_OPTS} ./jenkins/slurm_profiling ${COMMAND}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}


stage('lofar_bootes_ss_cpp_gpu_64') {
environment {
TEST_DIR = "${env.OUT_DIR}/lofar_bootes_ss_cpp_gpu_64"
CUPY_PYFFS = "0"
SLURM_OPTS = "--qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 20 -o ${env.TEST_DIR}/slurm-%j.out"
COMMAND = "${BB_SH_LIB} ${env.WORKSPACE}/jenkins/new_lofar_bootes_ss.py \
--processing_unit gpu --precision double --outdir ${env.TEST_DIR}"
PROFILE_NSIGHT = "0"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
script {
JOBID = sh (
script: "sbatch --wait --parsable --partition build --time 00-00:15:00 \
${SLURM_OPTS} ./jenkins/slurm_timing ${COMMAND}",
returnStdout: true
).trim()
sh "seff ${JOBID} >> ${env.TEST_DIR}/slurm-${JOBID}.out"
}
sh "srun --partition debug --time 00-00:30:00 \
${SLURM_OPTS} ./jenkins/slurm_profiling ${COMMAND}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
}
}


stage('Monitoring') {
environment {
TEST_DIR = "${env.OUT_DIR}/monitoring"
TEST_FSTAT_RT = "${env.OUT_DIR}/monitoring/stats_rt.txt"
TEST_FSTAT_IMG = "${env.OUT_DIR}/monitoring/stats_img.txt"
TEST_IGNORE_UPTO = "0"
}
steps {
sh "mkdir -pv ${env.TEST_DIR}"
sh "srun --partition build --time 00-00:15:00 --qos ${QOS} --gres gpu:1 --mem 40G --cpus-per-task 1 \
-o ${env.TEST_DIR}/slurm-%j.out ./jenkins/slurm_monitoring.sh ${BB_SH_LIB}"
sh "cat ${env.TEST_DIR}/slurm-*.out"
sh "cat ${env.TEST_FSTAT_RT}"
script {
def data = readFile("${env.TEST_FSTAT_RT}")
if (data.contains("_WARNING_")) {
println("_WARNING_ found\n");
slackSend color:'warning', message:"_WARNING(s)_ detected in run times statistics!\n${data}\n${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)"
} else {
println("_WARNING_ NOT found...\n");
}
}
sh "cat ${env.TEST_FSTAT_IMG}"
script {
def data = readFile("${env.TEST_FSTAT_IMG}")
if (data.contains("_WARNING_")) {
println("_WARNING_ found\n");
slackSend color:'warning', message:"_WARNING(s)_ detected in image statistics!\n${data}\n${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)"
} else {
println("_WARNING_ NOT found...\n");
}
}
}
}
}

post {
success {
slackSend color:'good', message:"Build succeeded - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)"
}
failure {
slackSend color:'danger', message:"Build failed - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)"
}
}
}
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
recursive-include pypeline/data *
Loading