Overview


What is Goopax?

GOOPAX is the world’s first language-embedded programming solution for GPGPU applications. Our unique programming model greatly simplifies the development of GPGPU applications, making it featible to use the immense computing power of GPUs even for very complex applications. 

WHAT IS LANGUAGE-EMBEDDED PROGRAMMING?

GOOPAX brings a new concept to GPGPU: language-embedded programming. All compiling is being done by a single, standard C++ compiler of your choice. Everything is perfectly integrated into the C++ programming language. This offers huge advantages in programming, performance, and reliability. The close interplay between CPU and GPU code gives you a completely new programming experience.

Why use graphics cards?

Modern graphics cards can do much more than displaying graphics. They can perform complex computations. The major difference between the central processor of a computer (CPU) and the processor of a graphics card (GPU) is the level of parallelism. While CPUs are optimized for serial computation, GPUs execute thousands of threads in parallel. In order to harness the computing power of GPUs, these threads need to be synchronized to work together on a common task. Managing so many threads is not always easy. However, if successfully applied, GPUs can lead to a multi-fold increase in computing power and cost effectiveness.

WHAT ARE THE BENEFITS OF USING GOOPAX?

The unique programming model of language-embedded programming results in a number of advantages:

  • perfect integration of the GPU kernels into the host code
  • programs are compiled with a standard C++ compiler of your choice
  • shorter programs due to code reusability
  • higher performance due to meta-programming, profiling, and just-in-time compilation
  • more reliability: Race conditions and other programming errors are detected automatically.
  • cross-platform development: Programs written in GOOPAX can run on all major target platforms and operating systems.
  • performance portability: GOOPAX detects the graphics card at run-time and creates tailor-made GPU kernels. Your application runs at maximum performance on all hardware.
WHICH APPLICATIONS CAN BENEFIT FROM USING GPUS?

GOOPAX is well suited for a wide range of applications, ranging from simulations on big supercomputers to desktop applications, embedded systems, and mobile applications.

Typical fields of application are:

  • simulations: CFD, weather forecasts, astrophysics, protein folding, combustion processes, etc.
  • blockchains, cryptocurrency mining
  • image recognition: quality assurance in manufacturing, face recognition, analysis of aereal images, autonomous driving, surveilance, etc.
  • CAD, FE, engineering, product optimization
  • planning, classification, text recognition, search engines, machine learning, deep learning, AI, financial markets
  • computer games, VR, video processing, video codecs