Tier e Feature Level: vediamo di fare un po' di chiarezza

Il vostro parere, i commenti e le discussioni su tutto quanto pubblicato sul portale di B&C
Paro
Messaggi: 98
Iscritto il: domenica 22 settembre 2013, 14:58

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Paro »

Ho la sensazione di star per scrivere qualche castroneria, ma oh, ormai pure i "grandi" portali di informatica non si fanno problemi a pubblicare articoli da ferramenta, indi per cui sparo anch'io a zero nei commenti.

Ma i vincoli hardware nei tier 1 e 2 come e chi si suppone debba gestirli?
Forse ho frainteso, ma mi par di capire che se una gpu "è collocata" in un certo tier, lì ci rimane a vita indipendentemente dal driver e software che la utilizzano. Se solo amd può vantare un supporto a tier 3, significa che uno sviluppatore, volendo che il proprio software giri sia su hardware nvidia che amd, deve ragionare entro i limiti di un tier 2, ovvero tener conto delle limitazioni hardware previste?
Alla luce di questo, si potrebbe dire che la comodità e la libertà data da tier 3 è un lusso che gli sviluppatori non possono ancora permettersi, dovendo (per forza di cose mercato) supportare anche hardware nvidia?
Oppure non ho capito una fava e sono le API direttamente a gestirsi il binding più o meno efficientemente ed a seconda dell'hardware e allo sviluppatore non è data alcuna responsabilità tecnica?

I "feature level", sono puramente indicativi come mi par di capire? Ma come fa uno sviluppatore a sapere quali feature sono presenti su un hardware? O meglio, come potrebbe sapere se una gpu alla fine della fiera supporta le funzionalità di cui abbisogna?
Personalmente non sappiamo se questa sia orchestrata da una casa in particolare o semplicemente da qualche giornalista un po’ ignorante in materia.
Probabilmente entrambe, la prima aiutata anche involontariamente dalla seconda.
Fottemberg ha scritto:Ci voleva proprio questa spiegazione. In 24 ore sono usciti articoli uno più cazzone dell'altro. :asd:
Ore? Mesi, piuttosto.
Avvertimento Generale:
Se, leggendo un mio post, ti sembra che, tra le righe, io ti stia mandando a quel paese, allora hai un buon intuito.
Immagine

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Alessio89 »

Radeon80 ha scritto:Ottima notizia chiarificatrice su come sono strutturate le dx12.
Ringrazio sopratutto Alessio che grazie ai suoi post mi ha dato molto chiarezza riguardo sia la struttura delle dx12 e spegato le varie differenze tra i tier e le freature level delle nuove api Microsoft.
Una cosa che non mi aspettavo è la notevole differenza a livello di supporto dx12 tra GCN 1.0 e 1.1.
Mi ricordo che quando lessi le caratteristiche architetturali di Hawaii erano state fatte modifiche "qua e la" rispetto a Tahiti senza stravolgere le prestazioni nei giochi.
Tra GCN 1.0 e GCN 1.1 vi sono differenze minime a livello di ISA, però tali differenze consentono a GCN 1.1 e successive di supportare il tier2 delle tiled resource, mentre GCN 1.0 è ferma al tier1 (che corrisponde grossomodo all'estensione GL_AMD_sparse_texture). Questo è l'unico motivo per cui GCN 1.0 non supporta il feature level 12.0.
grog ha scritto:Una bella complicazione, fatta apposta per confondere persino gli appassionati.

<Rant Mode ON> Considerando poi che i giochi sono sviluppati al 99% per l'hardware delle console queste cose sono totalmente fuorvianti, visto che queste funzionalità non verranno sfruttate.
Per me l'unico motivo serio per cambiare la scheda video oggi è il passaggio a monitor con definizione maggiore. <Rant Mode OFF>
Per gli sviluppatori non è una grande complicazione, rispetto alle versioni iniziali di Direct3D 12 è stata fatta un'enorme semplificazione e l'API è diventata enormemente più facile da usare senza aumentarne l'astrazione (sembra un paradosso ma è così). Prendendo i vari tier, i feature level e le varie singole funzionalità opzionali D3D12 rimane nettamente meno caotica di quello che fu Direct3D 9 e le versioni precedenti di D3D, per non parlare dell'extension Hell di OpenGL (che a quanto pare verrà in buona parte ereditato da Vulkan).
galuffo ha scritto:Complimenti ad Alessio. Benche abbia capito poco (mia ingnoranza), fa sempre piacere vedere persone preparate e disponibili.
Cmq penso che tutta questa storia sia piu votata al marketing becero. Il "bello" non lo vedremo prima delle 16nm

Ps. Che lavoro fai?
Attualmente sono disoccupato/studente, tuttavia ad ottobre 2014 sono riuscito ad entrare nell'eary access program (il programma ad accesso anticipato - e chiuso) delle DirectX 12. Ho iniziato ad interessarmi alla programmazione 3D qualche anno fa con le DX11, Personalmente trovo le nuove API molto più naturali e facili da usare, sebbene richiedano del lavoro in più.

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Alessio89 »

Paro ha scritto:Ho la sensazione di star per scrivere qualche castroneria, ma oh, ormai pure i "grandi" portali di informatica non si fanno problemi a pubblicare articoli da ferramenta, indi per cui sparo anch'io a zero nei commenti.
Le castronerie si sparano con le risposte, non con le domande :p
Paro ha scritto:Ma i vincoli hardware nei tier 1 e 2 come e chi si suppone debba gestirli?
Sta allo sviluppatore interrogare la periferica per capire quali siano i suoi limiti fisici e software.
Paro ha scritto:Forse ho frainteso, ma mi par di capire che se una gpu "è collocata" in un certo tier, lì ci rimane a vita indipendentemente dal driver e software che la utilizzano. Se solo amd può vantare un supporto a tier 3, significa che uno sviluppatore, volendo che il proprio software giri sia su hardware nvidia che amd, deve ragionare entro i limiti di un tier 2, ovvero tener conto delle limitazioni hardware previste?
Sì, i tier del resource binding sono fissi, è stata praticamente la prima cosa stabilita e ormai i driver riportano la situazione finale al riguardo da tempo. Per altre funzionalità invece non è ancora detta l'ultima parola, specialmente per le ultime introdotte.
Gli sviluppatori devono tener conto dei tier dell'hardware che vogliono supportare, la cosa è piuttosto semplice da gestire: una volta interrogato l'hardware basta usare ad esempio dei percorsi condizionali diversi se si sa che il proprio software può sforare i limiti di un tier. Per le GPU AMD non sarà necessaria alcuna modifica, il che potenzialmente permette di diminuire la complessità del codice da eseguire se il programma gira sotto GPU AMD, il che può comportare ulteriore minor overhead (sovraccarico) della CPU e della GPU.
Paro ha scritto:Alla luce di questo, si potrebbe dire che la comodità e la libertà data da tier 3 è un lusso che gli sviluppatori non possono ancora permettersi, dovendo (per forza di cose mercato) supportare anche hardware nvidia?
Oppure non ho capito una fava e sono le API direttamente a gestirsi il binding più o meno efficientemente ed a seconda dell'hardware e allo sviluppatore non è data alcuna responsabilità tecnica?
Vedi sopra.
Per il resto le nuove API non gestiscono praticamente nulla, fanno quasi esclusivamente da tramite fra il programma ed il driver video. Con D3D11 le versioni precedenti invece era quasi tutto gestito automaticamente (entro i limiti supportati dall'API).
Paro ha scritto:I "feature level", sono puramente indicativi come mi par di capire? Ma come fa uno sviluppatore a sapere quali feature sono presenti su un hardware? O meglio, come potrebbe sapere se una gpu alla fine della fiera supporta le funzionalità di cui abbisogna?
I feature level sono indicativi nel senso che servono solo a raggruppare determinate funzionalità in un colpo solo. In pratica sono una comodità per chi sviluppa.
Per capire quale feature level supporta una GPU basta provare a creare device (l'interfaccia che può essere vista come la rappresentazione virtuale della GPU) con un determinato feature level, se la creazione ha successo la GPU supporta quel determinato feature level, altrimenti no. Iterando in maniera decrescente fra i vari feature level che si vogliono avere alla fine si ottiene una device con il feature level più alto supportato dalle periferica.
Per tutte le altre funzionalità si interroga la device creata.
Paro ha scritto:
Personalmente non sappiamo se questa sia orchestrata da una casa in particolare o semplicemente da qualche giornalista un po’ ignorante in materia.
Probabilmente entrambe, la prima aiutata anche involontariamente dalla seconda.
Io ci metto pure l'incompetenza del reparto pr-marketing di AMD. :asd: Parere personale ovviamente.

dobermann77
Messaggi: 1081
Iscritto il: martedì 6 agosto 2013, 19:58

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da dobermann77 »

Per gli amanti delle DirectX 12,
tanta chiara documentazione sul sito Microsoft

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

:cool:

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Alessio89 »

Giusto per chiarire: la tabella apparsa oggi su wikipedia inglese riguardante le funzionalità opzionali è incompleta e fa riferimento ai driver attuali. La situazione finale sarà diversa in alcuni aspetto (sia per quelli che mancano sia per alcuni già elencati).

dobermann77
Messaggi: 1081
Iscritto il: martedì 6 agosto 2013, 19:58

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da dobermann77 »

Dalla tabella la cosa piu' interessante è la conferma che Skylake avra' supporto DX 12.0,
quindi avremo un'evoluzione della Iris di Broadwell :cool:

http://en.wikipedia.org/wiki/Direct3D#Direct3D_12

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Alessio89 »

dalle IGP HD Graphics Gen 7.5 c'è il supporto alla virtual memory e alle tiled resources (per haswell queste ultime sono state abilitate appositamente via driver, prima non erano abilitate per motivi prestazionali), pertanto DirectX 12 sono supportate (il nome del feature level non c'entra con il supporto all'API, sono stufo di ripeterlo, hanno mantenuto quei nomi per semplificare la struttura delle interfacce comuni a DXGI).

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Alessio89 »

Per chi fosse interessato, pare che Skylake sarà un tier 2 nel resource binding e feature level 12.0... Non sapevo se l'argomento fosse o meno sotto NDA, non seguo molto queste date ed essendo parte dell'EAP a volte mi sento le mani legate nel comunicare cose che potrebbero o meno essere sotto riserva..

dobermann77
Messaggi: 1081
Iscritto il: martedì 6 agosto 2013, 19:58

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da dobermann77 »

In quella tabella Maxwell 2.0 non sfigura rispetto a GCN 1.2 :0

Ma come hai gia' detto,
sicuramente ci sono un sacco di informazioni assenti,
imperfette, non definitive ecc... :cool:

Comunque attendo Maxwell 2.5/3.0,
insomma le schede che usciranno dopo l'estate.
Ultima modifica di dobermann77 il domenica 7 giugno 2015, 12:47, modificato 1 volta in totale.

Avatar utente
Fottemberg
Messaggi: 19411
Iscritto il: martedì 29 novembre 2011, 22:52

Re: Tier e Feature Level: vediamo di fare un po' di chiarezz

Messaggio da Fottemberg »

Leggendo diversi forum italiani ... posso confermare che nonostante molti utenti abbiano letto questo articolo, in pochi in realtà ci hanno capito qualcosa. Le FL 12.1 per moltissimo sono ancora un aspetto fondamentale per il pieno supporto alle DX12. :asd:
PC: CoolerMaster MasterBox Q300P, AMD Ryzen 7 5800X, Thermalright Peerless Assassin 120 SE, GIGABYTE B550M AORUS ELITE, 2x32GB Patriot Viper DDR4-3600, Asus Dual RX6650XT 8GB, SSD Toshiba RC500 512GB, SSD Lexar NM790 2TB, CoolerMaster V650 Gold, Windows 11 Home
Immagine

Rispondi