Software Modernization Service
Is your application software suffering from poor performance today?
Do you know if your application software is running at full potential on your current computing systems?
Is your application software ready to exploit future computing technology?
The NAG Software Modernization Service can help you improve the cost-effectiveness and performance of your numerical computing in science, engineering, finance, analytics and more.
The overwhelming proportion of performance from all mainstream current and future processors comes from parallel processing techniques. In addition, system architectures have increasingly complex memory hierarchies and performance characteristics. Software must be modified, or ‘modernized’, in order to exploit this hardware complexity to access the potential performance. Un-modernized software risks operating at a severely restricted level of capability.
Software modernization is often a required step for an application to be able to effectively use GPUs (e.g., from NVIDIA or AMD), Intel’s Xeon Phi, and other many-core processors. However, software modernization also delivers significant performance advantages on more traditional processors, such as Intel’s Xeon family.
Step 1: Discover
The first step is to analyze the software to identify the code structure, performance bottlenecks, portability issues, etc. A report is produced to describe the current performance limitations (if any) and recommend the modernization needed.
This typically takes a few days to a week.
NB: If you are an EU based organization, then NAG can do this stage for you free-of-charge, as part of our EU-funded POP project.
Step 2: Deliver
Once a software modernization plan is agreed, including an understanding of the business benefits, then the experienced HPC software engineers at NAG work closely with your code owners and/or key users to deliver the modernizations and performance improvements.
A key part of Step 2 is the testing phase. Quality Assurance processes will check the performance and robustness of the modernized software.
Modernizing a code can take anything from a few days to many months, depending on the complexity of the code, the improvements needed, and the target hardware platform(s).
NAG has been working with numerical software for nearly 50 years to improve portability, implement parallelism, better scalability, and optimize performance whilst ensuring application robustness. NAG’s unique combination of expertise in HPC technology and numerical software engineering - over 80 HPC software innovation projects - enables NAG to deliver assured Software Modernization Services to customers.
NAG delivers successful HPC and software engineering projects throughout academia, government and industry, including Oil & Gas, Manufacturing, Aerospace, Financial Services, and Data Analytics.
Contact us for more information on this service.