Introduction

The nvTIFF library accelerates the decoding and encoding of TIFF images compressed with LZW on NVIDIA GPUs. The library is built on the CUDA ® platform and is supported on Volta+ GPU architectures.

Note

Throughout this document, the terms “CPU” and “Host” are used synonymously. Similarly, the terms “GPU” and “Device” are synonymous.

nvTIFF Decoder / Encoder

The library utilizes GPU for TIFF decode and encode using CUDA. The code uses a single GPU to decode uncompressed or LZW-compressed images in a TIFF file, or to LZW-compress raster images in memory and save the results in a TIFF file. The code supports multi-image TIFF files in both regular and BigTIFF format, with the following limitations:

  • color space must be either Grayscale (PhotometricInterpretation=1) or RGB (=2)

  • image data compressed with LZW (Compression=5) or uncompressed

  • pixel components stored in “chunky” format (RGBRGB…, PlanarConfiguration=1) for RGB images

  • image data must be organized in Strips, not Tiles

  • pixels of RGB images must be represented with at most 4 components

  • each component must be represented with exactly 8 bits in case of LZW or 8, 16 or 32 bits for uncompressed ones

  • all images in the file must have the same properties

Prerequisites

  • CUDA Toolkit version 11.6 and above

  • CUDA Driver version r475 and above

Platforms Supported

  • Linux versions:

Architecture

Distribution Information

Name

Version

Kernel

GCC

GLIBC

x86_64

Ubuntu

20.04.1

5.8.0

9.3.0

2.31

18.04.5

5.3.0

7.5.0

2.27

16.04.7

4.15.0

5.4.0

2.23

  • Windows versions:

    • Windows 10 and Windows Server 2019