Optimizing for AMD64

Index


The AMD64 (x86_64) platform has several advantages for audio work, despite most audio processing being done with 32-bit data. The performance lost by having to work with 64-bit addresses is more than cancelled out by the increased number of registers in the processor, and the x86_64 ABI specification ensures that the extra registers are used. Another factor that increases performance is that all of the AMD64 linux distributions are optimised specifically for that platform. This is in contrast to the 32-bit distros (apart from Gentoo), which only use the 386 or 586 instruction sets for nearly all of the binaries apart from the kernel.


JACK

AMD64 users should use JACK 0.100.7 or later as it includes the dynsimd optimizations (previous versions only allowed this on x86) which boost performance in certain situations.

Users of AMD64x2 (dual-core) CPUs will need to use JACK 0.102.20 or later (or use the -clockfix branch of earlier JACK versions). This works around the problem of the Time Stamp Counters on these CPUs running out of sync and confusing jackd. It isn't necessary with multiple single-core AMD64 CPUs.

JACK 0.102.20 also includes MMAP_COMPLEX support, which is needed to use more than one interleaved-type sound card (ie. anything other than RME).


Ardour

Ardour 2.0.x works fine on the AMD64 platform. Users of the 0.99.x versions should use 0.99.2 or later, as previous versions did not use AMD64 assembly code optimizations (and suffer a performance penalty as a result).


Top of Page    Index    Contact

Last updated July 13 2007