Re: Cray-2 Fast Memory (David desJardins)
Thu, 27 May 1993 05:22:43 GMT

          From comp.compilers

Related articles
Cray-2 Fast Memory (1993-05-13)
Re: Cray-2 Fast Memory (1993-05-14)
Re: Cray-2 Fast Memory (1993-05-26)
Re: Cray-2 Fast Memory (1993-05-26)
Re: Cray-2 Fast Memory (1993-05-27)
Re: Cray-2 Fast Memory (1993-05-31)
| List of all articles for this month |

Newsgroups: comp.compilers,comp.sys.super
From: (David desJardins)
Keywords: Cray, architecture
Organization: IDA Center for Communications Research, Princeton
References: 93-05-062 93-05-130
Date: Thu, 27 May 1993 05:22:43 GMT

James Davies <> writes:
> Even with this limited usage, local memory tends to be in short supply, as
> there are only 16K words available per processor. The linker attempts to
> overlay local-memory blocks when possible, but there is still a need for a
> compiler option to minimize local memory usage by e.g. spilling registers
> to common memory.

Very early when we got our Cray-2 we adopted the convention of a local
memory block called USRLOC which is 4K words and is available to any
routine for its local use. Of course if you use this you have to make
sure that you don't call something else that is also using it; primarily
it is used by highly optimized library routines, which don't call

This turns out to be good enough for most purposes. It still would have
been nice to have had a real memory management system for local memory,
but I can't say whether it would have been cost effective.

(One thing I forgot to mention in my previous post is that, when a user
does explicitly put arrays in local memory, the compiler usually generates
worse code because it stops performing certain other unrelated
optimizations, like loop unrolling. So usually it isn't a win to put
arrays in local memory from a high-level language, even if they are
otherwise very suitable for this purpose. Local memory is excellent for
many CAL codes, though, and since the Cray-2 has relatively low
common-memory bandwidth it can make a major difference in the performance
of some simple algorithms.)

We have never had a real problem with running out of local memory (and I
have never heard of anyone using the paging option), but then our workload
generally consists of relatively small codes, a few thousand lines
perhaps, rather than several-hundred-thousand-line behemoths.

                                                                                David desJardins

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.