2015-06-03 19 views
48

Mentre "googl'ing" e facendo qualche ricerca non fossi in grado di trovare qualsiasi gravi/popolare framework/SDK per scientifica GPGPU computing e OpenCL su AMD hardware. C'è qualche letteratura e/o software che ho perso?OpenCL/AMD: Deep Learning

Soprattutto sono interessato all'apprendimento immediato .

per quanto ne so deeplearning.net raccomanda NVIDIA hardware e CUDA quadri. Inoltre tutti i grandi quadri di apprendimento profonde che conosco, come Caffe, Theano, torcia, DL4J, ... sono focalizzate sulla CUDA e non si prevede di sostenere OpenCL/AMD.

Inoltre si possono trovare un sacco di lavori scientifici, così come la letteratura corrispondente CUDA compiti di apprendimento profondo basate ma quasi nulla per soluzioni basate OpenCL/AMD.

C'è qualche possibilità che i quadri scientifici nuovi o esistenti vengano visualizzati per le soluzioni basate su OpenCL/AMD nel 2015/16?

Che cosa è un buon inizio per profondo apprendimento con OpenCL/AMD? Qualsiasi letteratura? Tutorial? Fonti varie?

+2

Non ci sono ragioni per le quali quadri di apprendimento profonde utilizzano CUDA invece di OpenCL - uno di loro è prestazioni. È più facile sintonizzarlo per un singolo fornitore come Nvidia. Sebbene non conosca la risposta esatta, ci sono poche possibilità di trovare questo tipo di software per AMD. –

+0

Grazie per l'input. Questo è, più o meno, ciò che mi aspettavo e ho scoperto finora. Come ho già accennato, anche Google non ha fornito molti risultati :(Non c'è davvero nessuna fonte ufficiale, nessuna letteratura, nessun tutorial, nessun tentativo là fuori? – daniel451

+0

Theano sembra avere una sorta di supporto OpenCL disponibile, tramite 'GpuArray': http : //deeplearning.net/software/theano/tutorial/using_gpu.html#gpuarray – jprice

risposta

23

Modifica 1 Vedere la risposta Mikael Rousson's - Amazon è ora la via più avanti in quanto è possibile "noleggiare" il potere di calcolo da loro.

Edit 2 ho creato un series of guides su come impostare Amazon EC2 istanze per Deep Learning con theano. È un molto più conveniente che su una macchina personale.

Sono stato nella stessa situazione di te stesso in quanto ho un MacBook Pro con grafica Intel Iris. Ho trascorso la maggior parte della settimana a esaminare tutti i possibili soluzioni alternative e sarei più che benvenuto alle alternative a quelle che offro.

La soluzione migliore ho attualmente è quello di:

  1. installare la libreria python, theano e utilizzano what GPU support there is e continuare ad aggiornare alle ultime versioni di sviluppo.
  2. Acquistare uno scheda grafica NVIDIA e usarlo su un PC
  3. Se è assolutamente bisogno di una soluzione in OpenCL e si è disposti a codificare tutto da un alto livello di comprensione (nessun tutorial) cerca DeepCL e possibilmente pyOpenCl.

Ho trovato che qualsiasi soluzione che utilizza OpenCL, ad es.pyOpenCl, non ha ancora interfacce user-friendly per Deep Learning, ci vorrà più tempo per codificarlo in un metodo alternativo piuttosto che codificarlo velocemente ed eseguirlo su una CPU. Detto questo, però, qui ci sono dei migliori librerie OpenCL alternativi per l'apprendimento profondo:

In Sviluppo

+1

Apprezzo la tua risposta e l'hai svalutata, grazie! Comunque, aspetterò alcuni giorni con la taglia, forse una risposta più ampia arriva con più fonti ufficiali o persino articoli scientifici/letteratura sull'argomento – daniel451

+0

Mi sono reso conto che in realtà non ho elencato le librerie che uso OpenCL a cui mi riferivo nella mia modifica originale - l'ho aggiornato ora. Ho anche aggiunto un po 'più di informazioni riguardo alle librerie nelle fasi di sviluppo. qualcuno fornirà una risposta che risolve tutti i miei problemi di OpenCL visto che attualmente sto cercando di scambiare il mio laptop con una versione grafica NVIDIA che sarà costosa e costosa! –

+2

Grazie! Sono nella stessa situazione. Il desktop è basato su AMD, notebook basato su Intel e l'hardware NVIDIA non è noto per essere economico o con un buon rapporto prezzo-prestazioni per GPU-Computing, specialmente quando si tratta di operazioni a doppia precisione:/ – daniel451

1

Si prega di check out https://01.org/intel-deep-learning-framework - Intel® Deep Learning Framework (idlf) fornisce una struttura unificata per le piattaforme Intel® accelerazione profonda Reti neurali involutive. È Open Source, quindi puoi portarlo anche sull'hardware AMD. La cosa interessante: potrebbe girare su un MacBook Pro con grafica Intel Iris.

+0

quando dici * Piattaforme Intel® * intendi piattaforme con compilatori Intel®, piattaforme con GPU Intel® o richiedono entrambi? –

+0

Le piattaforme Intel (R) indicano processori Intel (R) con o senza Intel (R) Processor Graphics e acceleratori Intel (R) come Intel (R) Xeon Phi. –

9

Un'alternativa è utilizzare le istanze GPU su Amazon Web Services. È possibile trovare AMI con pacchetti di deep learning comunemente utilizzati già installati. Per esempio:

Suggerimento: le istanze uso posto per ottenere un prezzo più economico (circa 10 centesimi/ora per un g2.2xlarge).

+0

Questa è di gran lunga la soluzione migliore ora! Attualmente sto usando questo da solo perché è possibile installare tutti i software normalmente e utilizzare la loro potenza di calcolo. Penso che facciano anche sconti. Modificherò la mia risposta per collegare il tuo in quanto la gente potrebbe non leggere fino a quando non otterrà più voti –

16

--- agosto 2017 Aggiornamento cose interessanti nuove accaduto nel lato AMD ---

ora è effettivamente possibile eseguire qualsiasi libreria sulla maggior parte dell'hardware AMD Check Here

A partire dal 25 Ottobre 2015

sembra che AMD e altri abbiano esteso lo sviluppo di diversi framework accelerati OpenCL per l'apprendimento approfondito. Quindi sì, il supporto OpenCL è ora disponibile per il deeplearning :)

Questa è una lista di framework o strumenti Accelar OpenCL che sono stati sviluppati tenendo principalmente in considerazione l'apprendimento profondo.Spero che vengono aggiornati nel corso dei prossimi anni

sappiamo in questo momento (25 ottobre 2015) ci sono tre quadro di apprendimento profondo che sono molto molto popolari per i ricercatori e ha visto alcuni prodotti commerciali

  1. Theano

  2. Caffe

  3. torcia


caffe ha un supporto OpenCL piuttosto buono perché amd ha sviluppato una versione completa di caffe che supporta quasi tutte le funzionalità di caffe e inoltre è in fase di sviluppo attivo. è chiamato OpenCL Caffe. e qui è il repository

OpenCL Caffe

se stai pensando di prestazioni poi in base a quel sito (non ho banco marcato io stesso) dà in tutto 261 immagini al secondo o 22,5 milioni di immagini al giorno in un Hardware AMD R9 Fury (allenamento). da confrontare con nvidia K40, che può elaborare 40 milioni di immagini al giorno. quindi, secondo il sito, può dimezzare le prestazioni in un sesto denaro (considerando che il k40 è di 3000 $ card e r9 fury è di circa 600 $). tuttavia, l'uso di qualsiasi carta di consumo ti darà un problema di memoria (vram) che è molto importante nell'apprendimento profondo.


Anche la torcia negli ultimi giorni sembra avere un discreto supporto OpenCL. Tuttavia è gestito da una sola persona. Sostiene di avere il pieno supporto per tutte le caratteristiche della torcia. Tuttavia non dà un'idea delle prestazioni. Ecco il repository. è attivamente mantenuto.

cltorch


Attualmente non ci non sembra che ci sia un backend OpenCL decente per quadro Theano ma il lavoro è in corso. e programmi semplici possono essere fatti con la versione corrente.


Esistono altri framework opencl per l'apprendimento approfondito. Ci vorrà del tempo per risolverli per vedere se funzionano correttamente o meno.

4

TensorFlow ora dispone del supporto OpenCL su roadmap.

Vedere: Github issue.

Speriamo non così lontano da una versione funzionante.

5

Sto scrivendo il supporto opencl 1.2 per Tensorflow.https://github.com/hughperkins/tensorflow-cl attualmente supporta:

  • blas moltiplicazione matriciale
  • gradienti
  • eigen operazioni quali: riduzioni, operazioni argmin/argmax, per-elemento (binari e unitari)
5

PlaidML (https://github.com/plaidml/plaidml) è un runtime di apprendimento completo completamente open source che funziona su OpenCL e si integra con Keras per fornire un'API familiare rivolta all'utente. Il README nel repository ha uno stato più dettagliato, attualmente l'inferenza di convnet su Linux è ben supportata ma noi (http://vertex.ai) stiamo lavorando per espandere la completezza e il supporto della piattaforma il più rapidamente possibile. Le nostre macchine per l'integrazione continua includono un assortimento di GPU AMD e NVIDIA, tutte Linux per ora, ma stiamo anche lavorando all'aggiunta di Mac e Windows.