64-bit Mode for Us Producers

tubes in ceilingLogic Pro was just upgraded to 9.1 and as part of this one Logic now has 64-bit support. I will try to explain in simple terms what 64-bit mode really means.

If you worked with the first generation of home computers in the early eighties, they had 16-bit addressing. A CPU is fetching memory parts from the RAM and in these early day systems the CPU could just load in something that could be addressed within a small range. If you look at all the addresses you could generate with 16 bits it is 64 kilobits. Not much but programs were small.

Enter the nineties with 32-bit addressing CPUs. Now the CPU could use addresses up to 2 raised to 32, or 4 Gigabytes. Quite a difference. To be fair, that was and is the theoretical size. Depending on all kinds of overhead the more realistic number is just above 3Gb in most cases. Generally it means that an application could had addresses for memory up to that range for buffers and similar things. You could install more than 4Gb into your computer as this is just a limitation per application. The operating system and other parts have so called wired (fixed) memory as well as other memory used so it was still good to load the computer with more memory.

However, inside a single application you could just address this much. If you load lots of big orchestral samples they need memory, buffers, plus other buffers needed for audio processing. All together, with larger projects someone could hit the memory limit. When the application run out of address space you could get all kinds of strange memory errors resulting in crashes.

Now, with 64-bit addressing the individual application could have an address space of memory up to terabytes. There are still limitations depending on the CPU architecture and the operating system, but one could safely say that it will take ages before any audio application is now running out of address spaces for projects.

In the case of MacOSX you really need 10.6 ┬áto fully use the 64-bit runtime. It was available in 10.5 but it is best to use the latest OS version. Note that the 10.6 kernel is still running in 32-bit mode. That’s quite fine, it is the runtime for applications that is important. You also need an Intel Core Duo 2 or Intel Xeon CPU process. Also, to really make use of this address space you need RAM over 4Gb, so for some laptops you can’t upgrade them beyond 4Gb. Anyway, new systems should be 64-bit capable, most likely.

Accessing memory via 64-bit spaces should provide more optimizations as the CPUs internally like to use 64-bit registers and similar things. There’s some overhead in reading more data such as virtual memory over the system bus and the disks but it should not be a burden, unless the swap space on the main disk is very small, of course.

With Logic you could turn the application to 32-bit only by opening the application with the Command-I shortcut and enable the 32-bit checkbox. There are some cases where you want to still run Logic in  this mode, consult the tech notes and release notes for things that are not available in 64-bit mode, especially anything related to QuickTime as the native QuickTime APIs are not supported in 64-bit mode.

What the third party industry now needs to do is to port plug-ins to 64-bit mode. Logic could run 32-bit plug-ins in s separate process so they are supported but you don’t get the benefits of the 64-bit addressing space.

So what are the possible limitations now for applications? CPU power. With more cores and smarted programming (threading) that issue should be somewhat resolved. But knowing the audio processing companies and engineers, they want to do just more and more CPU-intensive but fun algorithms.

One Comment:

Leave a Reply