NVIDIA presenta Cuda 1.1

NVIDIA presenta Cuda 1.1

NVIDIA aggiorna il proprio pacchetto software per la programmazione parallela delle proprie GPU; da ora disponibile anche per sistemi Windows a 64bit

di pubblicata il , alle 16:00 nel canale Device
NVIDIAWindowsCUDAMicrosoft
 
18 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Fx16 Novembre 2007, 18:36 #11
Originariamente inviato da: papafoxtrot
Mi sono sentito un po' uno stupido leggendo il tuo messaggio ad aver pensato di usare una gpu per tutto...


e che credi, che io sia nato sapendole?

per inciso, la stupidità è ben altra cosa: non è il non sapere, ma il non imparare... e quando impari qualcosa, anche una stupidata del tutto insignificante nella tua vita come quella di oggi, dai dimostrazione di intelligenza, non di certo di stupidità
Drakon9916 Novembre 2007, 18:58 #12
Originariamente inviato da: Khimera
scusate se sono pignolo, mi pare di aver sentito in questo forum
che è possibile ricompilare un sorgente C con un compilatore CUDA, e far girare l'applicazione su una GeForce.
Non è esattamente così. Una GPGPU (General Porpouse GPU) (P.S. Papafoxtrot, il termine esiste già in quanto coprocessore matematico va programmato tramite delle estensioni particolari.
CUDA non è solo un compilatore, è soprattuto una libreria matematica molto potente, mette quindi a disposizione delle funzioni utilizzabili in un programma scritto in C, ma queste funzioni devono essere richiamate esplicitamente, non siamo ancora arrivati al punto di avere un compilatore in grado di riconoscere il parallelismo esplicito dentro normale codice C e ricompilare usando unità funzionali vettoriali (un po' come succede con le estensioni SSE ...)

Questo perchè scrivere "a mano" (Assembly o funzioni C di basso livello com'è il CUDA) è sempre Infinitamente Meglio che lasciar fare questo tipo di ottimizzazioni ad un compilatore.

Scusate la natura un po' tecnica del post, ma era utile per far capire una cosa: programmare in questo modo è costoso, non è facile!
Bisogna imparare a farlo, bisogna ottimizzare gli algoritmi in modo da sfruttare l'enorme grado di parallelismo di questi coprocessori
(una 8800 ha 128 "processori" che lavorano in parallelo...)


Cioè è possibile far eseguire le operazioni di compilazione ed esecuzione di un programma scritto in C alla GPU?
Sarebbe interessante sapere se funziona pure con il linguaggio java...
jappilas16 Novembre 2007, 19:26 #13
Originariamente inviato da: Drakon99
Cioè è possibile far eseguire le operazioni di compilazione ed esecuzione di un programma scritto in C alla GPU?
Sarebbe interessante sapere se funziona pure con il linguaggio java...
ma non normale C, linguaggi appositi che sono stati concepiti per mantenere una sintassi analoga a quella del C aggiungendo keyword e costrutti ad hoc (come ad esempio nel caso di BrookGPU che si menzionava in una recente news su schede grafiche AMD, e che AMD propone come alternativa al CTM per l' impiego della GPU come stream processor general purpose) per istanziare e processare gli streams

dalla descrizione di BrookGPU
Streams
A stream is a new data type addition which represents a collection of data which can be operated on in parallel. Streams are declared with angle brackets syntax similar to arrays. A sample stream declaration could look like:
[CODE] float s<10, 10>;[/CODE]
Although similar to C arrays, stream in BrookGPU have the following differences:
- Indexing to gain access to stream elements (i.e. s[3][2]) is not allowed outside of kernels
- No static initializers are allowed
- Streams must be local (stack) variables.
- Streams can only be read and written inside kernel functions or through special operators that fill streams from regular pointers and vice versa

Kernels
Kernels are special functions that operate on streams. A kernel is a parallel function applied to every element of the input streams.
<...>
Global memory and static variables are not accessible inside kernels.
A sample kernel declaration looks like:
[CODE] kernel void k(float s<>, float3 f, float a[10][10], out float o<> {...[/CODE]
Drakon9916 Novembre 2007, 19:47 #14
Il link non funziona...
bjt216 Novembre 2007, 19:47 #15
Appena faranno il Lapack compilato con CUDA, Matlab decollerà alla grande!
GiovanniGTS16 Novembre 2007, 19:53 #16
al di là di queste implementazioni
io sto ancora aspettadno l'encoder video tramite gpu
Thunder8216 Novembre 2007, 20:49 #17
MATLAB è già in grado di sfruttare CUDA, gli incrementi di velocità sono oltre il 1500% facendo fare i calcoli ad una Quadro FX5600 rispetto ad un opteron:

http://developer.download.nvidia.co...with%20CUDA.pdf

può accelerare qualsiasi programma in C, C++, FORTRAN... l'unico requisito è avere matlab
loose26 Febbraio 2008, 19:34 #18

loose

on line c'è un gioco, warmonger che richiede specificatamente una scheda per i complessi effetti grafici implementati...
il gioco è gratuito e utilizza ageia physics, a quanto ho capito è stata acquisita da nvidia...
e se non si ha la scheda ageia phisics o equivalente il gioco diventa ingiocabile... vorrei sapere se cou cuda installato sul pc potrebbe far andare la mia 8600gt come anche una scheda per elaborare gli effetti fisici del gioco... io purtroppo ho windows vista ultimate a 64 bit quindo dovrò aspettare per i driver o gli sdk cuda per il mio so.. ma eventualmente dovrebbe andare come ho detto o no?

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.
 
^