> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://fr.nvidia-localization.ferndocs.com/fr/nemo/rl/latest/nemo-rl-distributed-named-sharding/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fr.nvidia-localization.ferndocs.com/_mcp/server. # nemo\_rl.distributed.named\_sharding ## Contenu du Module ### Classes | Nom | Description | | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [`NamedSharding`](#nemorldistributednamedshardingnamedsharding) | Représente un arrangement N-dimensionnel de rangs avec des axes nommés, facilitant le partitionnement, la réplication et la collection de données en fonction de ces axes. | ### API ```python class nemo_rl.distributed.named_sharding.NamedSharding(layout: typing.Sequence[typing.Any] | numpy.ndarray, names: list[str]) ``` Représente un arrangement N-dimensionnel de rangs avec des axes nommés, facilitant le partitionnement, la réplication et la collection de données en fonction de ces axes. Exemple : layout = \[ \[\[0, 1, 2, 3], \[4, 5, 6, 7]], ] names = \["dp", "pp", "tp"] # Ceci représente DP=1, PP=2, TP=4 sharding = NamedSharding(layout, names) print(sharding.shape) # Sortie : (1, 2, 4) print(sharding.names) # Sortie : \['dp', 'pp', 'tp'] print(sharding.get\_ranks(dp=0, pp=1)) # Sortie : \[4, 5, 6, 7] ```python shape: dict[str, int] ``` Renvoie la forme de la disposition des rangs. ```python names: list[str] ``` Renvoie les noms des axes. ```python ndim: int ``` Renvoie le nombre de dimensions. ```python size: int ``` Renvoie le nombre total de rangs. ```python layout: numpy.ndarray[tuple[int, ...], numpy.dtype[numpy.int32]] ``` Renvoie le tableau NumPy sous-jacent représentant la disposition. ```python get_worker_coords(worker_id: int) -> dict[str, int] ``` Obtient les coordonnées d'un ID de travailleur spécifique dans la disposition de partitionnement. Args : worker\_id : L'ID entier du travailleur. Renvoie : Un dictionnaire mappant les noms d'axes à leurs coordonnées entières pour le worker\_id donné. Lève : ValueError : Si le worker\_id n'est pas trouvé dans la disposition. ```python get_ranks_by_coord(**coords: int) -> list[int] ``` Obtient tous les rangs correspondant aux coordonnées spécifiées pour les axes nommés. Args : \*\*coords : Arguments de mot-clé où la clé est le nom de l'axe (par exemple, "dp", "tp") et la valeur est la coordonnée entière le long de cet axe. Les axes non spécifiés correspondront à toutes les coordonnées le long de cet axe. Renvoie : Une liste triée de rangs entiers uniques correspondant aux critères de coordonnées donnés. Renvoie une liste vide si aucun rang ne correspond. Lève : ValueError : Si un nom d'axe non valide est fourni. ```python get_ranks(**kwargs: int) -> typing.Union[nemo_rl.distributed.named_sharding.NamedSharding, int] ``` Obtient les rangs correspondant à des indices spécifiques le long des axes nommés. Args : \*\*kwargs : Arguments de mot-clé où la clé est le nom de l'axe (par exemple, "dp", "tp") et la valeur est l'index le long de cet axe. Renvoie : Une nouvelle instance de NamedSharding représentant le sous-ensemble des rangs. La forme du partitionnement renvoyé correspond aux axes *non* spécifiés dans les kwargs. Si tous les axes sont spécifiés, un entier est renvoyé. Lève : ValueError : Si un nom d'axe non valide est fourni ou si un index est hors limites. ```python get_axis_index(name: str) -> int ``` Obtient l'index numérique d'un axe nommé. ```python get_axis_size(name: str) -> int ``` Obtient la taille d'un axe nommé. ```python __repr__() -> str ``` ```python __eq__(other: object) -> bool ```