Target-specific code generation and scalable interfaces for high-performance computing

Lead Research Organisation: University of Cambridge
Department Name: Engineering

Abstract

Computer simulation has become ubiquitous in modern science and engineering. Computer simulations are used to model problems from ocean currents to atomic interactions. A significant change is under way in computer hardware with the arrival of special processors which are far more powerful than previous generations, are low cost and use less energy. A common feature of these new processors is that they can perform computations in a massively parallel fashion on a single chip. However, to exploit these high power, low cost processors, changes are needed in the way that computer programs for science are created. This research aims to assist researchers in using this new hardware by developing the technology to create computer programs automatically from simple, high-level input. With this technology, researchers will be able to create new computer programs rapidly and with a minimum of errors, and the programs will be optimised for the new hardware of today. This will accelerate research in many fields, and lead to new scientific insights through simulation. As computer hardware evolves in the future, researchers can simply re-generate their computer programs for new generations of hardware.

Planned Impact

This project will provide enabling and accelerating technologies for scientific and engineering computation. Specifically, it will provide tools for the high performance solution of partial differential equations on novel high-performance, low cost computers. Partial differential equations are of central importance in many areas of science and engineering, and the generic nature of the approach means that beneficiaries will come from a wide range of fields. The results of this research will most benefit academic, government and industrial researchers involved in solving partial differential equations, and companies that develop software for mainstream industrial users. Differential equations are routinely solved using computers in many areas of science of engineering, including reservoir modelling, coastal and ocean modelling, the automotive industry, materials production and the aerospace industry. Those involved in solving complicated equations on a large-scale will particularly benefit from the proposed work as they will be able to develop computer models that are more efficient, and do so more quickly than before and on lower cost hardware. The generation of computer codes automatically from high-level, intuitive input, and the high-performance, low cost nature of the target hardware will open new possibilities for scientific computation in undergraduate teaching. The high-level input will make it possible for students to create computational solvers without the burden of complex syntax, and the low cost, low energy features of the target hardware means that it will be economical and practical to equip teaching computer laboratories with recent novel hardware.

Publications

10 25 50
 
Description - Achieving acceptable performance on massively parallel streaming devices requires careful algorithm construction and software engineering.



- Limited fast memory available in streaming devices makes it impossible to achieve acceptable performance for a wide range of equations and finite element types with a fixed 'one size fits all' software design.



- Performance models and a family of algorithms have been developed that are parameterised over the equation and element type, providing a framework for the generation of efficient computational 'kernels' for a very wide range of equations and element types. Performance model are used to predict the optimal solution space for a given problem on a given hardware.
Exploitation Route Incorporating outcomes of this research into the international, open-source FEniCS Project (http://fenicsproject.org) will allow existing and future industrial users of the FEniCS tools to freely and transparently utilise massively parallel streaming processors to accelerate industrial simulation of engineering problems. The outcomes of this research will be released under an open-source license that will allow anyone to test or use the developed software. It will be promoted via the established FEniCS Project (http://fenicsproject.org), which has wide academic and industrial reach around the world.
Sectors Digital/Communication/Information Technologies (including Software)