Skip to content

Actorpool progress bar - #1457

Merged
ayushdg merged 5 commits into
NVIDIA-NeMo:mainfrom
ayushdg:actorpool-progressbar
Feb 4, 2026
Merged

Actorpool progress bar#1457
ayushdg merged 5 commits into
NVIDIA-NeMo:mainfrom
ayushdg:actorpool-progressbar

Conversation

@ayushdg

@ayushdg ayushdg commented Feb 3, 2026

Copy link
Copy Markdown
Contributor

Description

  • Adds a progress bar using TQDM for actor pool workflows (regular tasks + shuffle inserts).
  • Doesn't cover extract & write or insert finished since they aren't typically map style tasks.
  • Helpful for long running deduplication jobs where progress isn't obvious without the dashboard. The ray dashboard also seems to have a limit of 10000 tasks for map_unordered.

Usage

# Add snippet demonstrating usage

Checklist

  • I am familiar with the Contributing Guide.
  • New or Existing tests cover these changes.
  • The documentation is up to date with these changes.

Signed-off-by: Ayush Dattagupta <ayushdg95@gmail.com>
…progressbar

Signed-off-by: Ayush Dattagupta <ayushdg95@gmail.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

import ray
from loguru import logger
from ray.util.actor_pool import ActorPool
from tqdm import tqdm

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] tqdm import may not be declared dependency for this backend

This adds from tqdm import tqdm, but if tqdm isn’t in this repo’s declared runtime deps for the experimental ray actor pool backend, users will hit ModuleNotFoundError at import time. Consider either adding tqdm to the appropriate dependency set, or making the progress bar optional via a lazy import / fallback when show_progress=True.

Comment on lines +63 to +69
def __init__(
self,
config: dict | None = None,
ignore_head_node: bool = False,
show_progress: bool = True,
progress_interval: float = 10.0,
):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] progress_interval accepts invalid values

tqdm(..., mininterval=self.progress_interval) will raise or behave unexpectedly if progress_interval is <= 0 or non-finite. Since this is a public constructor arg, it’s worth either validating it (e.g., > 0) or documenting constraints.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

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