Exploitation des unités de traitement graphique (Linux, Windows uniquement)

Vous pouvez améliorer les performances de vos applications Java™ en déchargeant certaines fonctions de traitement de votre processeur (UC) vers une unité de traitement graphique (GPU) ; des exigences matérielles et logicielles spécifiques s'appliquent.

Une unité de traitement graphique optimise le traitement parallèle. Une unité de traitement graphique NVIDIA peut avoir potentiellement des milliers de coeurs capables d'exécuter une même instruction simultanément, par exemple, sur chaque pixel d'une image. En revanche, une unité centrale dispose d'un petit nombre de coeurs qui sont idéaux pour le traitement série et exécuter différentes instructions séquentiellement.

Si l'application contient du code pouvant exploiter le traitement parallèle, vous pouvez exécuter cette partie du code dans l'unité de traitement graphique et le reste du code dans l'unité centrale. Vous pouvez utiliser l'API (Application Programming Interface) CUDA4J pour spécifier quand utiliser exactement l'unité de traitement graphique dans l'application. Les types d'applications adaptés à cette technologie sont les applications d'entreprise et de traitement technique hautes performances, telles que les charges de travail de mégadonnées et d'analyse. Pour plus d'informations, voir L'interface de programme d'application CUDA4J (Linux, Windows uniquement).

Certaines fonctions Java, telles que sort, sont particulièrement appropriées pour le traitement GPU. La fonction sort nécessite des opérations répétitives sur les matrices de données et peuvent être traitées dans une unité de traitement graphique plus rapidement que dans une unité centrale. Toutefois, pour qu'une application Java puisse bénéficier de ce type de traitement, la taille de la matrice doit être suffisante pour justifier le temps nécessaire au déplacement des données entre l'unité centrale et l'unité de traitement graphique. Si vous pouvez déterminer avec exactitude à quel moment un processeur graphique peut être utilisé, vous pouvez développer des applications qui utilisent les classes com.ibm.gpu pour décharger des tâches spécifiques. Pour plus d'informations sur ces classes, voir L'interface de programme d'application com.ibm.gpu (Linux, Windows uniquement). Vous pouvez également laisser la machine virtuelle Java décider quand décharger le traitement sur un processeur graphique en définissant une propriété système sur la ligne de commande. Pour activer cette fonction, voir Activation du traitement d'application sur une unité de traitement graphique (Linux, Windows uniquement).

Le compilateur JIT (Just-In-Time) peut également décharger le traitement sur un processeur graphique. Pour plus d'informations, voir Comment le compilateur JIT utilise un processeur graphique (Linux, Windows uniquement).