Un seul GPU peut-il transcoder des vidéos tout en exécutant un modèle d’IA local ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Oui, un seul GPU peut souvent gérer simultanément le transcodage vidéo et l’IA locale lorsque les moteurs vidéo, la capacité de calcul, la VRAM, l’alimentation et les pilotes disposent d’une marge suffisante.

Le transcodage multimédia peut utiliser des blocs de décodage et d’encodage dédiés, tandis qu’un modèle d’IA s’appuie principalement sur le calcul matriciel ou général et conserve ses poids ainsi que son contexte en VRAM. Cette séparation rend l’exécution simultanée possible, mais elle ne constitue pas une isolation : les filtres, le mappage des tons, le chargement du modèle, la pression mémoire, les fréquences, les températures et les contextes de pilotes partagés peuvent encore faire interférer les charges de travail. La réponse doit venir d’un test simultané réalisé par étapes sur la carte réellement utilisée.

Vérifiez quels moteurs du GPU sont utilisés par chaque charge de travail

Lancez un transcodage matériel et relevez l’activité du décodage, de l’encodage, du calcul, du contrôleur mémoire, de la VRAM et de l’alimentation. Arrêtez-le, puis lancez une requête d’IA représentative avec les mêmes mesures.

Un serveur multimédia peut utiliser des moteurs vidéo à fonction fixe, tandis qu’un environnement d’exécution IA utilise CUDA, ROCm, oneAPI ou une autre voie de calcul. Cela permet souvent une exécution simultanée, mais l’incrustation des sous-titres, la mise à l’échelle et le mappage des tons peuvent déplacer une partie du pipeline vidéo vers le calcul général.

Si la session multimédia n’utilise que le CPU, corrigez le transcodage matériel avant de tester la coexistence. Si le modèle d’IA s’exécute principalement sur le CPU parce qu’il ne tient pas en VRAM, la question du partage du GPU est déjà devenue un problème plus large de mémoire système et de capacité processeur.

Établissez des références stables pour chaque charge de travail

Mesurez le flux multimédia seul au démarrage, lors d’une scène exigeante, pendant une recherche et à la reprise de la lecture. Relevez la vitesse de transcodage, l’état de la mémoire tampon, la charge des moteurs du GPU, la VRAM, l’utilisation du CPU et la consommation électrique.

Exécutez le modèle d’IA seul avec la quantification, la taille de contexte, la taille de lot et le niveau de concurrence prévus. Relevez le temps de chargement du modèle, le nombre de jetons par seconde, le délai avant le premier jeton, la VRAM après le chargement et le pic de mémoire à mesure que le contexte augmente. Des utilisateurs d’Ollama ont documenté un déchargement partiel vers le GPU, qu’il faut distinguer d’une référence où le modèle réside entièrement sur le GPU.

Le guide ZimaSpace consacré à la vérification d’un GPU pour un NAS domestique présente les contrôles matériels et électriques à effectuer avant les tests simultanés.

Réservez de la VRAM pour le modèle et le pipeline vidéo

Relevez la VRAM au repos, la VRAM occupée par le modèle, l’augmentation liée au contexte et la mémoire supplémentaire allouée au démarrage du décodage vidéo, des filtres et de l’encodage. Conservez une marge volontaire au lieu de planifier en fonction de la capacité indiquée sur la carte.

Les modèles d’IA peuvent rester chargés après une requête et bloquer d’autres tâches du GPU. Un ticket Ollama décrit un modèle resté en VRAM jusqu’au redémarrage du service lorsqu’une autre application avait besoin du GPU.

Utilisez une quantification plus légère, un contexte plus court, moins de traitements en parallèle, une durée de conservation plus courte ou un modèle plus petit lorsque le pic combiné approche de la limite de VRAM. Ne considérez pas le déport vers la mémoire système comme une capacité équivalente : il peut augmenter fortement la latence et déstabiliser les deux services.

-15% OFF

Effectuez un test de charge simultanée par étapes

Démarrez le modèle d’IA et laissez-le rester chargé, puis lancez un transcodage matériel ordinaire. Ajoutez un long prompt ou une requête d’IA simultanée pendant une scène à débit binaire élevé et observez les deux services pendant plusieurs minutes.

N’augmentez qu’une seule dimension à la fois : un flux multimédia supplémentaire, un contexte plus long, une autre requête d’IA, l’incrustation des sous-titres ou le mappage des tons HDR. Relevez le premier moment où la vitesse de transcodage passe sous le temps réel, où la lecture commence à utiliser la mémoire tampon, où la latence de l’IA augmente fortement ou où le GPU redémarre.

Défaillance observée Contrainte partagée probable Test suivant
Le modèle d’IA ne se charge pas Réservation de VRAM Déchargez le modèle ou réduisez la taille du modèle ou du contexte
La vidéo utilise la mémoire tampon uniquement pendant la génération Concurrence pour le calcul, l’alimentation ou les filtres Testez un transcodage SDR simple sans filtres GPU
L’IA ralentit, mais la vidéo reste stable Ordonnancement du calcul Limitez la concurrence de l’IA ou donnez la priorité à la lecture
Les deux conteneurs perdent l’accès au GPU Défaillance du pilote ou du contexte Inspectez les journaux du noyau et de l’environnement d’exécution des conteneurs

La limite pratique correspond à la dernière combinaison qui reste stable au démarrage et pendant les pointes de charge, et non au nombre de sessions qui apparaissent brièvement dans un tableau de bord.

Surveillez les défaillances de contexte liées aux pilotes et aux conteneurs

Exposez volontairement le même GPU physique aux deux conteneurs et vérifiez les identifiants du périphérique, les bibliothèques de pilotes, les versions de l’environnement d’exécution et les autorisations. Ne transmettez pas accidentellement des nœuds de rendu différents et ne masquez pas le GPU à l’un des services.

L’accès partagé peut échouer après plusieurs heures de fonctionnement normal. Un rapport Docker d’Ollama décrit des erreurs de contexte CUDA et précise que Jellyfin a ensuite perdu le transcodage matériel NVIDIA jusqu’au redémarrage de son conteneur, illustrant une défaillance de contexte GPU entre services.

Collectez les journaux de l’IA, du serveur multimédia, de l’environnement d’exécution des conteneurs, du noyau et du pilote GPU correspondant au même horodatage. Le redémarrage d’un conteneur peut rétablir le service, mais la correction durable doit porter sur la limite liée au pilote, à l’environnement d’exécution, à la mémoire du modèle ou à la concurrence qui a déclenché la défaillance partagée.

Contrôlez la présence du modèle en mémoire, la mise en file d’attente et la priorité des services

Déterminez si le modèle doit rester chargé toute la journée ou s’il peut être déchargé après une période d’inactivité. Le maintien en mémoire réduit la latence avant le premier jeton, mais réserve de la VRAM même lorsque le serveur multimédia a besoin d’une capacité ponctuelle supplémentaire.

Plusieurs applications GPU peuvent techniquement partager un périphérique tout en se faisant concurrence de manière préjudiciable lorsque l’une d’elles consomme presque toute la mémoire. Des utilisateurs de conteneurs NVIDIA ont notamment soulevé le cas où un conteneur sature la mémoire du GPU alors qu’une autre charge de travail doit s’exécuter.

Accordez un objectif de service plus strict à la lecture : limitez la concurrence de l’IA, mettez les longues générations en file d’attente, déchargez les modèles trop volumineux avant les heures de visionnage en famille ou planifiez les embeddings par lots. Ne comptez pas sur une priorité générique du CPU pour contrôler la mémoire et l’exécution du GPU.

Sachez quand séparer les charges de travail

Conservez un seul GPU lorsque le modèle prévu tient avec une marge suffisante, que les transcodages ordinaires restent plus rapides que le temps réel, que la latence de l’IA est acceptable et que les défaillances ne se propagent pas entre les conteneurs. Documentez le modèle testé, le contexte, le nombre de flux et le parcours des filtres.

Séparez les charges de travail lorsque de grands modèles consomment presque toute la VRAM, que plusieurs utilisateurs transcodent simultanément, que les filtres HDR ou de sous-titres nécessitent du calcul, que les requêtes d’IA sont sensibles à la latence ou qu’un service doit rester disponible pendant la maintenance du pilote.

La liste de contrôle ZimaSpace consacrée aux signes d’alerte de l’IA locale fournit la limite à ne pas dépasser lorsque le calcul partagé commence à compromettre la fiabilité essentielle du serveur en matière de stockage et de multimédia.

Assistance et conseils

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.