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

Make it compatible with Adapt 4 and Metal 1 #1008

Merged
merged 5 commits into from
Mar 1, 2024

Conversation

joelreymont
Copy link
Contributor

Prevent RL from downgrading Metal 1 on the Mac, enabling Lux to use the Mac GPU.

Project.toml Outdated Show resolved Hide resolved
@joelreymont
Copy link
Contributor Author

joelreymont commented Feb 29, 2024

Here's why I updated the umbrella package and undertook updating RL in the first place.

Lux was at 0.5.15 and Metal at 1.0 but the outdated umbrella package versions downgraded both Lux and Metal. More importantly, Lux does not use the GPU (Metal) on the Mac unless Metal is at 1.0.

Is there a way for me to use RL and my Mac GPU with Lux while keeping old RL sub-packages in the umbrella RL package?

What needs to be done to ship the umbrella RL with the latest packages?

(@v1.10) pkg> st
Status `~/.julia/environments/v1.10/Project.toml`
⌃ [b2108857] Lux v0.5.15
⌃ [dde4c033] Metal v0.5.0
  [158674fc] ReinforcementLearning v0.11.0-dev `~/Work/Julia/ReinforcementLearning.jl`
⌃ [02a925ec] cuDNN v1.1.1
Info Packages marked with ⌃ have new versions available and may be upgradable.

(@v1.10) pkg> add Metal@1
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Adapt [79e6a3ab]:
 Adapt [79e6a3ab] log:
 ├─possible versions are: 0.3.0-4.0.1 or uninstalled
 ├─restricted by compatibility requirements with Metal [dde4c033] to versions: 4.0.0-4.0.1
 │ └─Metal [dde4c033] log:
 │   ├─possible versions are: 0.0.1-1.0.0 or uninstalled
 │   └─restricted to versions 1 by an explicit requirement, leaving only versions: 1.0.0
 └─restricted by compatibility requirements with ReinforcementLearningCore [de1b191a] to versions: 3.0.0-3.7.2 — no versions left
   └─ReinforcementLearningCore [de1b191a] log:
     ├─possible versions are: 0.1.0-0.13.0 or uninstalled
     └─restricted to versions 0.9 by ReinforcementLearning [158674fc], leaving only versions: 0.9.0-0.9.4
       └─ReinforcementLearning [158674fc] log:
         ├─possible versions are: 0.11.0 or uninstalled
         └─ReinforcementLearning [158674fc] is fixed to version 0.11.0-dev

@jeremiahpslewis
Copy link
Member

Let's take this one at a time, first update the sub packages to the latest Adapt.jl, etc., which can be done immediately, then we can start talking about getting RL.jl in sync? To do this, please drop the changes as discussed in my review.

As a side note, are you actively using RL.jl / able to put time into the project? If so, contributions are very welcome and I can guide you through the most important chunks of work...

@joelreymont
Copy link
Contributor Author

joelreymont commented Feb 29, 2024 via email

@joelreymont
Copy link
Contributor Author

joelreymont commented Feb 29, 2024 via email

@jeremiahpslewis
Copy link
Member

As a first step, can you get the CI to pass?

Side note: for the time being, it's best to install the sub packages separately and NOT include the umbrella package RL.jl in your environment. This is also how the GitHub Actions CI is set up.

@joelreymont
Copy link
Contributor Author

joelreymont commented Feb 29, 2024 via email

@joelreymont
Copy link
Contributor Author

Some tests are failing and OpenSpiel dependency is failing to compile.

I'm on it.

@jeremiahpslewis
Copy link
Member

ok, a note, I need to tag and release new versions of RLTrajectories and CircularArrays before they are picked up here.

@joelreymont
Copy link
Contributor Author

ok, a note, I need to tag and release new versions of RLTrajectories and CircularArrays before they are picked up here.

How does this affect me?

@joelreymont
Copy link
Contributor Author

Issue #1010 prevents CI from passing.

@jeremiahpslewis
Copy link
Member

this will fix it, need to wait for GitHub JuliaReinforcementLearning/OpenSpiel.jl#19

@jeremiahpslewis
Copy link
Member

once this merges, rlenv is hopefully good to go: JuliaRegistries/General#102066

@jeremiahpslewis jeremiahpslewis merged commit 091c5d4 into JuliaReinforcementLearning:main Mar 1, 2024
11 of 13 checks passed
@joelreymont
Copy link
Contributor Author

What's the next step?

@jeremiahpslewis
Copy link
Member

I’ll release the new versions of RLCore / RLEnv. Can you track down the bug in the offlineagents?

@joelreymont
Copy link
Contributor Author

joelreymont commented Mar 1, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants