-
Notifications
You must be signed in to change notification settings - Fork 1
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
Specifying Julia executable/args via RuntimeEnv #116
Conversation
I will validate that #100 is actually addressed locally tomorrow. I did do a test to ensure that |
Codecov Report
@@ Coverage Diff @@
## main #116 +/- ##
===========================================
+ Coverage 74.63% 95.26% +20.63%
===========================================
Files 8 8
Lines 406 380 -26
===========================================
+ Hits 303 362 +59
+ Misses 103 18 -85
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 2 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Things for tomorrow:
|
Distributed.jl does allow end users to specify the path to the Julia executable. In Ray.jl specifying the Julia executable path would only really allow for having the driver and worker Julia paths to differ but all workers would need to be the same. Possibly specifying a Ray task with resource requirements could allow further heterogeneity. I'll punt on allowing user specified values for now here but it's an easy future addition if we need it later.
In evaluating the original ray-2.5.1 code the only two parameters that are user definable are Our update to
Any flags that
I decided this was a good idea.
@kleinschmidt brought up that the same
It works! Each coverage file includes the PID in the file name. This means our workers and driver coverage files aren't clobbering each other.
Done |
code = "using $(@__MODULE__); start_worker()" | ||
cmd = `$(Base.julia_cmd()) -e $code` | ||
|
||
# The keys of `context` must match what is supported by the Python `RuntimeEnvContext`: | ||
# https://github.com/ray-project/ray/blob/ray-2.5.1/python/ray/_private/runtime_env/context.py#L20-L45 | ||
context = Dict("env_vars" => env_vars) | ||
context = Dict("julia_command" => cmd.exec, "env_vars" => env_vars) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just to make sure I understand: this works to enable coverage because Base.julia_cmd()
includes all the flags that were used to call the current process?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your understanding is correct
Depends on: beacon-biosignals/ray#8
Closes: #103, #100
TODO: