Software Porting and Tuning
Need to move your application to new hardware or software technology? Want your application to exploit the potential cost/performance benefits of GPUs or manycore coprocessors? Need a custom version of the NAG products for particular system?
The NAG Software Porting and Tuning Service can help you with all your porting needs.
NAG expertise and experience has been proven through four decades of developing and supporting high quality software products across a wide variety of systems, and through porting and tuning a range of user applications in our HPC services (e.g. the HECToR Support Service).
Your application running on new technology
Safely benefit from the advantages of new technologies for your applications by working with NAG’s application migration service. NAG’s expertise, proven processes and tools work with you to reliably port your applications in a maintainable fashion to new processors, systems or software technology with reduced risk. NAG understands the technical issues at the heart of reliably porting, tuning and verifying software. NAG is the trusted partner to enable your applications to safely benefit from new generations of hardware.
Custom editions of the NAG products
NAG has the infrastructure to port the NAG library and customer specific numerical routines to your architecture of choice. We have developed a range of tools for checking and improving numerical code to make the porting exercise and future maintenance more reliable. As well as CPU implementations appropriate NAG routines can be ported to GPU and coprocessor systems. We regularly tune our high-performance math library by request for specialist and custom computer systems.
Porting to GPUs and manycore processors
NAG can assess your code to identify the likely value of porting to GPU or manycore processors. Where performance or cost benefits are possible, NAG can port your code to GPUs or other manycore coprocessors using appropriate standards and languages – e.g. CUDA, OpenCL or OpenMP.
We can also advise on appropriate alternative algorithms that may be better suited to manycore/coprocessor/GPU processors.