Move ray actor pool out of experimental - #1754
Conversation
Signed-off-by: Onur Yilmaz <oyilmaz@nvidia.com>
Signed-off-by: Onur Yilmaz <oyilmaz@nvidia.com>
|
/ok to test ce3f7ca |
Greptile SummaryThis PR promotes
Confidence Score: 4/5Safe to merge after fixing the truncated RuntimeError message in raft_adapter.py setup() One P1 defect: setup() in raft_adapter.py raises a RuntimeError with a truncated message due to a missing parenthesis wrap around a multi-line string literal. One P2 concern: _cleanup_actor_pool iterates _future_to_actor in the wrong direction but is never triggered in normal execution. The rest of the PR is a clean, well-structured namespace promotion. nemo_curator/backends/ray_actor_pool/raft_adapter.py (P1 string bug); nemo_curator/backends/ray_actor_pool/executor.py (P2 wrong iteration direction) Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph OLD["Before — experimental/"]
A["backends/experimental/ray_actor_pool/\nexecutor.py · raft_adapter.py\nadapter.py · shuffle_adapter.py · utils.py"]
B["backends/experimental/utils.py\nRayStageSpecKeys\nget_head_node_id\nexecute_setup_on_node"]
C["tests/backends/experimental/\nray_actor_pool/test_executor.py\ntest_utils.py"]
end
subgraph NEW["After — stable"]
D["backends/ray_actor_pool/\nexecutor.py · raft_adapter.py\nadapter.py · shuffle_adapter.py · utils.py"]
E["backends/utils.py\n← merged RayStageSpecKeys\nget_head_node_id\nexecute_setup_on_node"]
F["tests/backends/ray_actor_pool/\ntest_executor.py"]
G["tests/backends/test_utils.py\n← merged tests"]
end
A -->|promoted| D
B -->|merged into| E
C -->|moved| F
C -->|merged into| G
H["~35 import sites\nstages · tests · tutorials · benchmarks"] -->|import paths updated| D & E
|
|
/claude review |
* Move ray actor pool out of experimental Signed-off-by: Onur Yilmaz <oyilmaz@nvidia.com> * Fix linting issues Signed-off-by: Onur Yilmaz <oyilmaz@nvidia.com> --------- Signed-off-by: Onur Yilmaz <oyilmaz@nvidia.com> Signed-off-by: Ayush Dattagupta <ayushdg95@gmail.com>
Summary
Promotes RayActorPoolExecutor and shared Ray backend utilities out of the experimental namespace, following the same pattern used when RayDataExecutor was promoted in #1619.
What changed
New: nemo_curator/backends/ray_actor_pool/
Moved from nemo_curator/backends/experimental/ray_actor_pool/. Contains executor.py, adapter.py, raft_adapter.py, shuffle_adapter.py, and utils.py — no logic changes.
Updated: nemo_curator/backends/utils.py
Merged the contents of nemo_curator/backends/experimental/utils.py into the existing backends/utils.py. This includes RayStageSpecKeys, get_head_node_id, get_available_cpu_gpu_resources, execute_setup_on_node, and related helpers. The experimental/utils.py file is deleted.
Deleted: nemo_curator/backends/experimental/
The entire experimental/ directory is removed. Both ray_data and ray_actor_pool are now fully promoted.
Import updates across the codebase
nemo_curator/backends/ray_data/ — 3 files updated to import from backends.utils instead of backends.experimental.utils
nemo_curator/stages/ — 17 files updated (RayStageSpecKeys and RayActorPoolExecutor imports)
tests/ — 12 files updated; tests/backends/experimental/ deleted, tests moved to tests/backends/ray_actor_pool/ and merged into tests/backends/test_utils.py
tutorials/synthetic/nemo_data_designer/ — .py and .ipynb updated
benchmarking/scripts/utils.py — updated