Informazioni OpenCL

Bigz92
Ciao a tutti !
Mi sto interessando alla programmazione parallela e per farlo dovrei usare OpenCL (per fare la mia tesi triennale di ingegneria informatica) . Su come programmare in OpenCL ho trovato vagonate di materiale (ovviamente in inglese) ,però non ho ben capito come avviarmi a programmare . Cioè,mi servirebbero informazioni su che strumento utilizzare per poter sfruttare questo linguaggio e come configurarlo. Ci sono parecchi SDK mi è parso di capire ma non ho capito come si installino, quali siano da installare ( in base alla scheda grafica che ho?? Ma OpenCL non dovrebbe essere facilmente trasportabile su più piattaforme senza "preoccuparsi" dell'hardware sottostante ? :-/ ) , ecc... Insomma mi servirebbero delle dritte su come iniziare a poter utilizzare OpenCL , spero che qualcuno possa aiutarmi indirizzandomi sulla giusta via :)

Risposte
apatriarca
Il fatto che sia portabile non vuole necessariamente dire che non sia necessario installare gli opportuni driver per la particolare piattaforma in cui dovrà girare il tuo programma. È un po' come le OpenGL. L'eseguibile non cambia se usi una scheda video AMD, NVidia o Intel ma dovrai installare il driver corrispondente alla tua scheda video se vorrai farlo funzionare sulla tua macchina. Il mio consiglio è di installare l'SDK per il tuo sistema e iniziare a provare a vedere se riesci a scrivere qualcosa.. Della portabilità me ne preoccuperei più avanti (anche perché è vera solo in parte.. ma questo è un altro discorso..).

Bigz92
Grazie della risposta !
Quindi , per fare un esempio pratico , se voglio iniziare a programmare usando OpenCL sul mio Surface Pro 3 che utilizza processore e scheda grafica Intel , dovrò scaricarmi l'SDK che mette a disposizione Intel ? Mentre ad esempio sul mio altro PC che monta una scheda grafica Nvidia dovrei installare l'SDK della Nvidia ?
Ma questi SDK sono ambienti di sviluppo veri e propri (cioè programmi in cui posso scrivere il codice,eseguirlo,ecc...) o sono simili a dei plug-in da installare in un ambiente di sviluppo che già mi consente di scrivere codice ecc...?

So che sono domande forse banali ma sto veramente faticando a capire come iniziare il tutto :?

apatriarca
Gli SDK contengono solo le librerie, la documentazione e degli esempi normalmente. Per quanto riguarda l'ambiente di sviluppo devi cercare altrove. Ti consiglierei di installare Visual Studio (Community 2015 o 2013) che è gratuito anche per scopi commerciali. Sono infatti spesso disponibili i file di progetto per questo IDE ed è quindi forse più facile da configurare rispetto ad altri IDE su Windows.

Bigz92
Grazie della risposta ! Mi hai aperto un po' gli occhi su SDK,IDE vari, ecc...
Ho installato Microsoft Visual Studio Community 2015 e l'SDK della Intel. Quando però vado ad installare l'SDK mi dice che non potrà integrare nulla in Visual Studio. Dopo vari tentativi ed installazioni ,però, mi è comparsa tra la lista dei progetti di Visual Studio (quando clicco su New Project) anche la voce "OpenCL" , ma quando cerco di creare un progetto OpenCL vuoto mi dà un messaggio di errore nella creazione senza darmi ulteriori informazioni e non mi lascia creare il nuovo progetto. Che problemi possono esserci ? :(

apatriarca
La versione 2015 è uscita da pochissimo. Immagino che il problema possa essere questo. Non so se è ancora disponibile da qualche parte la vecchia versione, potresti provare a vedere

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.