DirectX 12 Multiadapter: adesso possiamo sfruttare anche le iGPU dormienti

Il vostro parere, i commenti e le discussioni su tutto quanto pubblicato sul portale di B&C
Rispondi
Avatar utente
Fottemberg
Messaggi: 18875
Iscritto il: martedì 29 novembre 2011, 22:52

DirectX 12 Multiadapter: adesso possiamo sfruttare anche le iGPU dormienti

Messaggio da Fottemberg »

PC: Lenovo Ideapad Gaming 3 15.6", Ryzen 5 4600H, 2x8GB Crucial Ballistix DDR4-2667, GeForce 1650Ti 4GB, M.2 512GB NVMe Samsung PM991, M.2 512GB NVMe Toshiba RC500, Windows 10 Home
Immagine

Radeon80
Messaggi: 582
Iscritto il: domenica 13 luglio 2014, 14:05

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da Radeon80 »

Sono curioso di vedere se verrà mai sfruttata l'accoppiata iGPU e GPU discreta.
Lo dico perchè io ho proprio l'accoppiata A10-7850K e R9 290.
:mrgreen:

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

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da Alessio89 »

La cosa non è affatto automatica o semplice da gestire: se il carico che si fa sulla iGP si fa troppo elevato si rischia di peggiorare notevolmente la situazione rendendo la simulazione ingiocabile. Probilmente chi ne farà uso dovrà appoggiarsi a degli algoritmi di euristica che permettono di escludere l'adattatore secondario se necessario..

Quello che le API di cross-node/multi-adapter (il supporto multi-engine vale già per le configurazioni a singole GPU) hanno invece veramente di interessante è d' controllare esplicitamente il multi-GPU, e ad avvantaggiarsi saranno le configurazioni tradizionali di SLI e CrossFire.

Io continuo a sperare di vedere delle versioni di bulletphysx girare su una igp intel o su una igp amd..

EDIT: posso confermare che ora le DirectX 12.0 sono feature complete, ovvero siamo ufficialmente in quella che si potrebbe definire "beta", la caccia grossa ai bug di runtime e driver è aperta :mrgreen:

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

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da Alessio89 »

Meanwhile @Square Enix, Japan:



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

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da Fottemberg »

Su WCCFTech sono ancora lì ad affermare che sarà possibile realizzare configurazioni CrossSLI. :rotfl:

http://wccftech.com/directx-12-multiada ... nce-gains/

DX12 can further allow several Multi-GPU configuration such as allowing CrossFire and SLI cards to work in harmony
PC: Lenovo Ideapad Gaming 3 15.6", Ryzen 5 4600H, 2x8GB Crucial Ballistix DDR4-2667, GeForce 1650Ti 4GB, M.2 512GB NVMe Samsung PM991, M.2 512GB NVMe Toshiba RC500, Windows 10 Home
Immagine

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

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da Alessio89 »

Eppure non è difficile da capire (basta poi guardare la guida su MSDN)

- La cosa non è automatica ma deve essere gestita in maniera esplicita e manuale dagli sviluppatori, non vi sarà mai un driver miracoloso.
- Le geforce usano ancora il ponticello SLI
- Le GCN 1.0 usano il ponticello Crossfire.
- I due ponticelli non sono compatibili a livello di connessione fisica, figuriamoci a livello di segnale.
- Le GCN 1.1 e successive usano il DMA via PCI-E
- Le Geforce non supportano alcun tipon di DMA via PCI-E

Solutione? Far passare DUE volte (avanti ed indietro) i buffer fra i canali PCI-E delle due schede (se sono due, figuriamoci se sono di più!). Il trasferimento via PCI-E è LENTO e ad una ALTA LATENZA. Infine in mezzo c'è la CPU e la memoria di sistema (da qualche parte il buffer devo metterlo!) a rallentare ulteriormente le cose. Ci sono state delle ottimizzazioni ma i problemi prestazionali rimangono grossomodo.

L'esempio è stato fatto con le iGP perché hanno architettura UMA, il che significa che se dalla GPU discreta faccio un writeback sulla memoria di sistema (via PCI-E) questo poi è immediatamente (o quasi) accessibile alla IGP che dopo averlo elaborato può essere (quasi) immediatamente caricato sulla GPU discreta (di nuovo via PCI-E). Nonostante questa sia la strada più veloce nell'esempio la iGP lavora con un ritardo di 1 frame rispetto alla GPU discreta.
Con le dedicate è peggio perché c'è un passaggio in più fra PCI-E e memoria di sistema.

Se un giorno tutti i produttori si accorderanno per uno standard hardware e software (servono entrambi!) per lettura e scrittura in DMA, allora il tutto sarà molto veloce e le possibilità aumenteranno, seppur tutto dovrà essere sempre gestito manualmente ed esplicitamente dall'applicazione. Le DX12 non escludono a propri questa possibilità in quanto sono API agnostiche dal punto di vista del produttore della GPU.

Escludendo i lavori in differita sulel iGP le API in questione invece daranno il meglio di loro con configurazioni multi-GPU tradizionali (sia multi scheda sia a schede csingole on doppia GPU) in quanto il tutto viene gestito manualmente e non c'è più l'euristica del driver a dover fare il lavoro (spesso impossibile da fare).

Vi sono sostanzialmente tre tier di livello di supporto: emulato, tier1 e tier2. Il livello emulato è il tier 1 con emulazione software e consente solo operazioni di store&load di buffer in soldoni. Il tier 2 invece permette di far lavorare le GPU in maniera quasi del tutto naturale e non ci sono grosse limitazioni.

Allo stato attuale del mercato i primi due livelli saranno sicuramente gli unici disponibili in configurazioni eterogenee, il trerzo livello dovrebbe essere disponibile su configurazioni omogenee (e non è detto che sia sempre così). Allo stato attuale non ho purtoppo un resoconto vero e proprio, anche perché non tutti i produttori hanno già dei driver compatibili con il multi-gpu e quelli che lo hanno non mi è dato sapere fino a quale livello.

In soldoni: armonia un par di cazzi.

Gli scenari veramente inressanti continuano a rimanere i motori fisici accellerati via GPU e le configurazioni omogenee.

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

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da dobermann77 »

Solo secondo me è la risposta di Microsoft ad HSA? :cool:

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

Re: DirectX 12 Multiadapter: adesso possiamo sfruttare anche

Messaggio da Alessio89 »

HSA non è altro che uno standard di interpolazione per il GPGPU, né più né meno. Fino ad ora non ho visto nessun tenativo di Microsoft di rifrescare C++AMP (compatibile con lo standard HSA).
Ora come ora per le DirectX 12.0 il focus è esclusivamente sul gaming per i PC su desktop. Altro non posso dire.

Rispondi