Alinhar à linha do cache e saber o tamanho da linha do cache
Para evitar o compartilhamento falso, desejo alinhar cada elemento de uma matriz a uma linha de cache. Então, primeiro eu preciso saber o tamanho de uma linha de cache, então atribuo a cada elemento essa quantidade de bytes. Em segundo lugar, quero que o início da matriz seja alinhado a uma linha de cach
Estou usando o Linux e a plataforma x86 de 8 núcleos. Primeiro, como encontro o tamanho da linha do cache. Em segundo lugar, como me alinhar a uma linha de cache em C. Estou usando o compilador gc
Portanto, a estrutura estaria seguindo, por exemplo, assumindo um tamanho de linha de cache de 64.
element[0] occupies bytes 0-63
element[1] occupies bytes 64-127
element[2] occupies bytes 128-191
e assim por diante, assumindo, é claro, que 0-63 esteja alinhado a uma linha de cach