Learn how we transform creative ideas into tangible value, helping our customers achieve unparalleled business growth.

You can use a filter to find the information you need.



ELEKS helps a medical device company reduce patient assessment time by accelerating Magnetic Resonance Imaging (MRI) scanner post-processing software with CUDA™.


US MRI scanners developer and manufacturer




Reduce patient time on the table by accelerating complex MRI image post-processing and reconstruction tasks.


ELEKS developed a library of specialized functions to perform extremely fast and efficient MRI images reconstruction and SVD processing using NVIDIA® CUDA™. Now these operations take less than a second compared to 28 seconds for FFT and 18.5 seconds for SVD processing (over benchmark datasets using single-threaded reference CPU implementation). And the maximum achieved SVD acceleration is 155x on a benchmark dataset of 96 512x384 frames acquired from 8 coils in YZ orientation.

Business Benefits

  • Reduced patient time on the table
  • Reduced patient assessment duration
  • Increased clinics revenues from using MRI scanners
  • Reduced development time and cost

Technologies and tools

NVIDIA® CUDA™ GPUs, C++, Microsoft .NET, C#.


Solution Overview

    • Parallel 2D & 3D Inverse FFT on CUDA™. 
      Image reconstruction using 2D & 3D inverse Fast Fourier Transform is implemented using NVIDIA® cuFFT library. Special consideration was given for the large data frame cases, when there is not enough memory on-board to perform FFT. To overcome this limitation ELEKS engineers implemented a mathematically correct algorithm to run FFT over portions of the large data frame with subsequent aggregation of partial results.
    • High-performance  batch  SVD  processing  on CUDA™.
      SVD is a largely iterative algorithm, and parallelization of a single iteration does not give any significant benefits, especially for smaller image sizes. Therefore, the only realistic way to accelerate this operation is to run SVD processing over all frames and coils in parallel. Unfortunately, at that time no libraries on the market provided suitable SVD implementation with batching. ELEKS developers solved this problem by porting SVD algorithm to CUDA and running it over all frames and coils in parallel.

      Since the customer’s application is written in C#, a .Net wrapper over C++ functions was implemented and number of samples were provided.

    Based on extensive benchmarking on various NVIDIA® GPU cards, ELEKS recommended NVIDIA® GTX 680 as the one providing best cost/performance ratio for image reconstruction tasks, especially when combined with PCI Express 3.0 bus.
Download PDFDownload PDF


  • Less than a second processing time for MRI image post-processing operations
  • High-quality software fully reconciled and ready to use
  • Hardware selection recommendations backed by experience and extensive benchmarks
  • Complete API reference

Scope of Services

  • Analysis of the problem and available solutions on the market
  • Mathematical research and development of algorithms
  • Review and analysis of existing source code and libraries
  • Implementation of CUDA™ code, C++ library and .Net wrapper
  • Visual and binary reconciliation of final images
  • Benchmarking of CUDA™ implementation on various NVIDIA® CUDA™ GPUs.
  • Consulting as to the applicability of CUDA™ and selection of hardware..