|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2008
Messaggi: 75
|
Matlab ed uso del processore
Salve,
uso matlab (programma di calcolo numerico) sia su un portatile che su un desktop. Il desktop monta un amd athlon xp di 5 anni fa, mentre sul portatile ho un intel T7700. Quando faccio girare una routine di matlab sul desktop il processore è impegnato al 100% e impiega 60 secondi per l'esecuzione, mentre quando gira sul portatile i due processori sono impegnati tutti e due al 50% ed impiega 30 secondi per l'esecuzione. Ora mi chiedo: se sul portatile almeno uno oppure entrambi i processori si potessero impegnare al 100%, si potrebbe impiegare ancor meno tempo per l'esecuzione della routine di matlab? thanks ![]() |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jan 2008
Messaggi: 75
|
...qualcuno ha qualche consiglio da darmi....
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2000
Città: Trento
Messaggi: 1809
|
Premesso che non mi intendo di Matlab.
Il problema è che il software non è in grado di sfruttare la presenza di una cpu dual-core. Potresti provare se cambia qualcosa lanciano il programma e settando l'affinità dal Task Manager. Prima però controlla se sul sito ufficiale di Matlab hanno qualche aggiornamento relativo all'utilizzo di cpu multicore.
__________________
Assistenza PC? Lego ™ Fans Club yuke yuke DUKE FLEED tobe tobe GRENDIZER! Casa passiva KlimaHaus |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Feb 2002
Città: Granducato di Toscana
Messaggi: 10187
|
Quote:
Quel 50% che vedi è perchè lil software avora un po' su un core e un po' sull'altro, ma mai contemporaneamente su entrambi. Non cambia quindi niente se tu forzi il programma a lavorare soltanto su uno (modificando l'affinità come ti è stato suggerito). Vedresti solamente un core al 100% e l'altro a zero (o quasi visto che ci sono le altre applicazioni in background) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2005
Città: Modena
Messaggi: 1246
|
Qualche notizia al riguardo: http://www.mathworks.com/support/sol.../1-372IPG.html
Per farla breve, Matlab stesso NON supporta il multithreading, ovvero il codice non è predisposto per trarre vantaggio da più core simultaneamente, per ragioni che non vengono espresse nell'articolo. Si può però godere del multithreading ad esempio quando si fa riferimento alle librerie BLAS (per tutti i patiti dell'Algebra Lineare) e alle 'Distributed Computing Toolbox'. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jan 2008
Messaggi: 75
|
...grazie per le risposte...
![]() In effetti se a matlab gli faccio usare un solo processore, questo viene sfruttato al 100% mentre l'altro sta fermo....in sostanza però non cambia nulla, usare uno solo al 100% oppure entrambi al 50% stesso tempo di esecuzione....peccato che non sia predisposto all'utilizzo di più processori ![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:08.