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:

    “Mild brown eyes beckon me to the past, but memory provides no clue.”
    —Mason Cooley (b. 1927)

    “Was seiz’d by the spirit that trails in the lines underfoot,
    The rim, the sediment that stands for all the water and all the land
    of the globe.

    Fascinated, my eyes reverting from the south, dropt, to follow those slender windrows,
    Chaff, straw, splinters of wood, weeds, and the sea-gluten,
    Scum, scales from shining rocks, leaves of salt-lettuce, left by the tide,”
    —Walt Whitman (1819–1892)