Idiomatic multi-gpu usage

Ouverte
#37 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python, pytorch

Piste de recherche

L’issue ne mentionne aucun fichier ni test du dépôt. Commencez par reproduire le snippet multi-GPU montré avec PyTorch, CuPy et nvImageCodec, puis examinez comment Encoder sélectionne un périphérique. Le travail est terminé lorsqu’il existe un chemin d’utilisation documenté et fonctionnel qui maintient les tenseurs sur le GPU prévu et évite le core dump signalé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

question
Describe the question.

I'm trying to utilize this library in multi-gpu torch settings and so far I'm getting no luck with frequent core dumped error, that doesn't tell me much.

my current approach is this (LLM generated):

            dev_idx = _torch.cuda.current_device() if _torch.cuda.is_available() else 0
            with cp.cuda.Device(dev_idx):
                encoder = nvimgcodec.Encoder()
                output_path = frame_dir / f"{to_stem(name)}.tiff"
                gpu_arr = cp.asarray(result.cpu())
                encoder.write(str(output_path), gpu_arr)
                # Release GPU memory retained by CuPy's pool to avoid OOM across concurrent saves
                try:
                    cp.get_default_memory_pool().free_all_blocks()
                except Exception:
                    pass

from nvidia-smi I see that most of the memory is being allocated on GPU 0 and it feels like nvImageEncoder is not explicitly aware of what GPU it is expected to run on. Can you provide example on how to utilize it and keep tensors on GPU?

Check for duplicates
  • I have searched the open bugs/issues and have found no duplicates for this bug report
Langage dominant
Jupyter Notebook
Étoiles
164
Forks
26
Merge moyen
27 min
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NVIDIA/nvImageCodec

Toutes les issues de NVIDIA/nvImageCodec

Issues similaires

Plus d'issues Computer Vision

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.