HPC in the Cloud
There are many advantages of using the cloud for high performance computing.
If you are concerned with security, running costs or flexibility of resources then cloud HPC may be the answer.
Cloud HPC can give you access to an enviable range of CPUs, GPUs, memory amounts and network bandwiths allowing you greater flexibility to test and optimise your code.
Cambridge Supercomputing can assist with choosing the right cloud service for your needs and then help with the digital transformation of your code to make optimal use of it.
GPU-accelerated computing
Accelerated computing using GPU porting is an increasingly popular choice when it comes to optimising HPC applications.
At Cambridge Supercomputing we have lots of experience of helping people make better use of GPUs in their applications.
We can help fully convert your existing applications to GPU-accelerated computing or improve existing GPU applications.
We are happy to use CUDA (C/C++ or Fortran) or OpenCL and to make recommendations depending on your application.
If you are looking to join the GPU-accelerated revolution then get in touch.
Parallelisation
Effective parallelisation of applications is key if you aim to reduce time to solution by making use of multiple CPUs.
At Cambridge Supercomputing we have a wealth of experience parallelising simulation codes including finite element, finite volume, CFD and machine learning algorithms.
We are happy to use either OpenMP or MPI and to make recommendations depending on your application.
If you are looking to parallelise your code or even improve your parallelisation, get in touch.
Vectorisation
Vectorisation is a technique for optimising code by utilising single instruction-multiple data operations (the same operation operating on multiple operands in parallel).
Taking full advantage of vectorisation is no easy task but at Cambridge Supercomputing we have lots of experience of doing just that.
Using vectorisation, we can help you make full use of the latest features of Intel hardware.
Libraries
One of the easiest ways to optimise your application is with informed use of existing libraries.
At Cambridge Supercomputing we have lots of experience with libraries for almost every programming language and for almost every application - astrophysics to engineering, earthquakes to digitising literature.
We can help you choose and implement the right libraries for your language and application.
Domain Decomposition
Domain decomposition is one of the most important techniques used in parallel computing but is often underutilised or poorly implemented in practice.
Cambridge Supercomputing can help identify where your application can make better use of domain decomposition and suggest what methods will work best with a view to increasing parallelisation.
Benchmarking & Performance Analysis
Benchmarking and performance analysis can be performed on both hardware and software.
They are vital if you want to illustrate the strengths of your hardware for HPC or if you are looking to improve software by decreasing computational costs and time to solution.
Cambridge Supercomputing uses a variety of profiling tools to diagnose problems prohibiting optimisation such as application bottlenecks.
We take a holistic view of the workflow, helping you target the best areas for optimisation.
Cambridge Supercomputing have experience in benchmarking and analysing some of the world's biggest computers and a large variety of codes. Get in touch if you have either hardware or software you would like to test or optimise.