html templates
Mobirise

Customer Success Story

Compiler Service: LLVM Performance Optimization

Summary

The Helprack team worked with this semiconductor major alongside their existing compiler team, to analyze performance bottlenecks in the Open64 Compiler (x86) and implement C++AMP features in an LLVM based heterogeneous compiler.

Details

This customer was supporting the Open64 compiler for the scientific computing community. The Helprack team was tasked with analyzing the SPEC benchmarks for this compiler and identifying the performance bottlenecks in it, proposing optimizations for overcoming those bottlenecks, implementing hand-coded prototypes of the proposed optimizations and demonstrating the potential performance improvements of the proposed optimizations. The team analyzed 2 benchmarks, viz., bzip2 and cactus, proposed vectorization of a hot loop in the first and a loop fission in the second, demonstrated potential performance gains of 2% in the first and about 1.5% in the second.

Additionally, the team was tasked with implementing certain features of the C++AMP in their LLVM based Heterogeneous Compiler, most notably the parallel_for_each, array_view and restrict keywords. The team made significant contributions to the codebase in each of these three features. In addition, the team fixed many functional issues in the same compiler.


 Read about other customer implementations.

We can help you identify performance and functionality issues with your existing compiler and provide fixes for the same.