Data Structure Alignment - Allocating Memory Aligned To Cache Lines

Allocating Memory Aligned To Cache Lines

It would be beneficial to allocate memory aligned to cache lines. If an array is partitioned for more than one thread to operate on, having the sub-array boundaries unaligned to cache lines could lead to performance degradation. Here is an example to allocate memory (double array of size 10) aligned to cache of 64 bytes.

#include double *foo(void) { double *var;//create array of size 10 int ok; ok = posix_memalign((void**)&var, 64, 10*sizeof(double)); if(ok != 0) return NULL; return var; }

Read more about this topic:  Data Structure Alignment

Famous quotes containing the words memory and/or lines:

    Near this spot are deposited the remains of one who possessed Beauty without Vanity, Strength without Insolence, Courage without Ferocity, and all the Virtues of Man without his Vices. This praise, which would be unmeaning Flattery, if inscribed over human ashes, is but a just Tribute to the Memory of BOATSWAIN, a Dog.
    John Cam Hobhouse (1786–1869)

    While you are divided from us by geographical lines, which are imaginary, and by a language which is not the same, you have not come to an alien people or land. In the realm of the heart, in the domain of the mind, there are no geographical lines dividing the nations.
    Anna Howard Shaw (1847–1919)