Utilizzo delle unità di elaborazione grafica (Linux, solo Windows)
È possibile migliorare le prestazioni delle applicazioni Java™ scaricando alcune funzioni di elaborazione dal processore (CPU) a una GPU (graphics processing unit); si applicano requisiti hardware e software specifici.
Un'unità di elaborazione grafica è progettata per ottimizzare l'elaborazione parallela. Una GPU ( NVIDIA ) può potenzialmente avere migliaia di core in grado di eseguire la stessa istruzione contemporaneamente, ad esempio operando su ogni pixel di un'immagine. Per confronto, una CPU ha alcuni core che sono ideali per l'elaborazione seriale, eseguendo diverse istruzioni sequenzialmente.
Se la tua applicazione contiene del codice che potrebbe beneficiare dell'elaborazione parallela, puoi eseguire quella parte del codice sulla GPU e il resto del codice sulla CPU. Puoi utilizzare l'API (application programming interface) CUDA4J per specificare nella tua applicazione esattamente quando utilizzare la GPU. I tipi di applicazioni che potrebbero essere adatte per questa tecnologia sono applicazioni enterprise e technical computing ad alte prestazioni, come i carichi di lavoro di big data e analytics. Per ulteriori informazioni, consultare L'API (application programming interface) CUDA4J (soloLinux, Windows).
Alcune funzioni Java, come sort, sono particolarmente appropriate per l'elaborazione GPU. La funzione sort richiede operazioni ripetitive sugli array di dati e può essere elaborata su una GPU più velocemente di una CPU. Tuttavia, perché un'applicazione Java possa beneficiare di questo tipo di elaborazione, l'array deve avere una dimensione sufficiente a giustificare il tempo necessario per spostare i dati tra la CPU e la GPU. Se puoi determinare esattamente quando una GPU può essere utilizzata, puoi sviluppare applicazioni che utilizzano le classi com.ibm.gpu per scaricare attività specifiche. Per ulteriori informazioni su queste classi, consultare The com.ibm.gpu application programming interface (Linux, solo Windows). In alternativa, puoi lasciare che la Java virtual machine decida quando scaricare l'elaborazione su una GPU impostando una proprietà di sistema sulla riga di comando. Per abilitare questa funzione, vedere Abilitazione dell'elaborazione dell'applicazione su un'unità di elaborazione grafica (Linux, solo Windows).
Il compilatore JIT (Just - In - Time) può anche scaricare l'elaborazione su una GPU. Per ulteriori informazioni, vedi Come il compilatore JIT utilizza una GPU (Linux, solo Windows).