> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/curator/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/curator/llms-full.txt.

# nemo_curator.backends.ray_actor_pool.utils

## Module Contents

### Functions

| Name                                                                                                                                 | Description                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| [`calculate_optimal_actors_for_stage`](#nemo_curator-backends-ray_actor_pool-utils-calculate_optimal_actors_for_stage)               | Calculate optimal number of actors for a stage.                     |
| [`create_named_ray_actor_pool_stage_adapter`](#nemo_curator-backends-ray_actor_pool-utils-create_named_ray_actor_pool_stage_adapter) | Create a named RayActorPoolStageAdapter or RayActorPoolRAFTAdapter. |

### Data

[`_LARGE_INT`](#nemo_curator-backends-ray_actor_pool-utils-_LARGE_INT)

### API

<Anchor id="nemo_curator-backends-ray_actor_pool-utils-calculate_optimal_actors_for_stage">
  <CodeBlock links={{"nemo_curator.stages.base.ProcessingStage":"/nemo-curator/nemo_curator/stages/base#nemo_curator-stages-base-ProcessingStage"}} showLineNumbers={false} wordWrap={true}>
    ```python
    nemo_curator.backends.ray_actor_pool.utils.calculate_optimal_actors_for_stage(
        stage: nemo_curator.stages.base.ProcessingStage,
        num_tasks: int,
        reserved_cpus: float = 0.0,
        reserved_gpus: float = 0.0,
        ignore_head_node: bool = False
    ) -> int
    ```
  </CodeBlock>
</Anchor>

<Indent>
  Calculate optimal number of actors for a stage.
</Indent>

<Anchor id="nemo_curator-backends-ray_actor_pool-utils-create_named_ray_actor_pool_stage_adapter">
  <CodeBlock links={{"nemo_curator.stages.base.ProcessingStage":"/nemo-curator/nemo_curator/stages/base#nemo_curator-stages-base-ProcessingStage","nemo_curator.backends.ray_actor_pool.adapter.RayActorPoolStageAdapter":"/nemo-curator/nemo_curator/backends/ray_actor_pool/adapter#nemo_curator-backends-ray_actor_pool-adapter-RayActorPoolStageAdapter","nemo_curator.backends.ray_actor_pool.raft_adapter.RayActorPoolRAFTAdapter":"/nemo-curator/nemo_curator/backends/ray_actor_pool/raft_adapter#nemo_curator-backends-ray_actor_pool-raft_adapter-RayActorPoolRAFTAdapter"}} showLineNumbers={false} wordWrap={true}>
    ```python
    nemo_curator.backends.ray_actor_pool.utils.create_named_ray_actor_pool_stage_adapter(
        stage: nemo_curator.stages.base.ProcessingStage,
        cls: type[nemo_curator.backends.ray_actor_pool.adapter.RayActorPoolStageAdapter] | type[nemo_curator.backends.ray_actor_pool.raft_adapter.RayActorPoolRAFTAdapter]
    ) -> ray.actor.ActorClass[nemo_curator.backends.ray_actor_pool.adapter.RayActorPoolStageAdapter | nemo_curator.backends.ray_actor_pool.raft_adapter.RayActorPoolRAFTAdapter]
    ```
  </CodeBlock>
</Anchor>

<Indent>
  Create a named RayActorPoolStageAdapter or RayActorPoolRAFTAdapter.

  This function creates a dynamic subclass of the given adapter class,
  named after the stage's class name. This ensures that when Ray calls
  type(adapter).**name**, it returns the original stage's class name rather
  than 'RayActorPoolStageAdapter' or 'RayActorPoolRAFTAdapter'.

  **Parameters:**

  <ParamField path="stage" type="ProcessingStage">
    ProcessingStage to adapt
  </ParamField>

  <ParamField path="cls" type="type">
    The adapter class to inherit from
  </ParamField>

  **Returns:** `ActorClass[RayActorPoolStageAdapter | RayActorPoolRAFTAdapter]`

  A ray.remote decorated class that can be used to create actors
</Indent>

<Anchor id="nemo_curator-backends-ray_actor_pool-utils-_LARGE_INT">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    nemo_curator.backends.ray_actor_pool.utils._LARGE_INT = 2 ** 31 - 1
    ```
  </CodeBlock>
</Anchor>