Why is the maximum number of elements in an array or matrix in 64-Bit MATLAB limited to 2^48-1 and not 2^63-1 ?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 27 Giu 2009
Modificato: MathWorks Support Team
il 14 Giu 2021
The largest valid index into an array for the 32-bit MATLAB is 2^31-1.
Similarly, I expect the largest valid index for the 64-bit MATLAB is 2^63-1.
I want to know what is the significant of the number 2^48-1 in limiting the array/matrix elements.
Risposta accettata
MathWorks Support Team
il 14 Giu 2021
Modificato: MathWorks Support Team
il 14 Giu 2021
The current 64-bit processors from AMD and Intel do not actually support 64-bit addressing. They only have 40 physical address pins and can support 48-bits virtual addressing. (For more information, please see https://en.wikipedia.org/wiki/X86-64#Architectural_features.)
Please note that the theoretical limit of 2^48-1 elements cannot currently be reached due to other limitations such as available system memory (This would require about ~300TB for 8-bit data) and the process space limit of the operating system, which on 64-bit Windows is just 8TB (or 2^43). For more information please refer
1 Commento
Walter Roberson
il 8 Feb 2021
The largest publicly known unified-memory systems in the world are (as of early 2021), Linux systems from HP that can access 160 Terabytes; these need the full 48 bits of address space.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!