In the present formulation, particles do not interact. This total independence causes the present application to fall into the realm of applications that have been described as ``embarrassingly'' parallel. The only difficulty is the random nature of the branching, and this is able to be handled in several ways (refer to Burns et al., 1991).
Indeed, this problem exhibits parallelism at various levels. The fine-grained level is in the independence of the particles, and the suitable scale of vectorization is the particle. An approach at a coarser level would entail vectorization over multiple surfaces. An even coarser level would be parallelizing over different energy levels of the emissions. Of course, the above approaches can be intermingled, but the implementation becomes slightly more difficult in that case, as additional detail is involved.
Choices of parallel scope should be matched to the architecture. Greater numbers of processors require finer-grained parallelism. Massively parallel architectures such as the Connection Machine Model CM-2 perform very well at the fine-grained level. One quadrant (16,384 processors) of a CM-2 performs about equally well (in total CPU time) as one CPU of a Cray 2. With the emergence of FORTRAN 90, identical code will be able to be executed on both machines.