RU We make your apps run faster!

Today, HPC systems are often heterogeneous in nature, that is, they contain processor units with different architectures (CPU + GPU) optimized for solving specific types of computational tasks. Such heterogeneity results in a significant gain in application performance but poses new problems for developers.

To use heterogeneous platform efficiently, the programmer not only has to solve a specific computational task but also to tailor the source code to the particular system architecture. As a result, the application uses either CPUs or video cards and therefore inevitably degrades in performance. Furthermore, a separate version of an algorithm has to be developed for each type of computational units and this significantly deteriorates time-to-market.

ttgLabs provides a broad range of services in development, porting, and optimization of computationally demanding software on hardware platforms with heterogeneous architecture thus enabling customers to quickly and efficiently work around difficulties arising in building and further usage of applications on heterogeneous systems.


  • Development of ad hoc software for heterogeneous systems

Our company will accomplish a complete project of development and further optimization of HPC applications that implement the customer’s computational tasks and are planned to run on graphics accelerators and heterogeneous platforms.

  • Applications porting to graphics accelerators and heterogeneous systems using NVIDIA CUDA and OpenCL

We readily fulfill the porting of applications developed in traditional programming paradigm to graphics accelerators and heterogeneous platforms. Such porting can be made for MPI and OpenMP software as well as for sequential algorithms that could be efficiently parallelized.

  • Additional optimization of CUDA and OpenCL code

Frequently, the performance of an application developed with NVIDIA CUDA and OpenCL technologies appears to be substantially lower than expected. Using our own technologies, ttgLabs developers will optimize your CUDA or OpenCL application at the algorithm or data levels. Therefore, the application performance will approach its theoretical maximum for a given computational platform.

  • Consulting services

This group of services includes the analysis of customer source code, recommendations for selecting a computational platform, teaching of customer developers, advice in overcoming difficulties that arise in programming for graphics accelerators, and assistance in proper usage of third-party software products.