What are the benefits of 64-bit MATLAB versus 32-bit MATLAB?

21 views (last 30 days)
I am trying to decide if upgrading to a 64-bit platform will be practical for my applications. I would like to know how much my system performance will improve, if any, in terms of memory and processing speed.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 4 Sep 2022
Edited: MathWorks Support Team on 25 Sep 2022
Support for the 64-bit Linux platform was introduced in MATLAB 7.0.1 (R14SP1).
The 64-bit addressing allows for much larger memory. Memory on a 32-bit machine is limited to 2^32 bytes (i.e. 4GB).
On a 64-bit machine this number is increased to 2^64 (i.e. an increase by a factor of 4 billion). Of course, most machines in use today will run out of physical resources (RAM and virtual memory) long before they begin to approach the theoretical 2^64-byte limit.
There is an internal limit of 2^31 elements per array in MATLAB. Up to MATLAB 7.2 (R2006a), this limit applies regardless of the platform. A 2^31 element double array would require 16 GB of space, thus making it impossible to create such an array on a 32-bit machine. A 64-bit machine can theoretically handle many arrays of this size, provided that there is enough RAM and hard disk space to store all the data.
Beginning with MATLAB 7.3 (R2006b), the largest array that can be created can contain 2^48-1 = 2.8147e14 elements.
Also, we do not provide recommendations about any specific brands of computer hardware, but the system needs to meet certain specifications for it to be able to execute MATLAB. Please refer to the following link for more information regarding system requirements for MATLAB:
Note that changing from 32-bit to 64-bit MATLAB only allows for the creation and manipulation of larger variables, but this does not imply a boost in execution speed, and it can sometimes be slower than 32-bit. For additional information that may be helpful for choosing hardware suitable for use with MATLAB, please refer to the following website:
Information about general memory management within MATLAB can be found at the following documentation page:
  1 Comment
Walter Roberson
Walter Roberson on 18 Dec 2018
On a 64-bit machine this number is increased to 2^64
Hypothetically. However, on the x64 architecture and a number of other architectures, the top bit is reserved for indicating supervisor versus user address spaces. Also, on all existing implementations (or at least publicly known) of the x64 architecture, only at most 48 bits of address space are implemented. Thus, one should not expect at present to be able to address more than 2^47 bytes.
At this time the largest unified computer memory that I can find public acknowledgement of is a HP computer with 160 terabytes, which is slightly over 2^47 bytes.

Sign in to comment.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!