-
Notifications
You must be signed in to change notification settings - Fork 1
compatibility with dask cluster syntax and dask gateway #439
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
base: master
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #439 +/- ##
=======================================
Coverage 47.30% 47.31%
=======================================
Files 241 241
Lines 22404 22406 +2
=======================================
+ Hits 10598 10601 +3
+ Misses 11806 11805 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Hi Kostas! Thanks for the PR. We pin down I'm currently testing out some default workflows beyond the test suite locally on SOMA HPC. So far, eerything seems to be working just fine with the new |
|
Testing status on SOMA HPC:
|
|
Tragically, simulation runs don't work on newer dask. Workers die for unknown reasons, and I can't figure out why. The logs are unavailable (since the worker is no more), and reproducing locally works again. I'll investigate more tomorrow, but bumping up dask can't be merged yet :( |
|
Could you provide a minimal code to reproduce the error and consequently test the PR? I'd be happy to help in trying to debug whenever I have time. I am not sure if relevant, but I found before that ISF fails unless worker threads are set to 1. Sometimes dask clusters default to 2 and it breaks everything, so its probably some race condition. Also, the logs for the workers still exist, we just gotta looker harder haha. |
|
I mailed you a sample database with 5 trials to test on. MWE: import Interface as I
I.logger.setLevel("DEBUG")
db = I.DataBase("path/to/extracted_db")
sample_indices = db['sim_trial_index'] # there's just 5 in here
ds = I.simrun_rerun_db(
db=db,
outdir="reproduce_db_init_test",
stis=sample_indices,
) # returns delayed objects to compute with scheduler
client = I.get_client() # you will likely need to adapt this
r = c.gather(c.compute(ds)) |
Why
Changes
dask-gateway. This can be removed later, I just needed to know how to minimally bump several Dask‑adjacent pins so it installs cleanly. Kept changes conservative due to age of prior pins.I.get_client(cluster=None, ...)now accepts acluster. When given, it returnscluster.get_client(). IfclusterisNone, behavior is unchanged.pixi.lock).How to use (short)
Hot to use on ADA
Backwards compatibility
daskandflaskbreaks something . Existing flows that do not use clusters continue to work.