Skip to content

Instantly share code, notes, and snippets.

@d3v-null
Created April 29, 2022 07:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save d3v-null/11cc7c87e92f3e1261b56414bb4bd2a5 to your computer and use it in GitHub Desktop.
Save d3v-null/11cc7c87e92f3e1261b56414bb4bd2a5 to your computer and use it in GitHub Desktop.
# Benchmark details:
# test was done to/from /tmp mounted in memory to remove disk io variability
# - observation: 46GiB, 214-timestep, 768-channel, 128-tile, 0.5s / 40kHz
# - virtual machine: 64 cores, 256GB of memory, Nimbus.
# - corrections: cable delays, digital gains, pfb passband, geometric delays,
# 8x time averaging, 4x frequency averaging, aoflagger disabled because not support
# - software versions:
# - Birli 0.6.3
# - Cotter 4.6
# - Pyuvdata 2.2.8 on Python 3.8.10
# remove the output file before each test
test -d /tmp/deleteme.ms && rm -rf /tmp/deleteme.ms
# test cotter
/usr/bin/time cotter \
-o /tmp/deleteme.ms \
-allowmissing \
-noantennapruning \
-noflagautos \
-nostats \
-norfi \
-timeres 4 -freqres 160 \
-m ${obsid}.metafits ${obsid}_??????????????_*.fits
test -d /tmp/deleteme.ms && rm -rf /tmp/deleteme.ms
# test Birli
/usr/bin/time birli \
-M /tmp/deleteme.ms \
--avg-time-res 4 --avg-freq-res 160 \
--no-rfi \
-m ${obsid}.metafits ${obsid}_??????????????_*.fits
test -d /tmp/deleteme.ms && rm -rf /tmp/deleteme.ms
# test PyUVData
/usr/bin/time python3 <(cat <<EoF
UV = __import__('pyuvdata').UVData()
UV.read_mwa_corr_fits(
__import__('sys').argv[1:],
remove_flagged_ants=False
)
UV.downsample_in_time(8)
UV.frequency_average(4)
UV.write_ms("/tmp/deleteme.ms", force_phase=True)
EoF
) ${obsid}.metafits ${obsid}_??????????????_*.fits
# Cotter Results:
# Wall-clock time in reading: 00:00:45.970790 processing: 00:00:04.184663 writing: 00:03:59.476425
# 831.52user 62.94system 4:56.75elapsed 301%CPU (0avgtext+0avgdata 47260468maxresident)k
# 87424inputs+0outputs (273major+11810753minor)pagefaults 0swaps
# Birli Results:
# [2022-04-29T05:31:24Z INFO birli] correct_cable duration: 6.596392514s
# [2022-04-29T05:31:24Z INFO birli] correct_digital duration: 6.575174678s
# [2022-04-29T05:31:24Z INFO birli] correct_geom duration: 2.451635771s
# [2022-04-29T05:31:24Z INFO birli] write duration: 61.793244952s
# [2022-04-29T05:31:24Z INFO birli] init duration: 713.070963ms
# [2022-04-29T05:31:24Z INFO birli] read duration: 12.583521982s
# [2022-04-29T05:31:24Z INFO birli] correct_passband duration: 8.983861907s
# [2022-04-29T05:31:24Z INFO birli] total duration: 99.696902767s
# [2022-04-29T05:31:24Z TRACE birli] end main
# 1118.80user 148.48system 1:58.42elapsed 1070%CPU (0avgtext+0avgdata 49476168maxresident)k
# 0inputs+0outputs (0major+12413283minor)pagefaults 0swaps
# PyUVData Results:
# 890.12user 125.63system 16:41.87elapsed 101%CPU (0avgtext+0avgdata 122348384maxresident)k
# 4464inputs+0outputs (20major+52896342minor)pagefaults 0swaps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment