Search NASASearch

Engineering topics

Cross, M.

Publications and source records attributed to Cross, M..

The Automatic Parallelisation of Scientific Application Codes Using a Computer Aided Parallelisation Toolkit

The shared-memory programming model is a very effective way to achieve parallelism on shared memory parallel computers. Historically, the lack of a programming standard for using directives and the rather limited performance due to scalability have affected the take-up of this programming model approach. Significant progress has been made in hardware and software technologies, as a result the performance of parallel programs with compiler directives has also made improvements. The introduction of an industrial standard for shared-memory programming with directives, OpenMP, has also addressed the issue of portability. In this study, we have extended the computer aided parallelization toolkit (developed at the University of Greenwich), to automatically generate OpenMP based parallel programs with nominal user assistance. We outline the way in which loop types are categorized and how efficient OpenMP directives can be defined and placed using the in-depth interprocedural analysis that is carried out by the toolkit. We also discuss the application of the toolkit on the NAS Parallel Benchmarks and a number of real-world application codes. This work not only demonstrates the great potential of using the toolkit to quickly parallelize serial programs but also the good performance achievable on up to 300 processors for hybrid message passing and directive-based parallelizations.

Ierotheou, C.

Tools to Rapidly and Effectively Parallelise Serial FORTRAN Codes Using Either MPI or OpenMP

Significant progress has been made in hardware and software technologies, as a result the use of efficient standard message passing communication calls in parallel application codes has greatly assisted in reducing execution times. In addition, the introduction of OpenMP, an industrial standard for shared memory programming with directives addresses the issue of portability and also provides a means to deliver respectable performance. In general however, the manual parallelisation of a user's application code using either message passing or directives is still a very costly and error-prone process.

Jin, Hao-Qiang

Turbulence in transient solar phenomena

If theta dependence is kept in the Navier-Stokes equations for the solar wind, than a density enhancement will grow. This growth is followed in the nonlinear equations until a streamer is formed. Viscosity stops the streamer's growth when there is a large difference in speeds inside and outside of the streamer. Using classical fluid mechanics and a latitude dependent hydrodynamical model, it is shown that unmagnetized perturbed flow evolves into high and low density regions. The growth mechanisms for density enrichments are discussed along with a nonlinear solution for their large amplitude development. It was found that a higher Reynolds number is needed to start turbulence in the presence of a magnetic field because energy is required to bend the field lines attached to the fluid. If cosmological gas was turbulent shortly after the big bang, then galaxies could have been formed by turbulent eddies.

Cross, M.