Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge working branch #139

Closed
wants to merge 375 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
375 commits
Select commit Hold shift + click to select a range
3aa45b3
* fix dtypes
Joshuaalbert Nov 6, 2024
7036ac1
*rewrite with model evaluated inside predict. #73
Joshuaalbert Nov 6, 2024
c89384a
* faceted fits predictor
Joshuaalbert Nov 7, 2024
ea1d046
* pure callback threading
Joshuaalbert Nov 7, 2024
fd9dd44
* feed shaped blocks [T,B] insteads of [rows]
Joshuaalbert Nov 7, 2024
a3c4b40
* fix MS
Joshuaalbert Nov 7, 2024
4fb3094
* update jax req
Joshuaalbert Nov 7, 2024
4703329
* sync
Joshuaalbert Nov 7, 2024
4568e85
* Add cropping of FITS
Joshuaalbert Nov 7, 2024
44feff1
* All source models demoed
Joshuaalbert Nov 7, 2024
10e1dd8
* Add predict step
Joshuaalbert Nov 7, 2024
1d489d2
update
Joshuaalbert Nov 7, 2024
19fcd2e
pad uneven facets
Joshuaalbert Nov 7, 2024
5886d69
update
Joshuaalbert Nov 7, 2024
3910306
update
Joshuaalbert Nov 7, 2024
9da8ffd
update
Joshuaalbert Nov 7, 2024
867fc6f
Auto-select nthreads
Joshuaalbert Nov 7, 2024
6c1afab
update
Joshuaalbert Nov 8, 2024
8815518
logging
Joshuaalbert Nov 8, 2024
7f4f7da
logging
Joshuaalbert Nov 8, 2024
d4e4ae6
convert to np
Joshuaalbert Nov 8, 2024
aaa7ba6
debug
Joshuaalbert Nov 8, 2024
c383bfb
debug
Joshuaalbert Nov 8, 2024
004f00f
try to jit init
Joshuaalbert Nov 10, 2024
0b18d32
* DD cal script for LWA initial version
Joshuaalbert Nov 12, 2024
1e4daec
* Change ordering
Joshuaalbert Nov 12, 2024
645d17a
* Clean up calibration folder
Joshuaalbert Nov 12, 2024
440b9e0
* Clean up forward model folder
Joshuaalbert Nov 13, 2024
95af7a6
* mostly update RFI model
Joshuaalbert Nov 13, 2024
742b259
* docker multi-host flow
Joshuaalbert Nov 13, 2024
3d48bd9
* ray launch process
Joshuaalbert Nov 13, 2024
6f3aefe
* build in entry
Joshuaalbert Nov 13, 2024
237a2a8
* Try eval_shape for init
Joshuaalbert Nov 13, 2024
288b7eb
* update
Joshuaalbert Nov 13, 2024
63bcc6a
* update
Joshuaalbert Nov 13, 2024
b4b5848
* make local script
Joshuaalbert Nov 13, 2024
56bc78e
* make local demo script
Joshuaalbert Nov 13, 2024
dcfa3ca
* Make sure only jax compatible ops used in context init. Caught leak…
Joshuaalbert Nov 13, 2024
85d95d3
* Catch rouge np on jnp
Joshuaalbert Nov 13, 2024
59d2b6d
update
Joshuaalbert Nov 13, 2024
313a410
update
Joshuaalbert Nov 13, 2024
de4868b
update
Joshuaalbert Nov 13, 2024
1bb0e8b
update
Joshuaalbert Nov 13, 2024
dbfffe7
update
Joshuaalbert Nov 13, 2024
e66c7b2
add GC
Joshuaalbert Nov 13, 2024
4f6a8d0
update
Joshuaalbert Nov 13, 2024
e0ed444
update
Joshuaalbert Nov 13, 2024
2d7a772
update
Joshuaalbert Nov 13, 2024
288937e
update
Joshuaalbert Nov 13, 2024
47e2a3a
turn off compilation
Joshuaalbert Nov 13, 2024
bb912cc
* do #127
Joshuaalbert Nov 14, 2024
375790d
update
Joshuaalbert Nov 14, 2024
a915aaf
update
Joshuaalbert Nov 14, 2024
76c4596
update
Joshuaalbert Nov 14, 2024
3844170
update
Joshuaalbert Nov 14, 2024
b57d24b
update
Joshuaalbert Nov 14, 2024
7f41814
update
Joshuaalbert Nov 14, 2024
65eb251
update
Joshuaalbert Nov 14, 2024
e050c98
Use expand dims
Joshuaalbert Nov 14, 2024
1b37901
update
Joshuaalbert Nov 14, 2024
f4f6243
update
Joshuaalbert Nov 14, 2024
0190057
refactor
Joshuaalbert Nov 15, 2024
a7de689
Add reduces
Joshuaalbert Nov 17, 2024
854b5a0
* super close
Joshuaalbert Nov 17, 2024
4a565a1
* ready for tsting
Joshuaalbert Nov 18, 2024
6cb9a36
* ready for tsting
Joshuaalbert Nov 18, 2024
aa932d9
* update
Joshuaalbert Nov 18, 2024
14f413a
* update
Joshuaalbert Nov 18, 2024
b74b17a
* update
Joshuaalbert Nov 18, 2024
193fd7d
* update
Joshuaalbert Nov 18, 2024
126d422
* update
Joshuaalbert Nov 18, 2024
9e4c816
* update
Joshuaalbert Nov 18, 2024
3d37e3d
* update
Joshuaalbert Nov 18, 2024
b911773
* update
Joshuaalbert Nov 18, 2024
ccb4be7
* update
Joshuaalbert Nov 18, 2024
0953bcf
* update
Joshuaalbert Nov 18, 2024
5712c51
* update
Joshuaalbert Nov 18, 2024
166820f
* update
Joshuaalbert Nov 18, 2024
5371943
* update
Joshuaalbert Nov 18, 2024
83a78c7
* update
Joshuaalbert Nov 18, 2024
a8d4d2b
* update
Joshuaalbert Nov 18, 2024
4ec0bef
* update
Joshuaalbert Nov 18, 2024
6b90af6
* update
Joshuaalbert Nov 18, 2024
cac95de
* update
Joshuaalbert Nov 18, 2024
593bbbf
* update
Joshuaalbert Nov 18, 2024
cd0d54e
* update
Joshuaalbert Nov 18, 2024
35ade4e
* update
Joshuaalbert Nov 18, 2024
e841ad1
* update
Joshuaalbert Nov 18, 2024
9de674e
* update
Joshuaalbert Nov 18, 2024
d548d32
* update
Joshuaalbert Nov 18, 2024
e113eb2
* update
Joshuaalbert Nov 18, 2024
2851187
* update
Joshuaalbert Nov 18, 2024
6b75309
* update
Joshuaalbert Nov 18, 2024
c46f603
* update
Joshuaalbert Nov 18, 2024
1b9bc45
* update
Joshuaalbert Nov 18, 2024
93741b8
* update
Joshuaalbert Nov 18, 2024
9f3335f
* update
Joshuaalbert Nov 18, 2024
ee7ee3a
* update
Joshuaalbert Nov 18, 2024
b93a781
* update
Joshuaalbert Nov 18, 2024
186630b
* update
Joshuaalbert Nov 18, 2024
d3f126f
* update
Joshuaalbert Nov 18, 2024
f9a1d0e
* update
Joshuaalbert Nov 18, 2024
2ac033d
* update
Joshuaalbert Nov 18, 2024
e9021c5
* update
Joshuaalbert Nov 18, 2024
b0c89f3
* update
Joshuaalbert Nov 18, 2024
71456c1
* update
Joshuaalbert Nov 18, 2024
e705c17
* update
Joshuaalbert Nov 18, 2024
81d8ded
* update
Joshuaalbert Nov 18, 2024
9055f58
* update
Joshuaalbert Nov 18, 2024
5e24dd6
* update
Joshuaalbert Nov 18, 2024
3dfc701
* update
Joshuaalbert Nov 18, 2024
82d5675
* update
Joshuaalbert Nov 18, 2024
da6026b
* update
Joshuaalbert Nov 18, 2024
8c8d129
* update
Joshuaalbert Nov 18, 2024
9fe9a8d
* update
Joshuaalbert Nov 18, 2024
adbd012
* update
Joshuaalbert Nov 18, 2024
494cb25
* update
Joshuaalbert Nov 18, 2024
346d4d5
* update
Joshuaalbert Nov 18, 2024
be5e78a
* update
Joshuaalbert Nov 18, 2024
e8776ee
* update
Joshuaalbert Nov 19, 2024
ed97d0a
* update
Joshuaalbert Nov 19, 2024
881ddb6
* update
Joshuaalbert Nov 19, 2024
2110a58
* update
Joshuaalbert Nov 19, 2024
e3b4661
* update
Joshuaalbert Nov 19, 2024
2af4030
* update
Joshuaalbert Nov 19, 2024
3046973
* update
Joshuaalbert Nov 19, 2024
7c999f3
* update
Joshuaalbert Nov 19, 2024
417ba1e
* update
Joshuaalbert Nov 19, 2024
9e1c42d
* update
Joshuaalbert Nov 19, 2024
3a95edb
* update
Joshuaalbert Nov 19, 2024
1d81725
* update
Joshuaalbert Nov 19, 2024
f972ec2
* update
Joshuaalbert Nov 19, 2024
facaa7c
* update
Joshuaalbert Nov 19, 2024
898bef7
* update
Joshuaalbert Nov 19, 2024
b37bef5
* update
Joshuaalbert Nov 19, 2024
509875e
* update
Joshuaalbert Nov 19, 2024
b8607df
* update
Joshuaalbert Nov 19, 2024
8b48dd2
* update
Joshuaalbert Nov 19, 2024
6e310b9
* update
Joshuaalbert Nov 19, 2024
f4a2bca
* update
Joshuaalbert Nov 19, 2024
4cdaac5
lwa cal script
Joshuaalbert Nov 19, 2024
b43e219
update sfm
Joshuaalbert Nov 19, 2024
5eeda19
update
Joshuaalbert Nov 19, 2024
5c98150
update
Joshuaalbert Nov 19, 2024
9c59f35
update
Joshuaalbert Nov 19, 2024
c51b0ac
update
Joshuaalbert Nov 19, 2024
88f8162
update
Joshuaalbert Nov 19, 2024
9ac5ecb
update
Joshuaalbert Nov 19, 2024
252e446
update
Joshuaalbert Nov 19, 2024
d0c01b6
update
Joshuaalbert Nov 19, 2024
3cbbd93
update
Joshuaalbert Nov 19, 2024
086de44
update
Joshuaalbert Nov 19, 2024
1e33750
update
Joshuaalbert Nov 19, 2024
7385fd0
update
Joshuaalbert Nov 19, 2024
028a3c5
update
Joshuaalbert Nov 19, 2024
e2eec27
update
Joshuaalbert Nov 19, 2024
2e3db1a
update
Joshuaalbert Nov 20, 2024
c7b0e80
update
Joshuaalbert Nov 20, 2024
8447e10
update
Joshuaalbert Nov 20, 2024
1caf55e
update
Joshuaalbert Nov 20, 2024
30e2eea
update
Joshuaalbert Nov 20, 2024
1d507da
update
Joshuaalbert Nov 20, 2024
6d921fe
update
Joshuaalbert Nov 20, 2024
619566d
update
Joshuaalbert Nov 25, 2024
979028b
Merge branch 'vivianas-working-branch' into joshs-working-branch
Joshuaalbert Nov 25, 2024
d59565d
merged branches
Joshuaalbert Nov 25, 2024
3ec33a1
merged branches
Joshuaalbert Nov 26, 2024
8ac9c61
update
Joshuaalbert Nov 26, 2024
9682d7f
update
Joshuaalbert Nov 26, 2024
c2f27fb
update
Joshuaalbert Nov 26, 2024
73e71b9
update
Joshuaalbert Nov 26, 2024
2f9ad2a
update
Joshuaalbert Nov 26, 2024
f53d1a1
update
Joshuaalbert Nov 27, 2024
6439476
update
Joshuaalbert Nov 27, 2024
41797e0
update
Joshuaalbert Nov 28, 2024
bce7cb9
update
Joshuaalbert Nov 28, 2024
4d3019c
update
Joshuaalbert Nov 28, 2024
e1e5db5
update
Joshuaalbert Nov 28, 2024
e0af8ca
update
Joshuaalbert Nov 28, 2024
9ebf6e4
update
Joshuaalbert Nov 28, 2024
b26b78c
update
Joshuaalbert Nov 28, 2024
e88900d
update
Joshuaalbert Nov 28, 2024
f2d4432
update
Joshuaalbert Nov 28, 2024
6201c75
update
Joshuaalbert Nov 29, 2024
afde134
update
Joshuaalbert Nov 29, 2024
28c283d
update
Joshuaalbert Nov 29, 2024
d30e5b3
update
Joshuaalbert Nov 29, 2024
b6de05f
update
Joshuaalbert Nov 29, 2024
d9d5945
update
Joshuaalbert Nov 29, 2024
a5a2758
update
Joshuaalbert Nov 29, 2024
3fdd2ac
update
Joshuaalbert Nov 29, 2024
fe349c9
update
Joshuaalbert Nov 29, 2024
aad60d6
update
Joshuaalbert Nov 29, 2024
5da924b
update
Joshuaalbert Nov 29, 2024
cadd0c6
update
Joshuaalbert Nov 29, 2024
6cc9db4
update
Joshuaalbert Dec 3, 2024
783beb0
update
Joshuaalbert Dec 3, 2024
4fd4048
update
Joshuaalbert Dec 3, 2024
16f25c1
update
Joshuaalbert Dec 3, 2024
7509313
update
Joshuaalbert Dec 3, 2024
ed2ae5c
update
Joshuaalbert Dec 3, 2024
76ac9e2
update
Joshuaalbert Dec 3, 2024
0cd5798
update
Joshuaalbert Dec 3, 2024
d1720e9
update
Joshuaalbert Dec 4, 2024
eadb329
update
Joshuaalbert Dec 4, 2024
54d33b1
update
Joshuaalbert Dec 4, 2024
544827e
update
Joshuaalbert Dec 4, 2024
0362eef
update
Joshuaalbert Dec 4, 2024
987fba3
update
Joshuaalbert Dec 4, 2024
064b432
update
Joshuaalbert Dec 4, 2024
ebadfca
update
Joshuaalbert Dec 4, 2024
dfc0d63
update
Joshuaalbert Dec 4, 2024
41dce27
update
Joshuaalbert Dec 4, 2024
f6456e4
update
Joshuaalbert Dec 4, 2024
1db88fc
update
Joshuaalbert Dec 4, 2024
951435d
update
Joshuaalbert Dec 4, 2024
e4f8b48
update
Joshuaalbert Dec 4, 2024
d6f967d
update
Joshuaalbert Dec 4, 2024
87d8958
update
Joshuaalbert Dec 4, 2024
9dffef0
update
Joshuaalbert Dec 4, 2024
69f7047
update
Joshuaalbert Dec 4, 2024
db9aabb
update
Joshuaalbert Dec 4, 2024
a359787
update
Joshuaalbert Dec 4, 2024
e1a2e51
update
Joshuaalbert Dec 4, 2024
9505eb6
update
Joshuaalbert Dec 4, 2024
4e60bed
update
Joshuaalbert Dec 4, 2024
9ad0609
update
Joshuaalbert Dec 4, 2024
840c440
update
Joshuaalbert Dec 4, 2024
ccfa08c
update
Joshuaalbert Dec 4, 2024
d095e55
update
Joshuaalbert Dec 4, 2024
42c900e
update
Joshuaalbert Dec 4, 2024
7113eaf
update
Joshuaalbert Dec 4, 2024
2c10b9f
update
Joshuaalbert Dec 4, 2024
2f3573e
update
Joshuaalbert Dec 4, 2024
dc360df
update
Joshuaalbert Dec 4, 2024
d1982f5
update
Joshuaalbert Dec 4, 2024
63d4f35
update
Joshuaalbert Dec 4, 2024
6a6c287
update
Joshuaalbert Dec 4, 2024
87a0b7f
update
Joshuaalbert Dec 4, 2024
5894638
update
Joshuaalbert Dec 4, 2024
291e7af
clean
Joshuaalbert Dec 5, 2024
bc52e46
clean
Joshuaalbert Dec 5, 2024
7a5e377
clean
Joshuaalbert Dec 5, 2024
85f8b36
clean
Joshuaalbert Dec 5, 2024
dc26339
clean
Joshuaalbert Dec 5, 2024
8a389a8
clean
Joshuaalbert Dec 5, 2024
75d1517
clean
Joshuaalbert Dec 5, 2024
9c51b95
clean
Joshuaalbert Dec 5, 2024
6a4e332
clean
Joshuaalbert Dec 5, 2024
0f8a1a4
clean
Joshuaalbert Dec 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/unittests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@ jobs:
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
JAX_ENABLE_X64=True pytest
SKIP_CONTENT_SYNC=1 JAX_ENABLE_X64=True pytest
116 changes: 116 additions & 0 deletions benchmarking/DFT_predict/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
import time

import astropy.coordinates as ac
import astropy.time as at
import astropy.units as au
import jax
import numpy as np
from tomographic_kernel.frames import ENU

from dsa2000_cal.common.quantity_utils import quantity_to_jnp, time_to_jnp
from dsa2000_cal.delay_models.base_far_field_delay_engine import build_far_field_delay_engine
from dsa2000_cal.delay_models.base_near_field_delay_engine import build_near_field_delay_engine
from dsa2000_cal.geodesics.base_geodesic_model import build_geodesic_model
from dsa2000_cal.visibility_model.source_models.celestial.base_point_source_model import build_point_source_model


def build_mock_obs_setup(ant: int, time: int, num_freqs: int):
array_location = ac.EarthLocation.of_site('vla')
ref_time = at.Time('2021-01-01T00:00:00', scale='utc')
obstimes = ref_time + np.arange(time) * au.s
phase_center = ENU(0, 0, 1, location=array_location, obstime=ref_time).transform_to(ac.ICRS())
freqs = np.linspace(700, 2000, num_freqs) * au.MHz

pointing = phase_center
antennas = ENU(
east=np.random.uniform(low=-10, high=10, size=ant) * au.km,
north=np.random.uniform(low=-10, high=10, size=ant) * au.km,
up=np.random.uniform(low=-10, high=10, size=ant) * au.m,
location=array_location,
obstime=ref_time
).transform_to(ac.ITRS(location=array_location, obstime=ref_time)).earth_location

geodesic_model = build_geodesic_model(
antennas=antennas,
array_location=array_location,
phase_center=phase_center,
obstimes=obstimes,
ref_time=ref_time,
pointings=pointing
)

far_field_delay_engine = build_far_field_delay_engine(
antennas=antennas,
phase_center=phase_center,
start_time=obstimes.min(),
end_time=obstimes.max(),
ref_time=ref_time
)

near_field_delay_engine = build_near_field_delay_engine(
antennas=antennas,
start_time=obstimes.min(),
end_time=obstimes.max(),
ref_time=ref_time
)

visibility_coords = far_field_delay_engine.compute_visibility_coords(
freqs=quantity_to_jnp(freqs),
times=time_to_jnp(obstimes, ref_time)
)
return phase_center, antennas, visibility_coords, geodesic_model, far_field_delay_engine, near_field_delay_engine


def main(num_directions: int, num_ant: int, num_times: int, num_channels: int, num_model_freqs: int):
model_freqs = np.linspace(0.7, 2, num_model_freqs) * au.GHz
ra = np.random.uniform(0, 2 * np.pi, num_directions) * au.rad
dec = np.random.uniform(-np.pi / 2, np.pi / 2, num_directions) * au.rad
A = np.ones((num_directions, num_model_freqs, 2, 2), dtype=np.float32) * au.Jy
point_source_model = build_point_source_model(
model_freqs=model_freqs,
ra=ra,
dec=dec,
A=A
)

phase_center, antennas, visibility_coords, geodesic_model, far_field_delay_engine, near_field_delay_engine = build_mock_obs_setup(
ant=num_ant,
time=num_times,
num_freqs=num_channels
)

def predict(visibility_coords,
near_field_delay_engine,
far_field_delay_engine,
geodesic_model):
return point_source_model.predict(
visibility_coords=visibility_coords,
gain_model=None,
near_field_delay_engine=near_field_delay_engine,
far_field_delay_engine=far_field_delay_engine,
geodesic_model=geodesic_model
)

predict_jit = jax.jit(predict).lower(visibility_coords,
near_field_delay_engine,
far_field_delay_engine,
geodesic_model).compile()

t0 = time.time()
jax.block_until_ready(predict_jit(visibility_coords,
near_field_delay_engine,
far_field_delay_engine,
geodesic_model,
))
t1 = time.time()
print(f"Execution time: {t1 - t0}")


if __name__ == '__main__':
main(
num_directions=1,
num_ant=2048,
num_times=4,
num_channels=40,
num_model_freqs=3
)
Loading
Loading