CINXE.COM
NVIDIA nvCOMP — nvCOMP
<!DOCTYPE html> <html lang="en" data-content_root="./" > <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>NVIDIA nvCOMP — nvCOMP</title> <script data-cfasync="false"> document.documentElement.dataset.mode = localStorage.getItem("mode") || ""; document.documentElement.dataset.theme = localStorage.getItem("theme") || ""; </script> <!-- this give us a css class that will be invisible only if js is disabled --> <noscript> <style> .pst-js-only { display: none !important; } </style> </noscript> <!-- Loaded before other Sphinx assets --> <link href="_static/styles/theme.css?digest=26a4bc78f4c0ddb94549" rel="stylesheet" /> <link href="_static/styles/pydata-sphinx-theme.css?digest=26a4bc78f4c0ddb94549" rel="stylesheet" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/styles/nvidia-sphinx-theme.css?v=4c56b82b" /> <link rel="stylesheet" type="text/css" href="_static/sphinxcontrib-images/LightBox2/lightbox2/dist/css/lightbox.css?v=5c84f910" /> <!-- So that users can add custom icons --> <script src="_static/scripts/fontawesome.js?digest=26a4bc78f4c0ddb94549"></script> <!-- Pre-loaded scripts that we'll load fully later --> <link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=26a4bc78f4c0ddb94549" /> <link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=26a4bc78f4c0ddb94549" /> <script src="_static/jquery.js?v=5d32c60e"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="_static/documentation_options.js?v=c69abea3"></script> <script src="_static/doctools.js?v=9a2dae69"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script> <script src="_static/sphinxcontrib-images/LightBox2/lightbox2/dist/js/lightbox-plus-jquery.min.js?v=ffc8af2d"></script> <script src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js?v=12818e64"></script> <script>window.MathJax = {"tex": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true}, "options": {"ignoreHtmlClass": "tex2jax_ignore|mathjax_ignore|document", "processHtmlClass": "tex2jax_process|mathjax_process|math|output_area"}}</script> <script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script>DOCUMENTATION_OPTIONS.pagename = 'index';</script> <link rel="icon" href="_static/favicon.png"/> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Installation" href="installation.html" /> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="docsearch:language" content="en"/> <meta name="docsearch:version" content=".." /> </head> <body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode=""> <div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div> <div id="pst-scroll-pixel-helper"></div> <button type="button" class="btn rounded-pill" id="pst-back-to-top"> <i class="fa-solid fa-arrow-up"></i>Back to top</button> <dialog id="pst-search-dialog"> <form class="bd-search d-flex align-items-center" action="search.html" method="get"> <i class="fa-solid fa-magnifying-glass"></i> <input type="search" class="form-control" name="q" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span> </form> </dialog> <div class="pst-async-banner-revealer d-none"> <aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside> </div> <header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none"> <div class="bd-header__inner bd-page-width"> <button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation"> <span class="fa-solid fa-bars"></span> </button> <div class="col-lg-3 navbar-header-items__start"> <div class="navbar-item"> <a class="navbar-brand logo" href="#"> <img src="_static/nvidia-logo-horiz-rgb-blk-for-screen.svg" class="logo__image only-light" alt="nvCOMP - Home"/> <img src="_static/nvidia-logo-horiz-rgb-wht-for-screen.svg" class="logo__image only-dark pst-js-only" alt="nvCOMP - Home"/> <p class="title logo__title">nvCOMP</p> </a></div> </div> <div class="col-lg-9 navbar-header-items"> <div class="navbar-header-items__end"> <div class="navbar-item navbar-persistent--container"> <button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="fa-solid fa-magnifying-glass"></i> <span class="search-button__default-text">Search</span> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> </button> </div> <div class="navbar-item"> <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i> <i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i> <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i> </button></div> </div> </div> <div class="navbar-persistent--mobile"> <button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="fa-solid fa-magnifying-glass"></i> <span class="search-button__default-text">Search</span> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> </button> </div> <button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page"> <span class="fa-solid fa-outdent"></span> </button> </div> </header> <div class="bd-container"> <div class="bd-container__inner bd-page-width"> <dialog id="pst-primary-sidebar-modal"></dialog> <div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar"> <a class="navbar-brand logo" href="#"> <img src="_static/nvidia-logo-horiz-rgb-blk-for-screen.svg" class="logo__image only-light" alt="nvCOMP - Home"/> <img src="_static/nvidia-logo-horiz-rgb-wht-for-screen.svg" class="logo__image only-dark pst-js-only" alt="nvCOMP - Home"/> <p class="title logo__title">nvCOMP</p> </a> <div class="sidebar-header-items sidebar-primary__section"> <div class="sidebar-header-items__end"> <div class="navbar-item"> <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i> <i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i> <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i> </button></div> </div> </div> <div class="sidebar-primary-items__start sidebar-primary__section"> <div class="sidebar-primary-item"> <nav class="bd-docs-nav bd-links" aria-label="Table of Contents"> <p class="bd-links__title" role="heading" aria-level="1">Table of Contents</p> <div class="bd-toc-item navbar-nav"><p aria-level="2" class="caption" role="heading"><span class="caption-text">Beginner's Guide</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li> <li class="toctree-l1 has-children"><a class="reference internal" href="getting_started.html">Getting Started</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul> <li class="toctree-l2"><a class="reference internal" href="samples/lowlevel_c_quickstart.html"> C API samples</a></li> <li class="toctree-l2"><a class="reference internal" href="samples/highlevel_cpp_quickstart.html"> C++ API samples</a></li> <li class="toctree-l2 has-children"><a class="reference internal" href="samples/python_samples.html"> Python API samples</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul> <li class="toctree-l3"><a class="reference internal" href="samples/nvcomp.html">Basics</a></li> </ul> </details></li> </ul> </details></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Algorithms</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="lz4.html">LZ4</a></li> <li class="toctree-l1"><a class="reference internal" href="cascaded.html">Cascaded</a></li> <li class="toctree-l1"><a class="reference internal" href="gdeflate.html">GDeflate</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">API Reference</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="c_api.html">C API</a></li> <li class="toctree-l1"><a class="reference internal" href="cpp_api.html">C++ API</a></li> <li class="toctree-l1"><a class="reference internal" href="device_api.html">Device API</a></li> <li class="toctree-l1"><a class="reference internal" href="native_api.html">Native API</a></li> <li class="toctree-l1"><a class="reference internal" href="py_api.html">Python API</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">References</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="release_notes.html">Release notes</a></li> <li class="toctree-l1"><a class="reference external" href="https://github.com/NVIDIA/CUDALibrarySamples">GitHub Samples</a></li> <li class="toctree-l1"><a class="reference internal" href="security.html">Reporting vulnerabilities</a></li> <li class="toctree-l1"><a class="reference internal" href="acknowledgements.html">Acknowledgements</a></li> <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li> </ul> </div> </nav></div> </div> <div class="sidebar-primary-items__end sidebar-primary__section"> </div> <div id="rtd-footer-container"></div> </div> <main id="main-content" class="bd-main" role="main"> <div class="bd-content"> <div class="bd-article-container"> <div class="bd-header-article d-print-none"></div> <div id="searchbox"></div> <article class="bd-article"> <section id="nvidia-nvcomp"> <h1>NVIDIA nvCOMP<a class="headerlink" href="#nvidia-nvcomp" title="Link to this heading">#</a></h1> <p>The nvCOMP library provides fast lossless data compression and decompression using a GPU. It features generic compression interfaces to enable developers to use high-performance GPU compressors in their applications.</p> <section id="compression-algorithms"> <h2>Compression Algorithms<a class="headerlink" href="#compression-algorithms" title="Link to this heading">#</a></h2> <ul class="simple"> <li><p><strong>LZ4</strong>: General-purpose no-entropy byte-level compressor well-suited for a wide range of datasets.</p></li> <li><p><strong>Snappy</strong>: Similar to LZ4, this byte-level compressor is a popular existing format used for tabular data.</p></li> <li><p><strong>GDeflate</strong>: A new compression format that closely matches the DEFLATE format and allows more efficient GPU decompression.</p></li> <li><p><strong>Deflate</strong>: Huffman + LZ77, Provided for compatibility with existing Deflate-compressed datasets.</p></li> <li><p><strong>zStandard</strong>: Huffman + LZ77 + ANS, popular compression format developed by Meta.</p></li> </ul> </section> <section id="nvidia-optimized-compression-formats-use-nvcomp-to-compress-decompress"> <h2>NVIDIA-optimized Compression Formats (use nvCOMP to compress/decompress)<a class="headerlink" href="#nvidia-optimized-compression-formats-use-nvcomp-to-compress-decompress" title="Link to this heading">#</a></h2> <ul class="simple"> <li><p><strong>Cascaded</strong>: Novel high-throughput compressor ideal for analytical or structured/tabular data.</p></li> <li><p><strong>Bitcomp</strong>: Proprietary compressor designed for efficient GPU compression in Scientific Computing applications.</p></li> <li><p><strong>ANS</strong>: Proprietary entropy encoder based on asymmetric numeral systems (ANS)</p></li> </ul> </section> <section id="featured-content"> <h2>Featured Content<a class="headerlink" href="#featured-content" title="Link to this heading">#</a></h2> <p>2 GTC sessions</p> <a class="reference external image-reference" href="https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s32401/?playlistId=playList-a934e7ec-127a-49e0-95a3-26d9e1995f07"><img alt="GTC21_s32401" class="image-grid" src="_images/gtc2021_s32401.png" style="width: 305px; height: 183px;" /></a> <a class="reference external image-reference" href="https://www.nvidia.com/en-us/on-demand/session/gtcspring21-cwes1174/?playlistId=playList-a934e7ec-127a-49e0-95a3-26d9e1995f07"><img alt="GTC21_cwes1174" class="image-grid" src="_images/gtc2021_cwes1174.png" style="width: 305px; height: 183px;" /></a> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> </section> </section> </article> <footer class="prev-next-footer d-print-none"> <div class="prev-next-area"> <a class="right-next" href="installation.html" title="next page"> <div class="prev-next-info"> <p class="prev-next-subtitle">next</p> <p class="prev-next-title">Installation</p> </div> <i class="fa-solid fa-angle-right"></i> </a> </div> </footer> </div> <dialog id="pst-secondary-sidebar-modal"></dialog> <div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner"> <div class="sidebar-secondary-item"> <div id="pst-page-navigation-heading-2" class="page-toc tocsection onthispage"> <i class="fa-solid fa-list"></i> On this page </div> <nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2"> <ul class="visible nav section-nav flex-column"> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#compression-algorithms">Compression Algorithms</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nvidia-optimized-compression-formats-use-nvcomp-to-compress-decompress">NVIDIA-optimized Compression Formats (use nvCOMP to compress/decompress)</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#featured-content">Featured Content</a><ul class="nav section-nav flex-column"> </ul> </li> </ul> </nav></div> </div></div> </div> <footer class="bd-footer-content"> </footer> </main> </div> </div> <!-- Scripts loaded after <body> so the DOM is not blocked --> <script defer src="_static/scripts/bootstrap.js?digest=26a4bc78f4c0ddb94549"></script> <script defer src="_static/scripts/pydata-sphinx-theme.js?digest=26a4bc78f4c0ddb94549"></script> <footer class="bd-footer"> <div class="bd-footer__inner bd-page-width"> <div class="footer-items__start"> <div class="footer-item"> <a class="footer-brand logo" href="https://www.nvidia.com"> <img src="_static/nvidia-logo-horiz-rgb-1c-blk-for-screen.svg" class="logo__image only-light" alt="NVIDIA"/> <img src="_static/nvidia-logo-horiz-rgb-1c-wht-for-screen.svg" class="logo__image only-dark" alt="NVIDIA"/> </a></div> <div class="footer-item"> <div class="footer-links"> <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/privacy-policy/">Privacy Policy</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/privacy-center/">Manage My Privacy</a> | <a class="external" href="https://www.nvidia.com/en-us/preferences/start/">Do Not Sell or Share My Data</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/terms-of-service/">Terms of Service</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/accessibility/">Accessibility</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/company-policies/">Corporate Policies</a> | <a class="external" href="https://www.nvidia.com/en-us/product-security/">Product Security</a> | <a class="external" href="https://www.nvidia.com/en-us/contact/">Contact</a> </div> </div> <div class="footer-item"> <p class="copyright"> Copyright 漏 2017 - 2024, NVIDIA Corporation & Affiliates. <br/> </p> </div> </div> </div> </footer> </body> </html>