Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme
ASUS e Noctua tornano a collaborare con la GeForce RTX 5080 Noctua OC Edition, una scheda pensata per chi cerca potenza estrema e silenziosità assoluta. Il nuovo sistema di raffreddamento, con tre ventole Noctua NF-A12x25 G2 da 120 mm e una camera di vapore maggiorata, promette temperature record e rumorosità quasi impercettibile. Non mancano dual BIOS, materiali di qualità e ampie possibilità di overclock. Ma quanto migliora davvero rispetto alla Founders Edition? Scoprilo nel nostro test completo.
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-10-2011, 19:10   #41
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
A ottenere cosa? Come ho già detto, è praticamente impossibile farlo.

Se hai conoscenze di architetture degli elaboratori, prenditi lo schema interno di una CPU, conta tutte le sezioni che ci sono, le unità di esecuzione, e cerca di immaginare un mix di istruzioni che potrebbe impegnarle tutte.

Girala quanto vuoi, vedrai che, a conti fatti, qualcuna rimarrà sempre a girarsi i pollici.
a ottenere il 100% su tutti i core...
sinceramente ho sottovalutato la questione, non credevo fosse così complicato visto che ce ne sono a bizzeffe di programmi bench.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2011, 19:37   #42
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Se già non ci riesci su un solo core, figuriamoci su 4.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2011, 19:39   #43
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Se già non ci riesci su un solo core, figuriamoci su 4.
ahahah

no ma ho visto che se metti in wprime 1 solo core, non riesce a caricartelo singolarmente ma viene utilizzato un pò da tutti, però quando li utilizza tutti, li spreme al massimo tutti. Comunque il codice BANALE che hai visto sopra, mi carica un core intero
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2011, 20:23   #44
Mirkolo
Senior Member
 
L'Avatar di Mirkolo
 
Iscritto dal: Sep 2007
Messaggi: 329
Non diciamo cavolate, se vuole portare la CPU al 100% può farlo con il minimo sforzo, e i pezzi di codice riportarti da me sono un semplice esempio. Ovvio che un minimo punto percentuale verrà sfruttato dal sistema operativo, ma parliamo di nanosecondi. I programmi che fanno benchmark devono essere lanciati con un installazione pulita e senza troppi processi in esecuzione, proprio per avere misurazioni più attendibili.

Il problema semmai è sfruttare al 100% la cpu in un algoritmo generico. Non tutti gli algoritmi possono essere adattati facilmente e efficacemente al multithreading. Spesso sono necessarie sincronizzazioni che obbligano alcuni thread a mettersi in attesa dei risultati generati da altri thread, riducendo il carico di lavoro totale.

@Tecno789: i pezzi di sorgente da me riportati sono per Win32 e richiedono un #include<windows.h> all'inizio. Se hai altri problemi di compilazione basta che chiedi.

@dierre: è vero se devi fare verifica tipo a == b, in tal caso meglio controllare che il valore assoluto della differenza sia minore di un certo epsilon. Per per confronti tipo il mio a < b non serve a nulla.
__________________
Canon EOS 5D3 | 16-35 f/4 L IS | 24-105 f/4 L IS | 70-200 f/4 L IS | 14 f/2.8 | 24 f/1.4 L | 35 f/1.4 | 135 f/2.0 L | Canon 430EX
Mirkolo è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2011, 20:30   #45
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da Mirkolo Guarda i messaggi
Non diciamo cavolate, se vuole portare la CPU al 100% può farlo con il minimo sforzo, e i pezzi di codice riportarti da me sono un semplice esempio. Ovvio che un minimo punto percentuale verrà sfruttato dal sistema operativo, ma parliamo di nanosecondi. I programmi che fanno benchmark devono essere lanciati con un installazione pulita e senza troppi processi in esecuzione, proprio per avere misurazioni più attendibili.

Il problema semmai è sfruttare al 100% la cpu in un algoritmo generico. Non tutti gli algoritmi possono essere adattati facilmente e efficacemente al multithreading. Spesso sono necessarie sincronizzazioni che obbligano alcuni thread a mettersi in attesa dei risultati generati da altri thread, riducendo il carico di lavoro totale.

@Tecno789: i pezzi di sorgente da me riportati sono per Win32 e richiedono un #include<windows.h> all'inizio. Se hai altri problemi di compilazione basta che chiedi.

@dierre: è vero se devi fare verifica tipo a == b, in tal caso meglio controllare che il valore assoluto della differenza sia minore di un certo epsilon. Per per confronti tipo il mio a < b non serve a nulla.
grazie mille..
comunque per quanto riguarda i tuoi sorgenti ho provato a compilarli ma mi da errori vari e non riesco a testarli.
Comunque volevo solo capire come fai ad utilizzare la funzione createthread, perchè non ho ancora capito poi sull'algoritmo di funzionamento ci lavorerò su io..
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2011, 21:57   #46
Mirkolo
Senior Member
 
L'Avatar di Mirkolo
 
Iscritto dal: Sep 2007
Messaggi: 329
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)calcola, (LPVOID)0, 0, NULL);

Crea un nuovo thread il cui codice è quello della funzione "calcola", che deve tornare un int e prendere un puntatore a void come parametro. Dopo quella chiamata, se non ci sono stati errori, in memoria ci saranno due thread: quello principale che ha fatto la chiamata, che è quindi libero di proseguire, e quello dato dalla funzione calcola, che morirà quando il codice tornerà con una return.
Per fare in modo che il thread principale attenda il termine del thread che ha creato c'è la funzione WaitForSingleObjext, che prende in ingresso l'handle del thread (ritornato dalla CreateThread) e come secondo parametro il massimo tempo di attesa, o INFINITE se vuoi attendere senza limite.

Ricapitando: si parte con un solo thread, appena chiami h = CreateThread(...) ne avrai in esecuzione due. Per far sì che il padre attenda il termine del figlio chiami WaitForSingleObject(h, INFINITE); da questo punto in poi in memoria ci sarà nuovamente solo un thread.
__________________
Canon EOS 5D3 | 16-35 f/4 L IS | 24-105 f/4 L IS | 70-200 f/4 L IS | 14 f/2.8 | 24 f/1.4 L | 35 f/1.4 | 135 f/2.0 L | Canon 430EX
Mirkolo è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2011, 22:06   #47
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da Mirkolo Guarda i messaggi
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)calcola, (LPVOID)0, 0, NULL);

Crea un nuovo thread il cui codice è quello della funzione "calcola", che deve tornare un int e prendere un puntatore a void come parametro. Dopo quella chiamata, se non ci sono stati errori, in memoria ci saranno due thread: quello principale che ha fatto la chiamata, che è quindi libero di proseguire, e quello dato dalla funzione calcola, che morirà quando il codice tornerà con una return.
Per fare in modo che il thread principale attenda il termine del thread che ha creato c'è la funzione WaitForSingleObjext, che prende in ingresso l'handle del thread (ritornato dalla CreateThread) e come secondo parametro il massimo tempo di attesa, o INFINITE se vuoi attendere senza limite.

Ricapitando: si parte con un solo thread, appena chiami h = CreateThread(...) ne avrai in esecuzione due. Per far sì che il padre attenda il termine del figlio chiami WaitForSingleObject(h, INFINITE); da questo punto in poi in memoria ci sarà nuovamente solo un thread.
grazie mille della delucidazione, io lavoravo con le fork e questo createthread non me lo ricordavo.

quanti thread mi consigli di aprire per eseguire un'operazione matematica?
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2011, 05:59   #48
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
ahahah

no ma ho visto che se metti in wprime 1 solo core, non riesce a caricartelo singolarmente ma viene utilizzato un pò da tutti, però quando li utilizza tutti, li spreme al massimo tutti. Comunque il codice BANALE che hai visto sopra, mi carica un core intero
Se per te "caricare un core intero" equivale a vedere la sua barretta al 100% nel task manager, è molto facile arrivarci.
Quote:
Originariamente inviato da Mirkolo Guarda i messaggi
Non diciamo cavolate, se vuole portare la CPU al 100% può farlo con il minimo sforzo, e i pezzi di codice riportarti da me sono un semplice esempio. Ovvio che un minimo punto percentuale verrà sfruttato dal sistema operativo, ma parliamo di nanosecondi. I programmi che fanno benchmark devono essere lanciati con un installazione pulita e senza troppi processi in esecuzione, proprio per avere misurazioni più attendibili.

Il problema semmai è sfruttare al 100% la cpu in un algoritmo generico. Non tutti gli algoritmi possono essere adattati facilmente e efficacemente al multithreading. Spesso sono necessarie sincronizzazioni che obbligano alcuni thread a mettersi in attesa dei risultati generati da altri thread, riducendo il carico di lavoro totale.
Vedi sopra, e peraltro mi sembrava di aver scritto in maniera chiara cosa intendessi.

Visto che sembri non aver capito, ecco qui:

Questo è un "blocco funzionale" (che integra due core) dell'ultima architettura di AMD.

Fammi vedere con quale mistura di codice riusciresti a impegnare tutte sezioni e unità d'esecuzione di un solo core.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2011, 19:30   #49
Mirkolo
Senior Member
 
L'Avatar di Mirkolo
 
Iscritto dal: Sep 2007
Messaggi: 329
Io avevo capito che lui volesse scrivere un software per fare benchmark, se non è così allora ritiro tutto. In tal caso qualsiasi cosa giri sopra un sistema operativo non va bene, idem se utilizza linguaggi di alto livello. Oltre al fatto che va scritto un codice ad hoc diverso per ogni processore esistente. Ma non ne capisco l'utilizzo.

Se invece l'intento era di fare un software di benchmark, lo scopo di questi è di testare i tempi di calcolo del processore con algoritmi di uso frequente, come l'ordinamento, FFT o altre cose che ricapitano fuori in vari ambiti e quindi sono una buona base per avere un'idea di massima delle doti velocistiche del processore. Ovvio che un test del genere su un solo thread andrà a vantaggio di processori con pochi core e alte frequenze, piuttosto che con molti core e frequenze inferiori. Motivo per cui ho consigliato di lanciare tanti thread quanti sono i processori logici del sistema. Tutto qui.
__________________
Canon EOS 5D3 | 16-35 f/4 L IS | 24-105 f/4 L IS | 70-200 f/4 L IS | 14 f/2.8 | 24 f/1.4 L | 35 f/1.4 | 135 f/2.0 L | Canon 430EX
Mirkolo è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2011, 19:34   #50
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da Mirkolo Guarda i messaggi

Se invece l'intento era di fare un software di benchmark, lo scopo di questi è di testare i tempi di calcolo del processore con algoritmi di uso frequente, come l'ordinamento, FFT o altre cose che ricapitano fuori in vari ambiti e quindi sono una buona base per avere un'idea di massima delle doti velocistiche del processore. Ovvio che un test del genere su un solo thread andrà a vantaggio di processori con pochi core e alte frequenze, piuttosto che con molti core e frequenze inferiori. Motivo per cui ho consigliato di lanciare tanti thread quanti sono i processori logici del sistema. Tutto qui.
si si avevi capito bene, sto studiando un modo per aprire i thread ma mi da errori in compilazione, purtroppo me lo sto facendo da autodidatta e ci devo sbattere la testa un pò.

poi vabbè rimane un programmino del "cavolo" non è che lo mando alla microsoft

no perchè il mio intento non era quello di mettere in mezzo le istruzioni.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
GPU da 2.000 condannata a morte dal cavo...
ROG Xbox Ally X vola...senza Windows 11:...
Pasta termica 'killer', attenzione a que...
Il nuovo drone ucraino terrorizza i russ...
Hyundai IONIQ 9 porta l'intelligenza art...
Arlo Ultra 2 in super offerta su Amazon:...
MacBook M3 e GeForce RTX 5090? Possibile...
Da Hinton a Wozniak, ecco chi chiede di ...
Gli autobus elettrici possono essere pi&...
Come aggiornare il PC spendendo poco: GP...
Netflix punta sull'interattività:...
Amazon lancia Blink Mini 2K+ e Blink Arc...
CMF Watch 3 Pro: dice la sua a meno di 1...
Hacker guadagnano oltre 500.000 dollari ...
Nintendo annuncia un nuovo Direct dedica...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v