Closed jaycedowell closed 4 years ago
I think that only touches the LSL stuff.
I did a couple quick validation tests. Using master and this branch, I ran:
python LWA_bifrost.py --offline --tbnfile=/data5/LWA_SV_data/data_raw/TBN/Jupiter/058161_000086727 --imagesize 64 --imageres 1.79057 --nts 512 --channels 4 --accumulate 50 --ints_per_file 40
Which resulted in images that look like this: (which is which doesn't matter because the images are pixel-by-pixel identical)
I also ran:
python LWA_bifrost_DFT.py --offline --tbnfile=/data5/LWA_SV_data/data_raw/TBN/Jupiter/058161_000086727 --imagesize 64 --imageres 1.79057 --nts 512 --channels 4 --accumulate 50 --ints_per_file 40
which also resulted in identical images.
So I'm happy.
This will be a breaking change -- Anyone using master (or merges master into their own branch) will need to update LSL. I think @HaraKrish is the main user right now. Are you good with this Hari?
I have already used them and verified that the output images are correct, no issues. However, I noticed when we set the flag "--profile" to display the timing. The times are atleast 50 % higher than what we get with the earlier version. I'm not sure if it will have any effect on pipeline performance . But just wanted to make a note of it.
Hmm, that does sound worrisome. Does --profile give more of a breakdown so we can try to narrow down what causes the increased time?
No it does not give a break-up but the flag "--profile" is for timing specific CPU parts of the pipeline using the CPU clock. I will make a quantitative comparison with exact numbers wherever we display the times before getting on further with this. Just to clarify, this is independent of the GPU part of the code which is unaffected.
I wouldn't think that the LSL API change would matter for the timing. The LSL related code is only hit once per sequence when the delays/phases are updated.
It seems Hari's benchmarking is a bit funny, and probably due to some running problems (see slack conversation from today). I was able to benchmark and saw no significant difference between the branches.
Support for the LSL v2.0 API.