Stream processors, with the stream programming model, have demonstrated significant performance advantages in the domains signal processing, multimedia and graphics applications, and are covering scientific applications. Jacobi iteration, which is widely used to solve partial differential equations, is an important class of scientific programs. As computers became more powerful, scientists have begun writing 3-D programs to solve PDEs. In this paper we examine the applicability of a stream processor to 3-D Jacobi iteration. In a stream processor system, the management of system resources is the programmers’ responsibility. Compared with 2-D Jacobi iteration, some new issues must be considered, since reuse along the third dimension cannot fit in on-chip memory. We first map 3-D Jacobi iteration in FORTRAN version to the stream processor in a straightforward way. We then present several optimizations, which avail the stream program for 3-D Jacobi iteration, called StreamJacobi, of various aspects of the stream processor architecture. Finally, we analyze the performance of StreamJacobi, with different scales, and the presented optimizations. The final stream program StreamJacobi is from 2.43 to 11.48 times faster than the corresponding FORTRAN programs on a Xeon processor, with the optimizations playing an important role in realizing the performance improvement.
[1]
William J. Dally,et al.
Compiling for stream processing
,
2006,
2006 International Conference on Parallel Architectures and Compilation Techniques (PACT).
[2]
Henry Hoffmann,et al.
A stream compiler for communication-exposed architectures
,
2002,
ASPLOS X.
[3]
H. Peter Hofstee,et al.
Introduction to the Cell multiprocessor
,
2005,
IBM J. Res. Dev..
[4]
Pat Hanrahan,et al.
Brook for GPUs: stream computing on graphics hardware
,
2004,
SIGGRAPH 2004.
[5]
William J. Dally,et al.
The Imagine Stream Processor
,
2002,
Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.
[6]
Scott Rixner,et al.
Stream Processor Architecture
,
2001
.
[7]
Juan J. Alonso,et al.
StreamFLO: an Euler solver for streaming architectures
,
2004
.
[8]
William J. Dally,et al.
Programmable Stream Processors
,
2003,
Computer.