Hvorfor MATLAB bruker kun 50 prosent av en CPU?

MATLAB og andre ytelse programmer med høy prosessor kan rapportere at de bare bruker en prosentandel av den maksimale tilgjengelige prosessorer, også kalt prosessorer, av en datamaskin. Dette er fordi datamaskiner med mer enn en prosessor krever spesialisert programvare for å gjøre bruk av samtlige prosessorer samtidig. Når en maskin med mer enn en prosessor brukes av programvaren som ikke har denne spesielle programvare, vil datamaskinen rapportere at en brøkdel av den totale CPU er i bruk.

Multicore og Flerbrikke CPUer

Datamaskinprodusenter har flere metoder for å bygge datamaskiner med mer enn én CPU. Et hovedkort kan ha flere CPU chips, med flere prosessorer styringsdata mellom dem. Alternativt spesialiserte "fler" chips har tilsvarende to, fire eller åtte prosessorer bygget inn en enkelt brikke. Flere CPUer vil øke hastigheten på en datamaskin når den kjører flere programmer samtidig, som arbeidet som genereres av samtidige prosesser kan rutes til hvilken CPU er minst opptatt.

Hyperthreading

En enkel påføring prosess kan imidlertid ikke uten videre brytes opp i mer enn en prosessor. Programvare som krever store mengder av beregningsarbeidet vil typisk skape denne forespørselen som en enkelt prosess, som bare kan sendes til en enkelt CPU. En applikasjon kan omskrives for å skape prosesser som kan deles opp over flere prosessorer, som kalles hyperthreading. MATLAB er delvis HyperThreaded, slik at du kan oppnå bedre resultater ved å bruke HyperThreaded beregninger for å erstatte de funksjonene du bruker for øyeblikket. Se i MATLAB dokumentasjon og nettfora for detaljer om hvilke MATLAB funksjoner er hyperthreading-kompatibel.

Femti prosent Reports

Rapporten som MATLAB bruker 50 prosent av CPU er forårsaket av avlytting programvare som klokker CPU-bruken. Med en CPU aktivitet skjerm som rapporterte individuelt på alle CPUer, vil du se at halvparten av prosessorer opererer på 100 prosent, og halvparten er inaktiv. Mange CPU skjermer gjennomsnitt ut all CPU-bruk for å lage et enkelt samlet poengsum, noe som resulterer i ikke-helt-nøyaktig 50 prosent rapport.

alternative grunner

Det er flere grunner til at du ikke kan maksimere din CPU-bruk med MATLAB eller annen dataprogramvare som bruker store mengder data. Hvis du skal bruke en stor database over et nettverk, kan dataene ikke nå MATLAB så raskt, slik at CPU må vente på å få den fulle datasettet. En lokal harddisk vil være raskere enn nettverkslagring, og solid-state lagring som en SSD eller RAM-disken vil være raskere fortsatt.