|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#8501 | |
|
Senior Member
Iscritto dal: Mar 2004
Città: Parma
Messaggi: 5959
|
Quote:
__________________
case: phanteks eclipse 500a - cpu: 9800x3d - aio: arctic liquid freezer iii 360 - mobo: msi b650 gaming plus wifi - ram: g.skill flare x5 6000 cl30 - gpu: rtx 5080 fe - storage: samsung 980pro 1tb, 960 evo 500gb, 850pro 512gb - psu: enermax revolution d.f. x 850w |
|
|
|
|
|
#8502 |
|
Member
Iscritto dal: Jul 2009
Città: Torino
Messaggi: 222
|
|
|
|
|
|
#8503 | ||
|
Senior Member
Iscritto dal: Jan 2003
Messaggi: 10395
|
x skizzo: non é detto che lo shader sia compilato prima, potrebbe essere anche compilato in tempo reale, in quel caso ci sarebbe un ulteriore overhead dovuto all´analisi necessaria per la sostituzione. Dipende probabilmente dall´applicazione.
Quote:
Quote:
__________________
PC Specialist Recoil 17 - 13900HX - 32 GB DDR5 5200 - Geforce RTX 4080 Mobile 12Gb 175W - 1 SSD Corsair Core XT MP600 2 TB NVMe - 1SSD Solidigm P41+ 2TB NVMe |
||
|
|
|
|
#8504 | ||
|
Senior Member
Iscritto dal: Feb 2007
Città: Zena Red & Blue
Messaggi: 5010
|
Quote:
Quote:
__________________
MY liquidcooled PC |
||
|
|
|
|
#8505 |
|
Bannato
Iscritto dal: Oct 2009
Messaggi: 6442
|
|
|
|
|
|
#8506 |
|
Senior Member
Iscritto dal: Feb 2007
Città: Zena Red & Blue
Messaggi: 5010
|
In realtà è un'operazione abbastanza facile e veloce, che inoltre migliora il raffreddamento degli HD
__________________
MY liquidcooled PC |
|
|
|
|
#8507 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Firenze
Messaggi: 18096
|
Ragazzi insomma non c'è punte news riguardo Fermi?
Sto aspettando queste schede per scegliere la mia prossima vga tra Ati e Nvidia. Sperando che tornino (almeno Nvidia) a fare delle schede video con lunghezze più contenute come le vecchie G80, e non quelle Limousine che hanno tirato fuori ultimamente, dato che non ne entra nemmeno una nel mio Thermaltake Armor JR
__________________
Amd Ryzen 9950x3D//G.Skill 2x16gb 6000mhz DDR5//RTX 5090 Astral liquid cooled//Asus Strix x870-A//Samsung 990pro Pciex4.0 2tb//Thermaltake ThoughPower 850w//LG C4 oled 42" 144hz 4k//Aquaero 6XT//Edifier S360DB with Topping Dx3Pro+ |
|
|
|
|
#8508 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 38298
|
Quote:
p.s.: ciao, era da molto tempo che non ti vedevo in questi lidi
__________________
Corsair 5000D - Ryzen 7 7700 - Asrock B650E PG - 2x16gb G.Skill Trident Z5 ddr5 6000 mhz - GeForce Rtx 4070Ti S. - Samsung 980 pro 1tb + Crucial mx500 1tb + WD 1tb - Corsair rm850w - LG oled C4 48 le vga che ho avuto |
|
|
|
|
|
#8509 | |
|
Member
Iscritto dal: Oct 2006
Messaggi: 102
|
Quote:
Per quanto riguarda i possibili problemi dell'arrotondamento, quello che mi è venuto in mente è l'integrazione tra la fixed pipeline e quella programmabile. Fino all'arrivo delle directx 8.1/9 e opengl 2.0 le GPU non erano programmabili, per cui gli algoritmi che potevano essere utilizzati (ad esempio per l'illuminazione) erano fissi e sempre gli stessi per tutti. Con l'avvento dei pixel e vertex shader programmabili (ora anche geometry shader e compute shader), ognuno può farsi il suo modello di illuminazine utilizzando più o meno risorse, fare i calcoli per vertex o per pixel, ecc... Inoltre si possono fare processare anche altri dati oltre a quelli prettamente geometrici, per farci godere tutti gli effetti di post-processing tipo depth-of-filed, motion blur, ambient occlusion, ecc... Ovviamente per questione di compatibilità la fixed pipeline (cioè quella non programmabile) è stata mantenuta: non nel senso che ci sono delle unità non programmabili, ma che quando questa funzionalità viene richiesta, viene caricato un codice che fa le stesse operazioni che farebbe una GPU non programmabile. Quest'ultimo concetto è molto importante perchè alcune volte, per alcuni passi di rendering non è necessario accedere a risorse particolari (mi viene in mente ad esempio se uno deve disegnare un HUD con informazioni testuali tipo quello di un fps), per cui un invece che scrivere uno shader di una decina di righe o meno può non usare gli shader e quindi utilizzare le funzioni standard. Ed è qui che può sorgere il problema. Se uno utilizza in uno shader un "risultato" prodotto da un passo "programmabile" con uno proveniente da un calcolo di un passo "fixed", potrebbe succedere che numeri che dovrebbero essere uguali, non lo sono a causa dell'utilizzo di unità diverse che effettuano calcoli a precisione diverse. Per fare un esempio terra terra, un'istruzione che si fa sempre nel vertex shader è: gl_Position = ftransform(); che prende le coordinate del vertice in esame e le trasforma dal "world space" in "clip space" utilizzabili nel pixel shader. Questa operazione emula il comportamento della fixed e può essere svolta "a mano" operando direttamente sulle matrici e vettori: gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; teoricamente dovrebbero portare allo stesso risultato, ma visto che è possibile che una GPU abbia "ottimizzato" in un certo in modo quella operazione matematica, possono esserci delle precisioni "diverse". L'emulazione dlla fixed pipeline garantisce che avrò sempre gli stessi risultati invece. Un esempio tipico di artefatti che possono nascere da cose del genere sono gli “Z-fighting”. Mettiamo che io abbia 2 poligoni paralleli (o mooooolto vicini) alla stessa distanza dalll'osservatore che si trovano almeno in parte sovrapposti (quindi più pixel che li compongono hanno le stesse coordinate z, quelle relative alla profondità). Potrebbe accadere che alcuni pixel siano rilevati come davanti e altri dietro, formado un effetto di miscuglio di colori che viene visto come artefatto. Il problema nasce prorpio da qui. Siccome io devo almeno far funzionare le applicazioni sulla mia scheda, mi sembra ragionevole che se verranno sostituite le MADD con le FMA, verranno anche sostituite nei calcoli che coinvolgono l'emulazione della fixed pipeline, sennò i risultati non sarebbero più confrontabili e si creerebbero probabilmente situazioni come quella descritta in precedenza. Così facendo però, non avremo più i risultati derivanti dalla fixed uguali a quelli delle altre schede, e non so se questo sia accettabile, cioè ci siano dei vincoli numerici di precisione minima e massima da rispettare in questa modalità per essere "standard". Non so se sono stato chiarissimo ma spero che si capisca il succo del discorso |
|
|
|
|
|
#8510 | |
|
Senior Member
Iscritto dal: Jan 2006
Città: Firenze
Messaggi: 18096
|
Quote:
__________________
Amd Ryzen 9950x3D//G.Skill 2x16gb 6000mhz DDR5//RTX 5090 Astral liquid cooled//Asus Strix x870-A//Samsung 990pro Pciex4.0 2tb//Thermaltake ThoughPower 850w//LG C4 oled 42" 144hz 4k//Aquaero 6XT//Edifier S360DB with Topping Dx3Pro+ |
|
|
|
|
|
#8511 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 2389
|
Quote:
Lo SM 3.0 era causa di una altre querelle....HDR or not? |
|
|
|
|
|
#8512 | ||
|
Senior Member
Iscritto dal: Jul 2006
Messaggi: 4801
|
Quote:
Quote:
__________________
2x Xeon E5-2630 v4 ES QK3G - SuperMicro X10DRi - 128GB Crucial LRDIMM 2400MHz - LSI 9211-8i - 8x Samsung 850 EVO 500GB Core i7-7700k - Cooler Master MasterLiquid Pro 280 - Gigabyte Z270X Gaming 7 - 32GB Corsair Dominator 3000MHz CL15 - EVGA GTX 1070 FTW - Crucial MX300 525GB Twitter - LinkedIn |
||
|
|
|
|
#8513 | |
|
Senior Member
Iscritto dal: Jan 2003
Messaggi: 10395
|
Quote:
__________________
PC Specialist Recoil 17 - 13900HX - 32 GB DDR5 5200 - Geforce RTX 4080 Mobile 12Gb 175W - 1 SSD Corsair Core XT MP600 2 TB NVMe - 1SSD Solidigm P41+ 2TB NVMe |
|
|
|
|
|
#8514 | ||||
|
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
Quote:
The CUDA compiler driver splits an application into two parts, one which is run on the host CPU, and the other which is run on the GPU. The CPU code uses the default host compiler, while the GPU code uses a new toolchain that includes Open64. Quindi il compiler ad alto livello non fa altro che dividere in due parti l'applicazione, facendo girare una parte sul compiler di default della cpu e l'altra su un compiler che fa uso di Open64. Il primo ci interessa poco, ai fini di questo discorso (utilizza istruzioni standard della cpu e dell'API su cui gira). Vediamo il secondo. NVIDIA already had a well-tuned low-level compiler for graphics codes, called OCG (Optimized Code Generator). This handles register allocation, scheduling, and peephole optimizations. This compiler is built into the graphics driver for doing just-in-time compilation of graphic codes. qui parla di un optimizer a basso livello e di tipo JIT. Because graphics codes tend to be relatively simple compared to general purpose C code (control flow has only recently been added to DirectX), and due to the compile-time limitations of needing to compile at runtime, it was decided that CUDA needed a high-level optimizer to handle the compute codes There were three options for doing this: write a new proprietary optimizer, use GCC, or use Open64. Writing a new optimizer was ruled out because it would require too many man years to develop. So the choice was between using GCC or Open64. Because of Open64's reputation for optimization (and with my encouragement), we chose Open64. qui si esclude la possibilità di creare un optimizer proprietario ad alto livello perchè ciò avrebbe richiesto troppi anni. Quindi si è scelto quello open64 STANDARD. Ricapitolando: la cpu elabora codice non ottimizzato da nVidia e per la gpu si fa uso di un compiler ad alto livello Open64 STANDARD (per sistemi basati su unix, per win ce n'è un altro). Questo esempio, fatto per CUDA vale anche per OpenGL o DirectX perchè, a basso livello, si fa uso sempre dello stesso optimizer OCG (optimize code generator). In più, il modello di ottimizzazione (che non definirei proprio at runtime) da voi proposto (la cpu fornisce in fase di compilazione il codice alla gpu che lo riceve già bello e pronto per essere elaborato) è giudicato inefficiente dalla stessa nVidia che preferisce ottimizzazioni JIT. Motivi di spreco di risorse, lentezza nel trasferimento dati tra cpu vram e gpu, difficoltà nel mettere le mani su compiler standard o nel progettarne uno custom per intero, questioni di portabilità e di compatibilità con i prodotti passati e futuri con semplici modifiche del codice dell'OCG, credo siano motivi più che sufficienti. E se non siete d'accordo protestate con nVidia. Comunque, proseguiamo: il codice sorgente destinato alla gpu è compilato (non ottimizzato), dunque, da un compiler STANDARD e fornisce istruzioni per PTX (parallel thread execution) che è una VM installata su gpu con una sua ISA. La prima versione 1.0 risale ai tempi di G80 e con fermi si arriva alla versione 2.0. PTX provvede a ricompilare di nuovo il codice lanciando le ottimizzazioni tramite OCG. Questo tool è in grado di riconoscere il tipo di gpu e, di conseguenza, effettuare tutte le ottimizzazioni necessarie pr quella specifica architettura (cosa che una cpu che non ha accesso all'interno della gpu non potrà mai fare). Tra queste ottimizzazioni ci sono anche quelle relative all'uso di preephole che sono delle finestre che permettono di individuare parti di codice su cui intervenire. In questo caso possono permettere di individuare le MADD e effettuare la sostituzione con le FMA in modalità JIT all'interno della gpu. "Casualmente" A questo punto, sei liberissimo di continuare a credere che i driver facciano il "miracolo" di far si che la cpu ottimizzi tutto il codice all'atto della compilazione (hai una visione molto statica delle cose). E che questo avvenga in opengl con compiler custom (ma nVidia pare non voglia perdere tempo a scrivere un compiler per opengl o per open64, o per qualsivoglia piattaforma e preferisce affidarsi a compiler standard) e in D3D (non dimentichiamo che parliamo di fermi e giochi e, quindi soprattutto DX) con la modifica del compiler standard HLSL (operazione che solo un pazzo andrebbe ad intraprendere, quando ci sono vie più sicure e veloci). L'idea, poi, che la cpu possa eseguire ottimizzazioni JIT è ancora più folle: ti do solo un paio di dati: su GT200 il tempo di accesso medio stimato alla vram (non alla ram di sistema, quindi ma a quella video) era di 400-800 cicli, contro i 2-3 cicli di tempo di accesso ai registri interni e i circa 30-40 di accesso alle cache interne). Non oso pensare a quali sarebbero gli access time attraverso ram di sistema, bus pci-ex. e vram. Ci pensi ai disastri di un'ottimizzazione al volo fatta via cpu con, ad esempio, shader procedurali, o istruzioni di tessellation (con vertici fissi e funzione matematica che descrive la superficie da riprodurre) o con istruzioni che generano cascate di dati con cui sono necessarie altrettante istruzioni. Non mi meraviglio che nVidia, avendo a che fare con un processo di tipo dinamico, cerchi di eseguire il maggior numero di operazioni direttamente sulla gpu scaricando, il più possibile, persino la vram, per ridurre le latenze. Quote:
Quote:
Quote:
Quote:
Ultima modifica di yossarian : 30-11-2009 alle 01:57. |
||||
|
|
|
|
#8515 |
|
Senior Member
Iscritto dal: Jul 2005
Messaggi: 7819
|
Dopo "tanto" tempo quando nessuno se lo aspettava più ritorni con una doppietta
__________________
Sample is selezionated !
|
|
|
|
|
#8516 | |
|
Senior Member
Iscritto dal: Jun 2005
Città: Vitória(ES), Brasile
Messaggi: 8155
|
Quote:
![]() Sono juventino
__________________
Se la vita ti da limoni ... Spremili in occhio a qualcuno e corri! |
|
|
|
|
|
#8517 |
|
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
per ottimizzazioni "al volo" è l'unica strada percorribile.
|
|
|
|
|
#8518 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 8605
|
__________________
Steam Deck OLED 2 TB | Ryzen 7 7700 — 2x16GB Corsair Dominator Platinum 6400 MHz — PowerColor Hellhound RX 7700 XT Trattative OK: 1mp3r4t0r, armenico11, Babumba92, CoolBits, Drigerott, gino1221, k.o.z, Macco, Mastermarcox, Mone_82, stacker, Velvet, Vladimiro Bentovich, frupoli, Sheva77, deg626, HcK190, Godmar, Simonxp, LCol84, pp2k, xeno the holy, SamuTnT, fantacaz |
|
|
|
|
#8519 |
|
Senior Member
Iscritto dal: Oct 2005
Città: Palmi
Messaggi: 913
|
Questa l'avevate letta?
http://www.fudzilla.com/content/view/16601/1/
__________________
PC1:Case CM690 II, Asus Crosshair VI Hero, Ryzen 9 5900x+Noctua NH-D15, 4x8 Gb Gskill Flarex 3200, Samsung EVO 840 256 Gb, Crucial P5 plus 1 Tb NVMe, Pioneer APS-SE20Q 1TB NVMe, Toshiba 3 Tb 7200.12, Asus Dual nVidia GeForce RTX 4070 Super Evo OC, Cooler Master 750W PC2:Case CM TD500, Asus Tuf Gaming X870 Plus Wifi, Ryzen 7 5800-X3D, Thermalright PA120 SE ARGB, 2x16 Gskill FlareX 5, Crucial T705 1 Tb, Samsung 990 Pro 2 Tb, Asus Tuf Gaming RX 9070 XT OC Edition, ENERMAX Revolution III 850 Watt |
|
|
|
|
#8520 | |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1659
|
Quote:
E lo direbbe la stessa nvidia. Sicuramente sembra non essere conveniente farlo in directx per i videogames. Forse in opengl è diverso ed è uno dei motivi per cui i giochi si sono spostati tutti su architettura dx. Notate i "sembra" ed i condizionali non per mettere in dubbio quanto dice yossarian ma per sottolineare che non vorrei aver capito male io. Vorrei comunque ringraziare sia Yossarian che skizzo per questa discussione che a me sembra molto interessante.
__________________
ogni minuto muore un imbecille e ne nascono due. Ultima modifica di maurilio968 : 30-11-2009 alle 09:17. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:59.











ma la 5970 non ci va










