Technical data

Cray Standard C/C++ Reference Manual
void fctn(void)
{
int i;
#pragma _CRI align
for (i = 0; i < 100; i++) /* This loop will be aligned. */
{
.
.
.
}
i=0;
#pragma _CRI align
top_of_loop: ; /* This loop will be aligned. */
.
.
.
i++;
if (i < 100) goto top_of_loop;
}
3.10.2 cache_align Directive (UNICOS/mk Systems)
The cache_align directive aligns each specified variable on a cache line
boundary. This is useful for frequently referenced variables. A cache is storage
that can be accessed more quickly than conventional memory. A cache line is a
division within a cache. Properly used, the cache_align directive lets you
prevent cache conflicts.
The directives effect is independent of its position in source. It can appear in
global or local scope. The format of the cache_align directive is as follows:
#pragma _CRI cache_align var_list
In the preceding format, var_list represents a list of variable names separated
by commas.
3.10.3 cache_bypass Directive (UNICOS/mk Systems)
Scope: Local
The cache_bypass directive specifies that local memory references in a loop
should be passed through E registers.
90 S217936