Identification des incidents GPU (Linux®, Windows uniquement)

Si vous rencontrez des problèmes de traitement des applications sur vos processeurs graphiques (GPU), vous pouvez activer la consignation prolixe pour vous aider à en identifier le motif. Vous pouvez également générer la trace du traitement des applications à l'aide des utilitaires de trace SDK standard.

Plusieurs motifs peuvent expliquer le fait que le traitement des applications ne soit pas déchargé sur le processeur graphique. Vérifiez les domaines suivants :
Configuration du système
Vérifiez que votre système respecte la configuration matérielle et logicielle minimale requise, comme décrit dans la rubrique Configuration système requise pour le processeur graphique (Linux, Windows uniquement).
Configuration système
Si vous avez activé le traitement GPU avec la propriété système -Dcom.ibm.gpu.enable , la machine virtuelle Java décharge le traitement uniquement lorsque le temps système nécessaire au déplacement de ce traitement à partir de l'unité centrale est utile. Par exemple, avant de décharger une opération sort, un tableau doit avoir une taille minimale d'environ 20000 entrées. Une propriété système est fournie pour valider votre configuration système. Définissez la propriété système -Dcom.ibm.gpu.enforce sur la ligne de commande pour imposer le traitement du processeur graphique, quels que soient les paramètres de seuil. Cette propriété est fournie uniquement pour la validation et ne doit pas être définie dans des circonstances normales car les performances de l'application pourraient en être affectées.

Si vous avez activé le compilateur JIT pour décharger les tâches de traitement sur GPU, vous pouvez valider votre configuration système en spécifiant l'option -Xjit:enableGPU={enforce|verbose}. Lorsque cette option est définie, le compilateur JIT ne se base pas sur des heuristiques de performances pour déterminer si une tâche de traitement des données pourrait bénéficier d'un traitement sur le processeur graphique plutôt que sur l'UC. Consultez la sortie système générée par la sous-option prolixe pour confirmer que le compilateur JIT a déplacé le traitement vers le processeur graphique avec succès. Pour plus d'informations, voir Diagnostic des incidents entre le compilateur JIT et un processeur graphique (Linux, Windows uniquement).

Programmation d'application
Si vous développez des applications qui utilisent directement le processeur graphique, en spécifiant des classes dans l'interface de programmation des applications CUDA4J, vérifiez attentivement si le code contient des erreurs.
Si vous développez des applications qui utilisent des classes du package com.ibm.gpu, vérifiez soigneusement que votre code ne contient pas d'erreurs. Certains exemples de codage sont fournis dans l'interface de programmation d'application com.ibm.gpu (Linux, Windows uniquement).
Si vous êtes convaincu que ces domaines ne sont pas à l'origine d'un problème de traitement du processeur graphique, vous pouvez effectuer des étapes supplémentaires pour identifier et résoudre les problèmes.
Remarque: Il existe des limitations connues concernant l'utilisation d'un processeur graphique. Pour plus d'informations, voir: GPU issues and limitations.