Perché il solo MATLAB utilizzare il 50 per cento di una CPU?

April 21

MATLAB e altre applicazioni prestazioni ad alta processori possono segnalare che utilizzano solo una percentuale dei processori massimi disponibili, chiamato anche unità centrale di trattamento, di un computer. Questo perché i computer con più di una CPU richiedono software specializzato per sfruttare tutti i processori contemporaneamente. Quando un computer con più di una CPU viene utilizzata dal software che non ha questo software speciale, il computer segnalerà che una frazione del totale CPU è in uso.

Multicore e CPU Multichip

I produttori di computer hanno diversi metodi di costruzione di computer con più di una CPU. Una scheda madre può avere più chip di CPU, con i dati ulteriori processori di routing tra di loro. In alternativa, "multicore" chip specializzati hanno l'equivalente di due, quattro o otto CPU integrate in un singolo chip. Più CPU accelereranno un computer quando è in esecuzione più applicazioni contemporaneamente, come il lavoro generato da processi concorrenti può essere indirizzato a qualsiasi CPU è meno occupato.

hyperthreading

Un singolo processo di applicazione, tuttavia, non può essere automaticamente suddiviso su più CPU. Il software che richiede una grande quantità di lavoro di calcolo in genere creare questa richiesta come un unico processo, che può essere inviato solo ad una singola CPU. Un'applicazione può essere riscritta per creare processi che possono essere suddivisi in alto su più CPU, che si chiama hyperthreading. MATLAB è parzialmente hyperthreaded, quindi si può ottenere risultati migliori per l'utilizzo di calcoli hyperthreaded per sostituire le funzioni che si sta utilizzando. Fare riferimento alla documentazione MATLAB e forum online per informazioni su quali funzioni di MATLAB sono hyperthreading-compliant.

Cinquanta Rapporti Percentuale

Il rapporto che MATLAB sta usando il 50 per cento della CPU è causato dal software di monitoraggio che guarda l'utilizzo della CPU. Con un monitor attività della CPU che ha segnalato individualmente su tutte le CPU, si vedrebbe che la metà dei tuoi CPU stanno operando al 100 per cento, e la metà sono inattivi. Molti monitor medio della CPU fuori tutto l'utilizzo della CPU per creare un unico punteggio complessivo, con la conseguente non del tutto preciso rapporto di 50 per cento.

Motivi alternativi

Ci sono altri motivi per cui non si può essere massimizzare l'utilizzo della CPU con MATLAB o altri software di calcolo che utilizzano grandi quantità di dati. Se si accede a un database di grandi dimensioni su una rete, i dati potrebbero non raggiungere MATLAB più rapidamente, in modo che il CPU deve aspettare per ottenere il set di dati completo. Un disco rigido locale sarà più veloce di storage di rete e storage a stato solido, come un disco SSD o RAM sarà ancora più veloce.