Our expertise in parallel and distributed computing (using MPI, Open-MP and Web services) is internationally recognised, in fact, we helped to set the MPI and OpenMP standards. Our software developers program on Linux, Windows and in various Unix environments using .NET, Fortran, C, C++, Java, XML, Perl, Python and numerous other languages.
We treat every software project as unique, aiming to use whatever technologies the client and task demand. Alongside this flexibility, we have a strong track-record of delivering on time and to budget using a comprehensive project management process based on the PRINCE2 methodology.
HPC application design, development and re-engineering
Whilst many software codes deliver the correct result, they don't necessarily use the most optimal numerical algorithm, nor have they been designed with today's multi-core and multi-processor architectures in mind.
EPCC provides the following services:
- New numerical application design and development;
- Code analysis and re-design for performance also design and delivery of new numerical algorithms designed for higher performance on the target architecture.
HPC application performance optimisation
Software optimisation is one of EPCC's core competencies. For an application to run on today's HPC systems, it must exist in a form suitable for parallel processing. We can adapt your in-house code so that it runs on the parallel architectures of today's HPC systems. We can also parallelise commercial codes by partnering with independent sofware vendors to port their codes for use on our HPC systems.