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:

    Everybody’s an artist. Everybody’s God. It’s just that they’re inhibited. I believe in people so much that if the whole of civilization is burned so we don’t have any memory of it, even then people will start to build their own art. It is a necessity—a function. We don’t need history.
    Yoko Ono (b. 1933)

    I am so tired of taking to others
    translating my life for the deaf, the blind,
    the “I really want to know what your life is like without giving up any of my privileges
    to live it” white women
    the “I want to live my white life with Third World women’s style and keep my skin
    class privileges” dykes
    Lorraine Bethel, African American lesbian feminist poet. “What Chou Mean We, White Girl?” Lines 49-54 (1979)