GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
Moderatori: Arkimed, natas, visualtricks, cappellaiomatto
-
- Advertising
Re: GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
Devo fare il punto della situazione perché sto impazzendo appresso a questo cacchio di codice
Aggiunto il supporto a CuPy, gli ndarray sono sicuramente gestiti meglio, ma le prestazioni sono li (30/35 FPS), io lo so di chi è la colpa ma, non lo diciamo!! Ammetto che ci ho messo quasi un'ora a farlo funzionare perché sono un deficiente e non mi ero accorto di aver sbagliato versione. Adesso si tratta di ottimizzare (non vorrei tediare nessuno con un altro paginone),devo rallentare...
Aver aumentato i vertici interattivi del cucchiaio ha reso la "dinamica" più gradevole e anche se ci sono alcuni artefatti, me ne sbatto, a me interessano solo le prestazioni
https://youtu.be/-XNJYmDrn74
Adesso penso che passero allo splash
https://www.c4dzone.com/it/forum/viewto ... sh#p212335
https://youtu.be/8er24yGtkv4
che, anche se può sembrare pertinente, ha una caratteristica del tutto diversa, finora il dataset era immutato, qui invece va creato dinamicamente...vediamo che ne esce!
Re: GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
Si basa sul primo test (TP Real-Time 3D flocking on GPU https://www.c4dzone.com/it/forum/viewtopic.php?t=35613) in cui però utilizzavo Thinking Particles e il dataset non era dinamico.
Qui vengono generate dal codice 30 particelle per frame, per un totale di 15000 particelle, la funzione CUDA si occupa di calcolare la loro posizione rispetto alle altre e di generare una repulsione morbida. Calcola anche la reazione alla presenza di un pivot.
Ho cercato di mantenere il codice leggero per mostrare prestazioni "pulite" (il più possibile).
In conclusione possiamo vedere come la GPU funzioni allo stesso modo anche per l'esportazione alambicco (o qualsiasi altro caso di creazione di una cache).
https://youtu.be/N5WIwtof1UM
Sto ancora lavorando con Numpy (sarà totalmente sostituito da CuPy in futuro), sperimentando la sincronizzazione dei blocchi CUDA e l'utilizzo della memoria condivisa.
- Allegati
-
- Immagine 2024-08-08 164914.png (476.61 KiB) Visto 1907 volte
Re: GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
Questo scenario descrive una simulazione di interazioni tra particelle soggette alla legge di gravitazione universale (drogata) in una griglia 3D (o 2D) in cui ciascuna particella interagisce solo con quelle vicine portando la complessità computazionale da O(N²) a O(N) → (N*k) dove k è il numero di particelle contenute nelle 26 celle adiacenti + una (quella che contiene la particella in esame) nel caso di griglia 3D e 8 celle + una nel caso di griglia 2D.
In questo video non si vedono prestazioni realtime in viewport ma si intuisce cosa si può ottenere dal codice su cui sto lavorando.
Lasciatevi incantare dalla "fisica" delle particelle quando queste sono così tante...
https://www.youtube.com/watch?v=lTljhHph9O0
Purtroppo mi sono scelto un campo infelice con youtube che ammazza le particelle con la sua compressione da schifo!
Re: GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
ma youtube ti comprime pure se usi 265 e magari 4k?
forse le particelle le rileva come noise e cerca di pulire
Re: GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
In linea di massima è un problema antico intrinseco alla compressione stessa, di qualsiasi codec si tratti (l'Mpeg 2 faceva i quadrotti e il Dvx non andava molto meglio), d'altro canto se vuoi un file centinaia di volte più piccolo a qualcosa devi pur rinunciare (l'MP3 ai tempi ha scatenato una guerra tra puristi e ipoddisti, pur se dichiaratamene la compressione tagliava le frequenze "non udibili" il suono alla fine non era la stessa cosa, si diceva, magari l'orecchio non le sente ma il cuore si, un po come quando si andava ai concerti live della PFM ).
In questo caso si, partire da un file avi è meglio che importare un Mp4 e risoluzioni maggiori portano a minori artefatti, ma con le particelle, se superano una certa velocità non ci sono cacchi, la compressione le distrugge o le allunga per interi fotogrammi, un macello insomma...
Re: GPU vs CPU: Migliorare le Prestazioni di Cinema 4D con CUDA
hai proprio ragione, bei tempi andati...abe3d ha scritto: ↑mer set 04, 2024 5:48 pm Grazie nysn.
In linea di massima è un problema antico intrinseco alla compressione stessa, di qualsiasi codec si tratti (l'Mpeg 2 faceva i quadrotti e il Dvx non andava molto meglio), d'altro canto se vuoi un file centinaia di volte più piccolo a qualcosa devi pur rinunciare (l'MP3 ai tempi ha scatenato una guerra tra puristi e ipoddisti, pur se dichiaratamene la compressione tagliava le frequenze "non udibili" il suono alla fine non era la stessa cosa, si diceva, magari l'orecchio non le sente ma il cuore si, un po come quando si andava ai concerti live della PFM ).
In questo caso si, partire da un file avi è meglio che importare un Mp4 e risoluzioni maggiori portano a minori artefatti, ma con le particelle, se superano una certa velocità non ci sono cacchi, la compressione le distrugge o le allunga per interi fotogrammi, un macello insomma...
ora per l'audio almeno c'è il FLAC
per i video i soliti compromessi...
cmq anche così il tuo lavoro è impressionante
ti giuro che sono stato a rivederlo almeno 3 volte perchè mi incantava hahaha
-
- Advertising
FOLLOW US