January 2004
·
19 Reads
·
4 Citations
We describe optimization techniques on the Cray X1 that are either profoundly unportable or counterintuitive. For example, one can use small, static co-arrays, Cray pointers, and the "volatile" attribute to pass arbitrary high-bandwidth, minimal-latency messages with no procedure-call overhead. Also, it may be advantageous to bring "if" statements inside "do" loops for vectorization. This paper describes how and why.