OpenCl e i relativi strumenti. Recensioni e impressioni. - pagina 27

 
Queste sono storie di paura non confermate dall'era di OpenCL 1.0. Sembra un testo del 2009-2010.
 
Renat:
Queste sono storie di paura non confermate dall'era di OpenCL 1.0. Sembra un testo del 2009-2010.

Di cosa stai parlando, Rinat?

I driver Catalyst 11.7 WHQL e 11.8 Preview sono stati letti per il download e AMD ha spostato il loro APP-SDK per accelerare OpenCL

alla versione 2.5, che ora supporta finalmente la doppia precisione/doppia/FP64/watchamacallit tramite cl_khr_fp64.

Il caveat però: è incluso solo per le GPU basate su Cypress, non Cayman e non per i vecchi chip capaci di calcoli precisi a 64 bit.

http://www.gpu-tech.org/content.php/167-AMD-Catalyst-Driver-11.7-AMD-APP-SDK-2.5-bring-double-precision-for-Cypress-AVX-for-CPUs

Radeon HD 6990/6970/6950 (basato su Cayman):

- Doppia precisione a 1/4 di velocità
Radeon HD 6870/6850/6790 (basato su Barts):
- Nessun supporto di doppia precisione

Radeon HD 6 770/6750 (basato su Juniper, rinominato per uso OEM):
- Nessun supporto di doppia precisione

Radeon HD 6670/6650 (basata su Turks):
- Nessun supporto di doppia precisione

Radeon HD 6450 (basato su Caicos):
- Nessun supporto di doppia precisione

Radeon HD 5970 (basata su Cypress):
- Doppia precisione a 1/5 della velocità

Radeon HD 5870/5850/5830 (basato su Cypress):
- Doppia precisione a 1/5 della velocità

Radeon HD 5 770/5750 (basato su Juniper):
- Nessun supporto di doppia precisione

Radeon HD 5670/5650/5570 (basata su Redwood):
- Nessun supporto di doppia precisione

Radeon HD 5450 (basato su Cedar):
- Nessun supporto di doppia precisione

Radeon HD 4890/4870/4850/4830/4730 (basato su RV770/790):
- Doppia precisione a 1/5 della velocità

Radeon HD 4770 (basata su RV740):
- Doppia precisione a 1/5 della velocità

Radeon HD 4670/4650 (basato su RV730):
- Nessun supporto di doppia precisione

Radeon HD 4550/4350 (basato su RV710):
-Nessun supporto di doppia precisione

Radeon HD 3870/3850 (basato su RV670):
- Doppia precisione (a 1/5 della velocità)

Radeon HD 3650 (basato su RV635):
- Nessun supporto di doppia precisione
Radeon HD 3470/3450 (basato su RV615):
-Nessun supporto di doppia precisione

Radeon HD 2900 XT/Pro/GT/OEM (basato su R600):
-Nessun supporto di doppia precisione

Radeon HD 2600 XT/Pro (basato su RV630):
- Nessun supporto di doppia precisione

Radeon HD 2400 XT/Pro (basato su RV610):- DirectX 10 (senza Compute Shader però) e inferiore,

- Nessun supporto di doppia precisione

http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/CUDA_Toolkit_Release_Notes_And_Errata.txt

//forum.nvidia.com/index.php?showtopic=34744Windows 2003 Server non è stato testato o qualificato per l'uso con CUDA.


Rinat, dicci come è possibile scrivere involontariamente un programma Win32 per farlo funzionare su WinXP, Win Server 2008, Vista-Win7 e allo stesso tempo non funzionare su Win Server 2003? nVidia CUDA SDK installer di qualsiasi versione 3+ non si installa
nemmeno su Server 2003 (non si scompatta!), stupidamente scrive un riferimento di cella non valido, come in Win 3.1. Come potrebbe nVidia fare questo in programma Win32 UNEXECUTIONAL?
 

C'è molto sulla precisione strutturale sulla GPU, il programmatore di software FIXED deve essere molto, molto attento, bene anche da Nvidia stessa per esempio:

http://developer.nvidia.com/content/precision-performance-floating-point-and-ieee-754-compliance-nvidia-gpus

4.7 Differenze da x86 Le GPU NVIDIA differiscono dall'architettura x86 in quanto le modalità di arrotondamento sono codificate all'interno di ogni istruzione foaming point invece di utilizzare dinamicamente una parola di controllo foaming point. I gestori di trappole per le eccezioni in virgola mobile non sono supportati. Sulla GPU non c'è nessun flag di stato per indicare quando i calcoli sono traboccati, sottoboccati o hanno coinvolto un'aritmetica inesatta. Come SSE, la precisione di ogni operazione GPU è codificata nell'istruzione (per x87 la precisione è controllata dinamicamente dalla parola di controllo in virgola mobile).

Studiare CUDA e OpenCL a volte dà l'impressione paranormale che i produttori di ferro abbiano deciso di uccidere finalmente la matematica con le loro "rivoluzioni" e il marketing wow-hysteria - quando creano artificialmente un falso senso di cosa e come esattamente dovrebbe fare il MIO computer. Invece di calcoli matematici esatti e prevedibili, viene proposta la loro velocità frenetica incentrata sul giocatore.

Un programmatore deve essere molto attento alla precisione dei calcoli, e decidere se vuole calcolare su CPU o GPU. Inoltre, i proprietari di hardware insieme a Microsoft hanno fatto subdolamente, di nascosto, un brutto casino anche sulla CPU.

Beh, ho del lavoro da fare. Addio.

 

Non sembra essere stato ancora discusso...

Link correlato: libreria AMD C++ AMP integrata in Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Ho capito che la beta può già essere scaricata.

 
alsu:

Non sembra essere stato ancora discusso...

Link correlato: libreria AMD C++ AMP integrata in Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Ho capito che la beta è già disponibile per il download.

Particolarmente interessante è questo:

Auto-vettorizzazione

Un'altra novità del C++ in Visual Studio 11 è un auto-vettorizzatore che è attivo di default. Il compilatore vettorializzerà i cicli dove possibile per migliorare le prestazioni utilizzando le istruzioni vettoriali sul processore (come SSE2 e SSE4.x). Prendete il seguente esempio di codice:

float A[1000], B[1000], C[1000];

per (i = 0; i < 1000; i++) {

A[i] = B[i] + C[i];

}

Il compilatore C++ può vettorializzare questo ciclo per eseguire più iterazioni simultaneamente, migliorando significativamente le prestazioni con le istruzioni disponibili sui processori moderni.

Oltre al vettorizzatore, l'auto-parallelizzatore eseguirà i cicli su più processori CPU nel sistema, ottenendo un migliore utilizzo effettivo dell'hardware sottostante. Il parallelizzatore richiede un input dal programmatore per indicare i cicli che dovrebbero essere parallelizzati, e può anche essere usato insieme all'auto-vettorizzatore.

 
Quello che mi sto chiedendo è quanto di questa roba includerà il supporto AMD64... non vogliono essere bloccati da Intel
 
joo:

Particolarmente interessante è questo:

Auto-vettorizzazione

Un'altra novità del C++ in Visual Studio 11 è un auto-vettorizzatore, che è attivo di default. Il compilatore vettorializzerà i cicli dove possibile per migliorare le prestazioni utilizzando le istruzioni vettoriali sul processore (come SSE2 e SSE4.x). Prendete il seguente esempio di codice:

float A[1000], B[1000], C[1000];

per (i = 0; i < 1000; i++) {

A[i] = B[i] + C[i];

}

Il compilatore C++ può vettorializzare questo ciclo per eseguire più iterazioni simultaneamente, migliorando significativamente le prestazioni con le istruzioni disponibili sui processori moderni.

Oltre al vettorizzatore, l'auto-parallelizzatore eseguirà i cicli su più processori CPU nel sistema, ottenendo un migliore utilizzo effettivo dell'hardware sottostante. Il parallelizzatore richiede un input dal programmatore per indicare i cicli che dovrebbero essere parallelizzati, e può anche essere usato insieme all'auto-vettorizzatore.

Questo è forte. Davvero forte. L'evoluzione della tecnologia informatica verso la parallelizzazione sta letteralmente accadendo sotto i nostri occhi.
 
AlexEro:

Di cosa stai parlando, Rinat?

I driver Catalyst 11.7 WHQL e 11.8 Preview sono stati letti per il download e AMD ha spostato il loro APP-SDK per accelerare OpenCL

Il mio punto è che voi fate finta che non ci sia l'oggi e cercate di emettere conclusioni palesemente false.

Per esempio, pubblicando le versioni più vecchie delle schede video come prova e ignorando ostinatamente i modelli 7XXX e i driver Catalyst 12.x

A giudicare dalle tue dichiarazioni su Windows 2003, sei un sostenitore del "LORO devono supportare TUTTI" e sulla base della violazione di una condizione così sacra (come ti sembra), il mondo dovrebbe ammettere la sua inutilità e andare a pregare per il perdono. Il mondo va avanti, evolvendosi e rilasciando nuovi e migliori prodotti.

Non sapete come si può scrivere un software incompatibile perché non sviluppate questo software di massa e non sapete quali sono i problemi tecnici e i compromessi necessari. Pretendere che i produttori di schede video supportino la vecchia versione server di Windows 2003 è un estremismo consumistico. I produttori di software sono felici di dimenticare lo zoo dei vecchi sistemi operativi come un brutto sogno. E i costruttori di automobili non fanno che sognare.

P.S.: non c'è bisogno di saltare a un banale metodo comparativo "perché sostengono il 2008" sostituendo la reale comprensione delle cause di fondo

syl: smetti di usare la versione rotta di Windows 2003 Server - è il 2012

 
Renat:

Voglio dire che fate finta che l'oggi non esista e cercate di trarre conclusioni francamente false.

Per esempio, pubblicando le versioni più vecchie delle schede video come prova e ignorando ostinatamente i modelli 7XXX e i driver Catalyst 12.x.

A giudicare dalle tue dichiarazioni su Windows 2003, sei un sostenitore del "LORO devono supportare TUTTI" e sulla base della violazione di una condizione così sacra (come ti sembra), il mondo dovrebbe ammettere la sua inutilità e andare a pregare per il perdono. Il mondo va avanti, evolvendo e rilasciando nuovi e migliori prodotti.

Non sapete come si può scrivere un software incompatibile perché non sviluppate questo software più di massa e non sapete quali sono i problemi tecnici e i compromessi necessari. Pretendere che i produttori di schede video supportino la vecchia versione server di Windows 2003 è un estremismo consumistico. I produttori di software sono felici di dimenticare lo zoo dei vecchi sistemi operativi come un brutto sogno. E i costruttori di automobili non fanno che sognare.

Nota: non c'è bisogno di saltare al banale metodo comparativo "perché allora sostengono il 2008" che sostituisce una reale comprensione delle cause profonde

syl: smetti di usare la versione rotta di Windows 2003 Server - è il 2012

Bene, capisco perfettamente la sua risposta. Ha-ha, spero che lo facciano anche gli altri.

E questo è quanto, probabilmente seguirò il tuo consiglio, è esattamente lo stesso delle mie intenzioni. Quindi vi lascerò tutti qui per un po' - un anno o due.

Addio.

 
AlexEro:

Beh, capisco molto bene la sua risposta. Ha ha, spero che lo facciano anche tutti gli altri.

E ti dico una cosa, seguirò il tuo consiglio, coincide con le mie intenzioni. Quindi vi lascio qui per un po' - un anno o due.

Addio.

Non si direbbe mai da un post che il suo autore è il topicstarter.... Il motivo per cui ha iniziato il thread non è chiaro.
Motivazione: