cuda resizing for webDynamic image resizing software for web applications

Currently there are a lot of web services that need to resize images in real time. It's not unusual when web-service has to send up to 100K - 1,000K - 10,000K images per day and sometimes that number could be up to hundreds of millions pictures per day. Quite often that task is solved with some scripts and simpe resizing software on CPU. This is the way to get slow solution on multiple-core CPUs with moderate resize quality.

For high-volume applications it's better to have original pictures (usually they are compressed with JPEG format) at a storage and perform resizing dynamically on request. There are a lot of benefits in that approach (agility, mobile support, control), but primarily it can reduce resource utilization. Usually it's better to keep original compressed images in a storage and to perform decompression, resize and compression on request.

We can offer a high performance solution on a high-end NVIDIA GPU which can overcome a limit of million image resizes per hour at just one GPU. With a number of top GPUs our solution can give much better performance.

Fast Image Resizer Features

  • Input images: 8-bit or 16-bit per color component RGB, PGM, PPM, BMP, JPEG formats, byte array in CPU/GPU memory
  • Resize images to any size quickly and with high quality
  • Algorithm: polyphase Lanczos
  • Internal calculations with 32-bit precision
  • Fast JPEG decompression and compression on GPU
  • Create thumbnails for website/database images
  • Store resized files in a new folder or keep resized images in memory
  • Writes resized images in JPEG, BMP, PPM, PGM, DIB formats
  • Batch image resizer mode
  • Compatible with NVIDIA GPUs Kepler, Maxwell, Pascal, Volta

OS Supported

  • Windows-7/8/10
  • Linux Ubuntu, SLC, RHEL, OpenSUSE

Resize benchmarks for NVIDIA GeForce GTX 1080

High quality image resize for color Full HD (1920×1080, 24-bit) image to final resolution 960×576 can be done on GPU GeForce GTX 1080 at framerate 3000 fps (this is performance without host to device and device to host transfers). We recommend to use our resize solution on GPU together with JPEG codec and Sharpen options from our SDK to be able to do fast and high quality resize for jpeg images.

Here you can see resize benchmarks for NVIDIA Tesla V100.

Other options from Fastvideo SDK

  • JPEG codec
  • Image cropping
  • Image rotation
  • Image sharpening option
  • OpenGL module for image output

Standard tasks to solve with Image Resize on CUDA

  • Batch resize for photos
  • Pyramid imaging
  • Realtime resize and sharp for video streams to match resolution of user's device
  • GPU image processing for RAW and DNG

Contact Form

This form collects your name and email. Check out our Privacy Policy on how we protect and manage your personal data.