| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  23-10-2011, 15:52 | #1 | 
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | 
				
				[C] algoritmo per programma bench
			 
		Ciao a tutti i programmatori del forum   Allora premetto che sono un hardwarista e quindi di programmazione conosco solo html e il C, quindi non mi dite di scrivere in altri linguaggi. Il punto è questo, sto provando a fare un programma che mi permetta di testare la potenza di calcolo della cpu, ma qualsiasi operazioni che io faccia non sono riuscito a mandare i core al 100%, qual'è l'algoritmo per poterlo fare?? esempio wprime e soci... Non chiedo di poter smistare il carico sui multi-core, perchè va probabilmente aldilà delle mie capacità, però vorrei poter mandare al 100% la cpu, conoscete il modo? 
				__________________ 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 | 
|   |   | 
|  23-10-2011, 16:31 | #2 | 
| Senior Member Iscritto dal: Jan 2007 
					Messaggi: 2267
				 | Codice: int i=0;
while(i==i){
   i=i+1;
   if(i==1000)
      i=0;
}Codice: int num=3;
while(true){
   boolean fail = false;
   for(int div=3; div<=sqrt(num) && !fail; div+=2){
      if(num%div == 0) fail = true;
   }
   if(!fail) cout<<num+"è un numero primo.";
   num += 2;
}
				__________________ Concluso con:... Ultima modifica di Floris : 23-10-2011 alle 16:40. | 
|   |   | 
|  23-10-2011, 16:45 | #3 | |
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | Quote: 
   
				__________________ 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 | |
|   |   | 
|  23-10-2011, 16:54 | #4 | 
| Senior Member Iscritto dal: Jan 2007 
					Messaggi: 2267
				 | 
		Purtroppo non l'ho provato perchè ho la CPU impegnata in una conversione. In ogni caso può dipendere anche dalla politica di scheduling del SO. Prova ad impostare la priorità a real-time. 
				__________________ Concluso con:... | 
|   |   | 
|  23-10-2011, 17:10 | #5 | 
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | 
		
impostando real-time, l'utilizzo dei core aumenta, ma non arriva al 100%, ma vorrei più che altro un escamotage a livello di codice per poter sfruttare appieno la cpu. possibile che non si può??
		 
				__________________ 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 | 
|   |   | 
|  23-10-2011, 19:46 | #6 | 
| Senior Member Iscritto dal: Sep 2005 
					Messaggi: 1400
				 | 
		se fai calcoli pesanti su grandi matrici su numeri reali, con ordinamenti e possibilmente e mediante programmazione multi thread dovresti occupare una buona percentuale della cpu. come diceva Floris molto dipende dal SO, queste app piccole con semplici cicli su interi di per se non rappresentano calcoli complessi. se ci pensi anche concettualmente una cpu complessa come quelle moderne con queste cose non sono fruttate al 100%. Con questi approcci analizzi più che altro il tempo di esecuzione, ecco perchè il so ti accoppa la % di utilizzo. ora che ci penso potresti fare un programma per il calcolo del PI grego   Ultima modifica di SerMagnus : 23-10-2011 alle 19:50. | 
|   |   | 
|  23-10-2011, 20:29 | #7 | 
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | 
		
Infatti, per occupare tutta la cpu, ci vuole per forza dietro una programmazione multi-thread. Speravo ci fosse una sorta di metodo per "allocare" o meglio occupare tutta la cpu in quel determinato processo.
		 
				__________________ 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 | 
|   |   | 
|  24-10-2011, 10:12 | #8 | 
| Senior Member Iscritto dal: May 2001 
					Messaggi: 12860
				 | 
		Se sei sotto Linux dai un'occhiata alle librerie pthread   . | 
|   |   | 
|  24-10-2011, 11:01 | #9 | |
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | Quote: 
  grazie 
				__________________ 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 | |
|   |   | 
|  24-10-2011, 11:42 | #10 | |
| Senior Member Iscritto dal: Dec 2005 Città: Istanbul 
					Messaggi: 1817
				 | Quote: 
 se devi solo mandare la cpu a manetta in teoria basta un qualche loop che continui fare calcoli a vuoto. Una cosa idiota tipo Codice: int main()
{
        while(1)
        {
                int y = 10*10;
        }
}
				__________________ One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele | |
|   |   | 
|  24-10-2011, 11:59 | #11 | 
| Senior Member Iscritto dal: Dec 2005 Città: Istanbul 
					Messaggi: 1817
				 | 
		
Che macchina e' e su che sistema operativo ?
		 
				__________________ One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele | 
|   |   | 
|  24-10-2011, 13:46 | #12 | 
| Senior Member Iscritto dal: May 2001 
					Messaggi: 12860
				 | 
		Potrebbe in alternativa usare una fork-bomb    Codice: while(1)
{
   fork();
} | 
|   |   | 
|  24-10-2011, 14:12 | #13 | |
| Senior Member Iscritto dal: Dec 2005 Città: Istanbul 
					Messaggi: 1817
				 | Quote: 
  Codice: :(){ :|:& };:
				__________________ One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele | |
|   |   | 
|  24-10-2011, 15:24 | #15 | 
| Senior Member Iscritto dal: May 2001 
					Messaggi: 12860
				 | |
|   |   | 
|  24-10-2011, 16:03 | #16 | 
| Senior Member Iscritto dal: Dec 2005 Città: Istanbul 
					Messaggi: 1817
				 | 
		
E' solo scritto in modo esoterico se scrivo Codice: bomb()
{
    bomb | bomb &
};
bomb  
				__________________ One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele | 
|   |   | 
|  24-10-2011, 17:47 | #17 | 
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | 
		
Windows e linux , entrambi, le caratteristiche tecniche le trovi in firma. Comunque quello che vorrei fare è un semplicissimo programma che mandi la cpu al 100%. Ma si fa con le fork quindi? Esempio io ho 6 core, come faccio a spostare il carico su tutti e 6?
		 
				__________________ 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 | 
|   |   | 
|  24-10-2011, 18:08 | #18 | |
| Senior Member Iscritto dal: Feb 2006 
					Messaggi: 1304
				 | Quote: 
  Apre un numero infinito di processi che al loro volta aprono un numero infinito di processi, il 100% è assicurato  Per essere sicuro che il tuo programma usa il 100% della CPU probabilmente devi usare delle caratteristiche del sistema, tipo settare l'affinità del processore per assegnare un thread ad ogni core manualmente (altrimenti il SO lo sceglie man mano), e aumentando manualmente la priorità del processo all'interno del programma stesso. Ma comunque non ho capito che te ne fai di un programma che va al 100% della CPU   | |
|   |   | 
|  24-10-2011, 18:23 | #19 | |
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | Quote: 
 
				__________________ 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 | |
|   |   | 
|  24-10-2011, 18:33 | #20 | |
| Senior Member Iscritto dal: Jan 2010 Città: (MB) 
					Messaggi: 11971
				 | Quote: 
   
				__________________ 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 Ultima modifica di tecno789 : 24-10-2011 alle 18:42. | |
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 04:06.









 
		 
		 
		 
		












 
  
 



 
                        
                        










