Vector Processors and Novel Languages

2008 
The requirements of HPC applications are varied and wide ranging. Thus, no one type of supercomputer is ideally suited to all applications. As a result, a number of companies have released multi-architecture ’hybrid’ systems. One such system is HECToR, the main supercomputing service in the UK. HECToR consists of a Cray XT4 massively parallel scalar system and a Cray X2 vector system. In this project, four application codes, three computational fluid dynamics (CFD) and one molecular dynamics (MD), were ported to the HECToR system and another vector system, the Cray X1E. A performance analysis of each application was then carried out to characterise them to be suitable for the vector or scalar system. The three CFD codes were found to have a better performance on the vector systems, while the MD code, LAMMPS, performed better on the XT4 scalar system. Each code was then profiled to understand the differences in performance across the three systems. The most computationally intensive routines in the CFD codes were found to be vectorised, explaining the good performance of these codes on the vector systems. Due to its irregular memory access pattern, LAMMPS was not vectorised. Two of the CFD codes, BenchC and Incompact3D, were optimised for the vector system. For BenchC, an attempt to improve the UPC broadcast and reduction routines was made by implementing a number of alternative algorithms. It was found that a 2-level tree UPC broadcast algorithm and a mixed mode of programming, where MPI calls replaced the UPC broadcast and reduction routines, reduced the time spent in these routines. The addition of compiler flags and some changes to the Incompact3D code reduced its execution time on 64 Cray X2 processors by 18%.
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    17
    References
    0
    Citations
    NaN
    KQI
    []