The Technologies we use

Since 2010 we write code that runs on GPUs, but also did a fair share on CPUs and even some FPGAs. Below are the languages we use, and on which devices these languages run.

CUDA is the biggest GPU-language out there.

ROCm HIP is the variation of CUDA that runs on AMD GPUs. Our most common HPC-customer often need a single compute-backend that runs well on multiple architectures of Nvidia and AMD, where we use a combination of CUDA and ROCm/HIP.

Vulkan, and then specifically the compute-part of it, allows to make true multi-OS and multi-vendor GPU-software. We’ve built a whole framework to make programming multi-OS software more convenient.

SYCL is a powerful language, that solved the problems by OpenCL and CUDA.

OpenCL has been around since 2009, but has slowly decreased in popularity. We still work on OpenCL-projects, simply because it’s a great language to get good performance out of embedded GPUs. OpenCL runs on many devices and operating systems:

  • Android, both CPU and GPU, but depending on the brand of the phone. GPUs included those of Vivante, ARM MALI, Imagination and Qualcomm
  • Windows, on GPUs of Nvidia, AMD and Intel. Some drivers still support the CPU
  • Linux, on GPUs of Nvidia, AMD and Intel.
  • Linux, special purpose DSPs. These often don’t implement the full standard.
  • FPGAs, but both Xilinx and Altera have created high level synthesis languages that are better fit for FPGAs.

OpenCL When possible, we use Vulkan Compute now.


Ready to Optimize?

Enhance Your Software Performance with Our Experts

Contact us today to discuss how Stream HPC can elevate your computing capabilities and lower costs.