NVIDIA aggiorna i propri tool per il deep learning

NVIDIA aggiorna i propri tool per il deep learning

In concomitanza con l'ICML 2015 NVIDIA potenzia le proprie soluzioni software per il deep learning: nuove release per CUDA 7.5, cuDNN 3 e DIGITS 2 disponbili onlne per gl sviluppatori e i ricercatori

di pubblicata il , alle 09:08 nel canale Schede Video
NVIDIACUDA
 

In occasione della GPU Technology Conference, evento tenuto da NVIDIA lo scorso mese di Marzo a San Jose, uno dei temi più discussi è stato quello legato al deep learning. Nel corso della settimana si è tenuta a Lille, in Francia, la 32-esima edizione della International Conference on Machine Learning o ICML ed in questa sede NVIDIA ha annunciato 3 importanti novità dal versante software legate proprio al machine learning e ai deep neural networks.

La prima novità riguarda la disponibilità di CUDA 7.5 in versione release candidate, con la quale è stato introdotto il supporto FP16 quindi a cosiddetta mezza precisione che si rivela nelle intenzioni di NVIDIA particolarmente interessante proprio per le elaborazioni d machine learning. Questa caratteristica può venir sfruttata al momento attuale dalla sola architettura Tegra X1 di NVIDIA ma è ipotizzabile che troverà spazio nelle soluzioni della famiglia Pascal attese a sostituire quelle Maxwell a partire dal 2016.

nvidia_cuda_75.jpg (44412 bytes)

Aggiornamento anche per la librera CUDA Deep Neural Network, nota anche con la sigla cuDNN: anche in questo caso il focus è legato al supporto FP16, con l'obiettivo di migliorare l'utilizzo della memora video e della bandwidth che questa mette a disposizione del sistema.

A chiudere il quadro complessivo l'aggiornamento di DIGITS, il middleware che NVIDIA offre ai ricercatori per meglio apprendere e sfruttare il deep learning con le GPU. Con la versione 2 di questo pacchetto, che segue quanto reso disponibile a Marzo 2015 in occasione della GTC, è stato implementato il supporto a configurazioni multi-GPU grazie alle quali NVIDIA dichiara un interessante aumento delle prestazioni velocistiche complessive.

Ulteriori informazioni su cuDNN sono disponibili sul sito NVIDIA a questo indirizzo; per DIGITS il riferimento online è questo indirizzo mentre per CUDA il sito web ufficiale di NVIDIA è acessible a questo indirizzo.

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione.
Leggi la Privacy Policy per maggiori informazioni sulla gestione dei dati personali

6 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
CrapaDiLegno09 Luglio 2015, 19:05 #1
AMD investe nella VR, nvidia nel DL. Vedremo chi avrà fatto la mossa migliore nei prossimi anni.
bobafetthotmail09 Luglio 2015, 20:32 #2
Originariamente inviato da: CrapaDiLegno
AMD investe nella VR, nvidia nel DL. Vedremo chi avrà fatto la mossa migliore nei prossimi anni.
Guarda che il deep learning si fa anche su OpenCL e su Vulkan, quindi su AMD e sui Parallela (dei SoC speciali da computing a 64 core) e un pò ovunque.

E NVIDIA mi pare che facesse anche VR. http://blogs.nvidia.com/blog/2015/05/31/gameworks-vr/
CrapaDiLegno10 Luglio 2015, 01:14 #3
Originariamente inviato da: bobafetthotmail
Guarda che il deep learning si fa anche su OpenCL e su Vulkan, quindi su AMD e sui Parallela (dei SoC speciali da computing a 64 core) e un pò ovunque.

E NVIDIA mi pare che facesse anche VR. http://blogs.nvidia.com/blog/2015/05/31/gameworks-vr/


Il linguaggio che usi per fare DL non ha alcuna relazione con l'HW che supporta e quindi diventa più efficiente (= consuma di meno e va di più.
Puoi fare DL anche su un PiC18 con il linguaggio che vuoi, ma non credo possa diventare la soluzione di riferimento per chi davvero ha bisogno di potenza di calcolo per quel tipo di problema.

Il VR è un aspetto del futuro per tutti i player nel mercato videoludico. Però un conto è pensare di supportarlo come si fa come con un normale monitor, un altro è creare soluzioni e funzioni ad hoc. Non m sembra che nvidia abbia fatto tutto questo finora, mentre AMD mi sembra più orientata a questo tipo di supporto nelle sue nuove GPU.
bobafetthotmail10 Luglio 2015, 09:31 #4
Originariamente inviato da: CrapaDiLegno
Il linguaggio che usi per fare DL non ha alcuna relazione con l'HW che supporta e quindi diventa più efficiente (= consuma di meno e va di più.
??? Quindi il fatto che vari framework di DL stiano aggiungendo il supporto a OpenCL è un caso?

Nvidia ha il suo framework che va solo sulle sue schede per ovvie ragioni commerciali, ma chi non ha voglia di legarsi ad una GPU nvidia o ad un Tegra usa OpenCL che gli dà accesso a dispositivi vari che hanno ovviamente la potenza di calcolo da essere utili nella DL.

Perchè fare una cosa sua in house la rende meglio?

Il VR è un aspetto del futuro per tutti i player nel mercato videoludico. Però un conto è pensare di supportarlo come si fa come con un normale monitor, un altro è creare soluzioni e funzioni ad hoc. Non m sembra che nvidia abbia fatto tutto questo finora,
Visto che non hai letto il link, ti incollo qui sotto le parti rilevanti.

NVIDIA Multi-Res Shading (MRS) — An innovative new rendering technique for VR. With NVIDIA MRS, each part of an image is rendered at a resolution that better matches the pixel density of the final displayed VR image. This technology uses the multi-projection architecture of the GeForce GTX 980 Ti GPU to render multiple viewports in a single pass. The result: substantial performance improvements for VR games.
VR SLI — Provides increased performance for VR apps. Multiple GPUs can be assigned a specific eye to dramatically accelerate stereo rendering. With the GPU affinity application programming interface, VR SLI allows scaling for PCs with two or more GPUs.
Context Priority — Enables control over GPU scheduling to support advanced VR features such as asynchronous time warp. This cuts latency and quickly adjusts images as gamers move their heads, without the need to re-render a new frame.
Direct Mode — Delivers plug-and-play compatibility for VR headsets. With Direct Mode, the NVIDIA graphics driver recognizes the headset as a VR display rather than a standard desktop monitor, providing a more seamless user experience.
Front Buffer Rendering — Lets the GPU to render directly to the front buffer to reduce latency.
CrapaDiLegno10 Luglio 2015, 12:05 #5
Originariamente inviato da: bobafetthotmail
??? Quindi il fatto che vari framework di DL stiano aggiungendo il supporto a OpenCL è un caso?

Nvidia ha il suo framework che va solo sulle sue schede per ovvie ragioni commerciali, ma chi non ha voglia di legarsi ad una GPU nvidia o ad un Tegra usa OpenCL che gli dà accesso a dispositivi vari che hanno ovviamente la potenza di calcolo da essere utili nella DL.

Perchè fare una cosa sua in house la rende meglio?

Non ci siamo proprio capiti.
nvidia ha aggiunto ottimizzazioni HW per il DL. Che tu le voglia fare in OpenCL/CUDA/Barbalinguaggio su un HW che non è ottimizzato per fare DL significa che potrai avere gli stessi risultati in maggior tempo o maggior consumo.
Se lo fai su un HW ottimizzato con librerie scritte ad-hoc per sfruttarlo al meglio avrai risultati certamente migliori rispetto ad affidarti ad un linguaggio generico come OpenCL e il suo "compilatore-astrattore". Quindi sì, la soluzione in-house la rende decisamente meglio a meno di non voler fare le librerie apposta ottimizzate per HW nvidia nel tuo framework DL (e quindi praticamente rifare il lavoro che ha già fatto nvidia).

Poi se per ogni problema basta scrivere OpenQualcosa e HSA e per avere la sicurezza che l'implementazione sia migliore e più efficiente, va bene.

Originariamente inviato da: bobafetthotmail
Visto che non hai letto il link, ti incollo qui sotto le parti rilevanti.

NVIDIA Multi-Res Shading (MRS) — An innovative new rendering technique for VR. With NVIDIA MRS, each part of an image is rendered at a resolution that better matches the pixel density of the final displayed VR image. This technology uses the multi-projection architecture of the GeForce GTX 980 Ti GPU to render multiple viewports in a single pass. The result: substantial performance improvements for VR games.
VR SLI — Provides increased performance for VR apps. Multiple GPUs can be assigned a specific eye to dramatically accelerate stereo rendering. With the GPU affinity application programming interface, VR SLI allows scaling for PCs with two or more GPUs.
Context Priority — Enables control over GPU scheduling to support advanced VR features such as asynchronous time warp. This cuts latency and quickly adjusts images as gamers move their heads, without the need to re-render a new frame.
Direct Mode — Delivers plug-and-play compatibility for VR headsets. With Direct Mode, the NVIDIA graphics driver recognizes the headset as a VR display rather than a standard desktop monitor, providing a more seamless user experience.
Front Buffer Rendering — Lets the GPU to render directly to the front buffer to reduce latency.

Se nvidia è così predisposta al supporto della VR allora vuol dire che AMD non avrà campo libero neanche in questo mercato...
bobafetthotmail10 Luglio 2015, 14:39 #6
Originariamente inviato da: CrapaDiLegno
Non ci siamo proprio capiti.
nvidia ha aggiunto ottimizzazioni HW per il DL.
Tipo?
No perchè il DL non è particolarmente diverso da un qualsiasi altro carico di lavoro massivamente parallelizzato.

Poi se per ogni problema basta scrivere OpenQualcosa e HSA e per avere la sicurezza che l'implementazione sia migliore e più efficiente, va bene.
Non hai capito. Come anche per GameWorks i programmi per accedere alle potenzialità delle GPU NVIDIA sono solo più facili da usare se vuoi far dialogare il tuo programma particolare con l'hardware.

Con l'OpenCL, come anche per l'OpenGL è più potente perchè hai accesso maggiore alle potenzialità della scheda ma è ovviamente molto più complesso perchè a questo punto sei tu sviluppatore che devi ottimizzare il tuo programma per adattarlo all'hardware.

Esattamente come per i game engine dei giochi, qui la differenza grossa la fa appoggiarsi ad un game engine o ad un framework di DL fatto da terze parti.

Le terze parti che ti vendono o danno in licenza l'engine (o te lo lasciano usare a patto di pubblicare su Steam, tipo Valve) hanno tutto l'interesse e il tempo e le risorse per ottimizzare il loro framework/engine per le OpenCL/Vulkan, e allo sviluppatore non resta che imparare ad usare questi framework che sono MOLTO più facili da usare che usare le OpenCL/GL/DirectX/vattelapesca direttamente.

Nvidia sta facendo il suo speciale framework che va solo sulle sue GPU/SoC, ma un SDK, un framework è a quello che serve, scaricare il peso della ottimizzazione del suo programma su chi fa il framework, non sullo sviluppatore del programma finale.

Poi comunque chi sviluppa il programma finale deve comunque ottimizzare ma non ai livelli assurdi che sarebbero richiesti dal farlo dialogando direttamente con le openCL o con Vulkan.

Se noti entambi gli approcci sono simili alla fine, e se vedi le battaglie OpenGL vs CUDA, i programmi professionali che li usano sono grossomodo alla pari, una cosa la fanno meglio con uno, l'altra meglio con l'altro.

Se nvidia è così predisposta al supporto della VR allora vuol dire che AMD non avrà campo libero neanche in questo mercato...
Sarebbe strano il contrario, il 4k è storia vecchia mentre la VR è il futuro. Questo è (uno dei) core businness di Nvidia, non essere predisposti lo pagherebbero amaramente in caso prendesse piede seriamente.

C'è competizione, come è giusto che ci sia.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^