Repository: rapidsai/kvikio (language: python)

Issue:
Forward-merge branch-23.10 to branch-23.12
Forward-merge triggered by push to `branch-23.10` that creates a PR to keep `branch-23.12` up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge.
[KvikIO]  CUDA 12 Conda Packages for ARM
## Overview
CUDA 12.0 was successfully released on Conda-Forge for x86-64 systems in RAPIDS `23.08`. This is a continuation of that work, bringing support to ARM systems with the target of RAPIDS `23.12`.

```[tasklist]
### RAPIDS Dependencies
- [ ] https://github.com/rapidsai/rmm/issues/1345
```

## Sample PRs
- [RMM](https://github.com/rapidsai/rmm/pull/1330)
- [cuDF](https://github.com/rapidsai/cudf/pull/14112)
Notebooks with old API
The notebook here uses the old API for compressors
https://github.com/rapidsai/kvikio/blob/branch-23.10/notebooks/nvcomp_vs_zarr_lz4.ipynb
```python
    compressor = kvikio.nvcomp.CascadedCompressor(data_gpu.dtype)
```
Love the project!
Update nvcomp to 3.0.4 (includes API changes)
Update the nvCOMP version used for compression/decompression to 3.0.4.

See also:

https://github.com/rapidsai/cudf/pull/13815
https://github.com/rapidsai/rapids-cmake/pull/451


Discussion / hints:

Fix patch:
diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json
index 9d0eaa07ff..a501d45702 100644
--- a/.devcontainer/cuda11.8-conda/devcontainer.json
+++ b/.devcontainer/cuda11.8-conda/devcontainer.json
@@ -5,12 +5,12 @@
     "args": {
       "CUDA": "11.8",
       "PYTHON_PACKAGE_MANAGER": "conda",
-      "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04"
+      "BASE": "rapidsai/devcontainers:23.12-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04"
     }
   },
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.12": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json
index 2f466c8a3f..86cc9c86ba 100644
--- a/.devcontainer/cuda11.8-pip/devcontainer.json
+++ b/.devcontainer/cuda11.8-pip/devcontainer.json
@@ -5,12 +5,12 @@
     "args": {
       "CUDA": "11.8",
       "PYTHON_PACKAGE_MANAGER": "pip",
-      "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04"
+      "BASE": "rapidsai/devcontainers:23.12-cpp-llvm16-cuda11.8-ubuntu22.04"
     }
   },
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.12": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
diff --git a/.devcontainer/cuda12.0-conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json
index 0c9378cb38..4a13117a78 100644
--- a/.devcontainer/cuda12.0-conda/devcontainer.json
+++ b/.devcontainer/cuda12.0-conda/devcontainer.json
@@ -5,12 +5,12 @@
     "args": {
       "CUDA": "12.0",
       "PYTHON_PACKAGE_MANAGER": "conda",
-      "BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04"
+      "BASE": "rapidsai/devcontainers:23.12-cpp-mambaforge-ubuntu22.04"
     }
   },
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.12": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json
index f6d6c8fb4b..d7bae28c19 100644
--- a/.devcontainer/cuda12.0-pip/devcontainer.json
+++ b/.devcontainer/cuda12.0-pip/devcontainer.json
@@ -5,12 +5,12 @@
     "args": {
       "CUDA": "12.0",
       "PYTHON_PACKAGE_MANAGER": "pip",
-      "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04"
+      "BASE": "rapidsai/devcontainers:23.12-cpp-llvm16-cuda12.0-ubuntu22.04"
     }
   },
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.12": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index bf9819f58c..3db7805120 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -22,13 +22,13 @@ on:
         default: nightly
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
+  group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
   cancel-in-progress: true
 
 jobs:
   cpp-build:
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -37,7 +37,7 @@ jobs:
   python-build:
     needs: [cpp-build]
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-23.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -46,7 +46,7 @@ jobs:
   upload-conda:
     needs: [cpp-build, python-build]
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -56,7 +56,7 @@ jobs:
     if: github.ref_type == 'branch'
     needs: python-build
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-23.12
     with:
       arch: "amd64"
       branch: ${{ inputs.branch }}
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index 472be6d62f..3f5e1157fd 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -18,51 +18,51 @@ jobs:
       - conda-python-build
       - conda-python-tests
       - docs-build
-      - devcontainer
+#     - devcontainer
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-23.12
   checks:
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-23.12
   conda-cpp-build:
     needs: checks
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12
     with:
       build_type: pull-request
   conda-cpp-tests:
     needs: conda-cpp-build
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12
     with:
       build_type: pull-request
   conda-python-build:
     needs: conda-cpp-build
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-23.12
     with:
       build_type: pull-request
   conda-python-tests:
     needs: conda-python-build
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-23.12
     with:
       build_type: pull-request
   docs-build:
     needs: conda-python-build
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-23.12
     with:
       build_type: pull-request
       node_type: "gpu-v100-latest-1"
       arch: "amd64"
       container_image: "rapidsai/ci-conda:latest"
       run_script: "ci/build_docs.sh"
-  devcontainer:
-    secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@branch-23.10
-    with:
-      build_command: |
-        sccache -z;
-        build-all;
-        sccache -s;
+# devcontainer:
+#   secrets: inherit
+#   uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@branch-23.12
+#   with:
+#     build_command: |
+#       sccache -z;
+#       build-all;
+#       sccache -s;
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b06abe885d..16e85e0d59 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,31 @@
+# kvikio 23.12.00 (6 Dec 2023)
+
+## 🚨 Breaking Changes
+
+- Update nvcomp to 3.0.4 (includes API changes) ([#314](https://github.com/rapidsai/kvikio/pull/314)) [@vuule](https://github.com/vuule)
+
+## 🐛 Bug Fixes
+
+- Remove duplicated thread-pool API ([#308](https://github.com/rapidsai/kvikio/pull/308)) [@madsbk](https://github.com/madsbk)
+- updated the nvcomp notebook to use the new API ([#294](https://github.com/rapidsai/kvikio/pull/294)) [@madsbk](https://github.com/madsbk)
+
+## 🚀 New Features
+
+- Update nvcomp to 3.0.4 (includes API changes) ([#314](https://github.com/rapidsai/kvikio/pull/314)) [@vuule](https://github.com/vuule)
+
+## 🛠️ Improvements
+
+- Build concurrency for nightly and merge triggers ([#319](https://github.com/rapidsai/kvikio/pull/319)) [@bdice](https://github.com/bdice)
+- Revert rapids-cmake branch. ([#316](https://github.com/rapidsai/kvikio/pull/316)) [@bdice](https://github.com/bdice)
+- Support no compressor in `open_cupy_array()` ([#312](https://github.com/rapidsai/kvikio/pull/312)) [@madsbk](https://github.com/madsbk)
+- Update `shared-action-workflows` references ([#305](https://github.com/rapidsai/kvikio/pull/305)) [@AyodeAwe](https://github.com/AyodeAwe)
+- Use branch-23.12 workflows. ([#304](https://github.com/rapidsai/kvikio/pull/304)) [@bdice](https://github.com/bdice)
+- Update rapids-cmake functions to non-deprecated signatures ([#301](https://github.com/rapidsai/kvikio/pull/301)) [@robertmaynard](https://github.com/robertmaynard)
+- Unify the CUDA Codecs ([#298](https://github.com/rapidsai/kvikio/pull/298)) [@madsbk](https://github.com/madsbk)
+- Improve performance of nvCOMP batch codec. ([#293](https://github.com/rapidsai/kvikio/pull/293)) [@Alexey-Kamenev](https://github.com/Alexey-Kamenev)
+- Merge branch-23.10 into branch-23.12 and fix devcontainer CI workflow. ([#292](https://github.com/rapidsai/kvikio/pull/292)) [@bdice](https://github.com/bdice)
+- kvikio: Build CUDA 12.0 ARM conda packages. ([#282](https://github.com/rapidsai/kvikio/pull/282)) [@bdice](https://github.com/bdice)
+
 # kvikio 23.10.00 (11 Oct 2023)
 
 ## 🚨 Breaking Changes
diff --git a/ci/build_docs.sh b/ci/build_docs.sh
index ab2b6336c4..9d3f359af1 100755
--- a/ci/build_docs.sh
+++ b/ci/build_docs.sh
@@ -25,7 +25,7 @@ rapids-mamba-retry install \
   --channel "${PYTHON_CHANNEL}" \
   kvikio libkvikio
 
-export RAPIDS_VERSION_NUMBER="23.10"
+export RAPIDS_VERSION_NUMBER="23.12"
 export RAPIDS_DOCS_DIR="$(mktemp -d)"
 
 rapids-logger "Build CPP docs"
diff --git a/ci/checks/style.sh b/ci/checks/style.sh
index 8de0c72238..7a4e0c2762 100755
--- a/ci/checks/style.sh
+++ b/ci/checks/style.sh
@@ -10,7 +10,7 @@ PATH=/conda/bin:$PATH
 . /opt/conda/etc/profile.d/conda.sh
 conda activate rapids
 
-FORMAT_FILE_URL=https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/cmake-format-rapids-cmake.json
+FORMAT_FILE_URL=https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/cmake-format-rapids-cmake.json
 export RAPIDS_CMAKE_FORMAT_FILE=/tmp/rapids_cmake_ci/cmake-formats-rapids-cmake.json
 mkdir -p $(dirname ${RAPIDS_CMAKE_FORMAT_FILE})
 wget -O ${RAPIDS_CMAKE_FORMAT_FILE} ${FORMAT_FILE_URL}
diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh
index 3edcd6939c..3cf72b0d7b 100755
--- a/ci/release/update-version.sh
+++ b/ci/release/update-version.sh
@@ -71,12 +71,12 @@ done
 
 # CI files
 for FILE in .github/workflows/*.yaml; do
-  sed_runner "/shared-action-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}"
+  sed_runner "/shared-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}"
 done
 sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/build_docs.sh
 
 # .devcontainer files
 find .devcontainer/ -type f -name devcontainer.json -print0 | while IFS= read -r -d '' filename; do
-    sed_runner "s@rapidsai/devcontainers:[0-9.]*@rapidsai/devcontainers:${NEXT_FULL_TAG}@g" "${filename}"
+    sed_runner "s@rapidsai/devcontainers:[0-9.]*@rapidsai/devcontainers:${NEXT_SHORT_TAG}@g" "${filename}"
     sed_runner "s@rapidsai/devcontainers/features/rapids-build-utils:[0-9.]*@rapidsai/devcontainers/features/rapids-build-utils:${NEXT_SHORT_TAG_PEP440}@" "${filename}"
 done
diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml
index c81dd4a6df..92c1b177b2 100644
--- a/conda/environments/all_cuda-118_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-118_arch-x86_64.yaml
@@ -11,7 +11,7 @@ dependencies:
 - cuda-python>=11.7.1,<12.0a0
 - cuda-version=11.8
 - cudatoolkit
-- cudf==23.10.*
+- cudf==23.12.*
 - cupy>=12.0.0
 - cxx-compiler
 - cython>=3.0.0
@@ -26,7 +26,7 @@ dependencies:
 - numpy>=1.21
 - numpydoc
 - nvcc_linux-64=11.8
-- nvcomp==2.6.1
+- nvcomp==3.0.4
 - packaging
 - pre-commit
 - pytest
diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml
index 26f804356b..c09b551089 100644
--- a/conda/environments/all_cuda-120_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-120_arch-x86_64.yaml
@@ -11,7 +11,7 @@ dependencies:
 - cuda-nvcc
 - cuda-python>=12.0,<13.0a0
 - cuda-version=12.0
-- cudf==23.10.*
+- cudf==23.12.*
 - cupy>=12.0.0
 - cxx-compiler
 - cython>=3.0.0
@@ -25,7 +25,7 @@ dependencies:
 - numcodecs <0.12.0
 - numpy>=1.21
 - numpydoc
-- nvcomp==2.6.1
+- nvcomp==3.0.4
 - packaging
 - pre-commit
 - pytest
diff --git a/conda/recipes/kvikio/conda_build_config.yaml b/conda/recipes/kvikio/conda_build_config.yaml
index 7bce9d8853..d86ab17880 100644
--- a/conda/recipes/kvikio/conda_build_config.yaml
+++ b/conda/recipes/kvikio/conda_build_config.yaml
@@ -17,4 +17,4 @@ cmake_version:
   - ">=3.26.4"
 
 nvcomp_version:
-  - "=2.6.1"
+  - "=3.0.4"
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 5b218d2717..43031da923 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -22,7 +22,7 @@ include(rapids-find)
 
 project(
   KvikIO
-  VERSION 23.10.00
+  VERSION 23.12.00
   LANGUAGES CXX
 )
 
@@ -125,10 +125,10 @@ install(FILES ${KvikIO_BINARY_DIR}/include/kvikio/version_config.hpp DESTINATION
 
 include("${rapids-cmake-dir}/export/find_package_file.cmake")
 rapids_export_find_package_file(
-  BUILD "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindcuFile.cmake" kvikio-exports
+  BUILD "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindcuFile.cmake" EXPORT_SET kvikio-exports
 )
 rapids_export_find_package_file(
-  INSTALL "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindcuFile.cmake" kvikio-exports
+  INSTALL "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindcuFile.cmake" EXPORT_SET kvikio-exports
 )
 
 set(doc_string
diff --git a/cpp/cmake/fetch_rapids.cmake b/cpp/cmake/fetch_rapids.cmake
index d19e5f8a60..2b6832a80c 100644
--- a/cpp/cmake/fetch_rapids.cmake
+++ b/cpp/cmake/fetch_rapids.cmake
@@ -12,7 +12,7 @@
 # the License.
 # =============================================================================
 if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/KVIKIO_RAPIDS.cmake)
-  file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/RAPIDS.cmake
+  file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/RAPIDS.cmake
        ${CMAKE_CURRENT_BINARY_DIR}/KVIKIO_RAPIDS.cmake
   )
 endif()
diff --git a/cpp/doxygen/Doxyfile b/cpp/doxygen/Doxyfile
index 3fc08c8645..eca81378fc 100644
--- a/cpp/doxygen/Doxyfile
+++ b/cpp/doxygen/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME           = "libkvikio"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 23.10.00
+PROJECT_NUMBER         = 23.12.00
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/dependencies.yaml b/dependencies.yaml
index 4ed3bbb14b..425077bd2c 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -139,6 +139,10 @@ dependencies:
         packages:
           - pre-commit
   cudatoolkit:
+    common:
+      - output_types: conda
+        packages:
+          - nvcomp==3.0.4
     specific:
       - output_types: conda
         matrices:
@@ -204,34 +208,6 @@ dependencies:
           # Fallback matrix for aarch64, which doesn't support libcufile.
           - matrix:
             packages:
-      - output_types: conda
-        matrices:
-          - matrix:
-              arch: x86_64
-            packages:
-              # Align nvcomp version with rapids-cmake
-              # TODO: not yet available for aarch64 CUDA 12
-              - &nvcomp nvcomp==2.6.1
-          - matrix:
-              arch: aarch64
-              cuda: "11.8"
-            packages:
-              - *nvcomp
-          - matrix:
-              arch: aarch64
-              cuda: "11.5"
-            packages:
-              - *nvcomp
-          - matrix:
-              arch: aarch64
-              cuda: "11.4"
-            packages:
-              - *nvcomp
-          - matrix:
-              arch: aarch64
-              cuda: "11.2"
-            packages:
-              - *nvcomp
   docs:
     common:
       - output_types: [conda, requirements]
@@ -300,4 +276,4 @@ dependencies:
     common:
       - output_types: conda
         packages:
-          - cudf==23.10.*
+          - cudf==23.12.*
diff --git a/docs/source/conf.py b/docs/source/conf.py
index d36282c096..5ce07aa011 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -24,9 +24,9 @@
 author = "NVIDIA"
 
 # The short X.Y version.
-version = '23.10'
+version = '23.12'
 # The full version, including alpha/beta/rc tags
-release = '23.10.00'
+release = '23.12.00'
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/docs/source/quickstart.rst b/docs/source/quickstart.rst
index 448b3101f5..0b1f3e8a68 100644
--- a/docs/source/quickstart.rst
+++ b/docs/source/quickstart.rst
@@ -1,7 +1,7 @@
 Quickstart
 ==========
 
-KvikIO can be used inplace of Python's built-in `open() <https://docs.python.org/3/library/functions.html#open>`_ function with the caveat that a file is always opened in binary (``"b"``) mode.
+KvikIO can be used in place of Python's built-in `open() <https://docs.python.org/3/library/functions.html#open>`_ function with the caveat that a file is always opened in binary (``"b"``) mode.
 In order to open a file, use KvikIO's filehandle :py:meth:`kvikio.cufile.CuFile`.
 
 .. code-block:: python
diff --git a/legate/legate_kvikio/__init__.py b/legate/legate_kvikio/__init__.py
index 612e15e0aa..9cbd5b7b74 100644
--- a/legate/legate_kvikio/__init__.py
+++ b/legate/legate_kvikio/__init__.py
@@ -3,4 +3,4 @@
 
 from .cufile import CuFile  # noqa: F401
 
-__version__ = "23.10.00"
+__version__ = "23.12.00"
diff --git a/legate/pyproject.toml b/legate/pyproject.toml
index 3e211f9703..ba3c8b09fa 100644
--- a/legate/pyproject.toml
+++ b/legate/pyproject.toml
@@ -14,7 +14,7 @@ requires = [
 
 [project]
 name = "legate_kvikio"
-version = "23.10.00"
+version = "23.12.00"
 description = "KvikIO - GPUDirect Storage"
 readme = { file = "README.md", content-type = "text/markdown" }
 authors = [
diff --git a/notebooks/nvcomp_vs_zarr_lz4.ipynb b/notebooks/nvcomp_vs_zarr_lz4.ipynb
index fb691d05ce..3b6d947ac3 100644
--- a/notebooks/nvcomp_vs_zarr_lz4.ipynb
+++ b/notebooks/nvcomp_vs_zarr_lz4.ipynb
@@ -2,23 +2,23 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 42,
    "id": "f95b6759-533a-470b-8f08-5f91ebcea625",
    "metadata": {},
    "outputs": [],
    "source": [
-    "import cudf\n",
     "import cupy as cp\n",
-    "import kvikio\n",
     "import numpy as np\n",
     "import pandas as pd\n",
     "import time\n",
-    "import zarr"
+    "import zarr\n",
+    "\n",
+    "import kvikio.nvcomp\n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 43,
    "id": "d1e60a9b-0bca-4c66-b2f0-829acc3b1ba2",
    "metadata": {
     "scrolled": true,
@@ -31,7 +31,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 44,
    "id": "2cedb529-c0fa-4883-a2fd-78b1ad3c1a59",
    "metadata": {},
    "outputs": [
@@ -51,7 +51,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 45,
    "id": "39483573-e79b-4dca-aee3-13bf392da3a7",
    "metadata": {},
    "outputs": [],
@@ -72,17 +72,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 46,
    "id": "ccd9b1e7-b607-4948-8256-73bedf1ec7a8",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "821.61s - pydevd: Sending message related to process being replaced timed-out after 5 seconds\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "--2023-09-29 13:44:43--  http://textfiles.com/etext/NONFICTION/kjv10.txt\n",
+      "Resolving textfiles.com (textfiles.com)... 208.86.224.90\n",
+      "Connecting to textfiles.com (textfiles.com)|208.86.224.90|:80... connected.\n",
+      "HTTP request sent, awaiting response... 200 OK\n",
+      "Length: 4432803 (4.2M) [text/plain]\n",
+      "Saving to: ‘kjv10.txt.2’\n",
+      "\n",
+      "kjv10.txt.2         100%[===================>]   4.23M   316KB/s    in 14s     \n",
+      "\n",
+      "2023-09-29 13:44:58 (304 KB/s) - ‘kjv10.txt.2’ saved [4432803/4432803]\n",
+      "\n"
+     ]
+    }
+   ],
    "source": [
-    "# !wget 'http://textfiles.com/etext/NONFICTION/kjv10.txt'"
+    "!wget http://textfiles.com/etext/NONFICTION/kjv10.txt"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 47,
    "id": "4c9a5c4c-4c49-4834-8dc2-3e6fc11ea930",
    "metadata": {},
    "outputs": [],
@@ -94,7 +119,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 46,
+   "execution_count": 48,
    "id": "74740819-b987-4012-ba6c-ed3d3b9afd60",
    "metadata": {},
    "outputs": [],
@@ -106,7 +131,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 52,
+   "execution_count": 49,
    "id": "0a1307ed-034c-4943-a7e1-36665cba8ad5",
    "metadata": {},
    "outputs": [],
@@ -120,7 +145,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 53,
+   "execution_count": 50,
    "id": "68adbb33-ddb7-4603-8863-fdd25b8bdc51",
    "metadata": {},
    "outputs": [],
@@ -138,7 +163,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 54,
+   "execution_count": 51,
    "id": "f067cdc2-ee14-4258-b89d-0bb4a224c698",
    "metadata": {},
    "outputs": [
@@ -152,12 +177,11 @@
       "503482304\n",
       "-----\n",
       "Input size:  2013929216\n",
-      "Cascaded GPU compressor output size:  [62935448]\n",
-      "Cascaded GPU decompressor temp size:  [6052279039]\n",
+      "Cascaded GPU compressor output size:  33434464\n",
       "Cascaded GPU decompressor output size:  2013929216\n",
-      "Cascaded GPU compress/decompress round trip time:  0.1048882007598877\n",
+      "Cascaded GPU compress/decompress round trip time:  0.1076362133026123\n",
       "2021826967\n",
-      "Lz4 zarr time:  3.9352803230285645\n",
+      "Lz4 zarr time:  4.681669235229492\n",
       "Lz4 compressed size:  2021826967\n",
       "1006964608\n",
       "4\n",
@@ -165,12 +189,11 @@
       "251741152\n",
       "-----\n",
       "Input size:  1006964608\n",
-      "Cascaded GPU compressor output size:  [31467804]\n",
-      "Cascaded GPU decompressor temp size:  [3026140543]\n",
+      "Cascaded GPU compressor output size:  16717276\n",
       "Cascaded GPU decompressor output size:  1006964608\n",
-      "Cascaded GPU compress/decompress round trip time:  0.14460277557373047\n",
+      "Cascaded GPU compress/decompress round trip time:  0.11769247055053711\n",
       "1010913478\n",
-      "Lz4 zarr time:  2.1057355403900146\n",
+      "Lz4 zarr time:  2.57978892326355\n",
       "Lz4 compressed size:  1010913478\n",
       "503482304\n",
       "4\n",
@@ -178,12 +201,11 @@
       "125870576\n",
       "-----\n",
       "Input size:  503482304\n",
-      "Cascaded GPU compressor output size:  [15733984]\n",
-      "Cascaded GPU decompressor temp size:  [1513071423]\n",
+      "Cascaded GPU compressor output size:  8358716\n",
       "Cascaded GPU decompressor output size:  503482304\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0707552433013916\n",
+      "Cascaded GPU compress/decompress round trip time:  0.05775332450866699\n",
       "505456734\n",
-      "Lz4 zarr time:  1.0633468627929688\n",
+      "Lz4 zarr time:  1.2365527153015137\n",
       "Lz4 compressed size:  505456734\n",
       "251741152\n",
       "4\n",
@@ -191,12 +213,11 @@
       "62935288\n",
       "-----\n",
       "Input size:  251741152\n",
-      "Cascaded GPU compressor output size:  [7867072]\n",
-      "Cascaded GPU decompressor temp size:  [756536735]\n",
+      "Cascaded GPU compressor output size:  4179436\n",
       "Cascaded GPU decompressor output size:  251741152\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0377504825592041\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0284881591796875\n",
       "252728362\n",
-      "Lz4 zarr time:  0.5211672782897949\n",
+      "Lz4 zarr time:  0.5986642837524414\n",
       "Lz4 compressed size:  252728362\n",
       "125870576\n",
       "4\n",
@@ -204,12 +225,11 @@
       "31467644\n",
       "-----\n",
       "Input size:  125870576\n",
-      "Cascaded GPU compressor output size:  [3933616]\n",
-      "Cascaded GPU decompressor temp size:  [378269391]\n",
+      "Cascaded GPU compressor output size:  2089796\n",
       "Cascaded GPU decompressor output size:  125870576\n",
-      "Cascaded GPU compress/decompress round trip time:  0.020840883255004883\n",
+      "Cascaded GPU compress/decompress round trip time:  0.01472783088684082\n",
       "126364175\n",
-      "Lz4 zarr time:  0.26682281494140625\n",
+      "Lz4 zarr time:  0.30330395698547363\n",
       "Lz4 compressed size:  126364175\n",
       "62935288\n",
       "4\n",
@@ -217,12 +237,11 @@
       "15733820\n",
       "-----\n",
       "Input size:  62935280\n",
-      "Cascaded GPU compressor output size:  [1966888]\n",
-      "Cascaded GPU decompressor temp size:  [189135823]\n",
+      "Cascaded GPU compressor output size:  1044976\n",
       "Cascaded GPU decompressor output size:  62935280\n",
-      "Cascaded GPU compress/decompress round trip time:  0.01086878776550293\n",
+      "Cascaded GPU compress/decompress round trip time:  0.007399559020996094\n",
       "63182074\n",
-      "Lz4 zarr time:  0.13455438613891602\n",
+      "Lz4 zarr time:  0.1610257625579834\n",
       "Lz4 compressed size:  63182074\n",
       "31467644\n",
       "4\n",
@@ -230,12 +249,11 @@
       "7866908\n",
       "-----\n",
       "Input size:  31467632\n",
-      "Cascaded GPU compressor output size:  [983524]\n",
-      "Cascaded GPU decompressor temp size:  [94666064]\n",
+      "Cascaded GPU compressor output size:  522532\n",
       "Cascaded GPU decompressor output size:  31467632\n",
-      "Cascaded GPU compress/decompress round trip time:  0.006772279739379883\n",
+      "Cascaded GPU compress/decompress round trip time:  0.004503726959228516\n",
       "31591024\n",
-      "Lz4 zarr time:  0.051115989685058594\n",
+      "Lz4 zarr time:  0.1471562385559082\n",
       "Lz4 compressed size:  31591024\n",
       "15733822\n",
       "4\n",
@@ -243,12 +261,11 @@
       "3933452\n",
       "-----\n",
       "Input size:  15733808\n",
-      "Cascaded GPU compressor output size:  [491844]\n",
-      "Cascaded GPU decompressor temp size:  [47464592]\n",
+      "Cascaded GPU compressor output size:  261344\n",
       "Cascaded GPU decompressor output size:  15733808\n",
-      "Cascaded GPU compress/decompress round trip time:  0.004179954528808594\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0025734901428222656\n",
       "15795499\n",
-      "Lz4 zarr time:  0.013217687606811523\n",
+      "Lz4 zarr time:  0.03436875343322754\n",
       "Lz4 compressed size:  15795499\n",
       "7866911\n",
       "4\n",
@@ -256,12 +273,11 @@
       "1966724\n",
       "-----\n",
       "Input size:  7866896\n",
-      "Cascaded GPU compressor output size:  [246004]\n",
-      "Cascaded GPU decompressor temp size:  [23863856]\n",
+      "Cascaded GPU compressor output size:  130716\n",
       "Cascaded GPU decompressor output size:  7866896\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0025513172149658203\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0018618106842041016\n",
       "7897736\n",
-      "Lz4 zarr time:  0.008274316787719727\n",
+      "Lz4 zarr time:  0.010539531707763672\n",
       "Lz4 compressed size:  7897736\n",
       "3933455\n",
       "4\n",
@@ -269,12 +285,11 @@
       "983360\n",
       "-----\n",
       "Input size:  3933440\n",
-      "Cascaded GPU compressor output size:  [123080]\n",
-      "Cascaded GPU decompressor temp size:  [12047232]\n",
+      "Cascaded GPU compressor output size:  65436\n",
       "Cascaded GPU decompressor output size:  3933440\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0017538070678710938\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0017323493957519531\n",
       "3948855\n",
-      "Lz4 zarr time:  0.004754781723022461\n",
+      "Lz4 zarr time:  0.028203964233398438\n",
       "Lz4 compressed size:  3948855\n",
       "1966727\n",
       "4\n",
@@ -282,12 +297,11 @@
       "491680\n",
       "-----\n",
       "Input size:  1966720\n",
-      "Cascaded GPU compressor output size:  [61620]\n",
-      "Cascaded GPU decompressor temp size:  [6024128]\n",
+      "Cascaded GPU compressor output size:  32796\n",
       "Cascaded GPU decompressor output size:  1966720\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0016601085662841797\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0020630359649658203\n",
       "1974422\n",
-      "Lz4 zarr time:  0.002357959747314453\n",
+      "Lz4 zarr time:  0.002621889114379883\n",
       "Lz4 compressed size:  1974422\n",
       "983363\n",
       "4\n",
@@ -295,12 +309,11 @@
       "245840\n",
       "-----\n",
       "Input size:  983360\n",
-      "Cascaded GPU compressor output size:  [30892]\n",
-      "Cascaded GPU decompressor temp size:  [3012608]\n",
+      "Cascaded GPU compressor output size:  16476\n",
       "Cascaded GPU decompressor output size:  983360\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0013320446014404297\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0014410018920898438\n",
       "987206\n",
-      "Lz4 zarr time:  0.0023124217987060547\n",
+      "Lz4 zarr time:  0.0007197856903076172\n",
       "Lz4 compressed size:  987206\n",
       "491681\n",
       "4\n",
@@ -308,12 +321,11 @@
       "122920\n",
       "-----\n",
       "Input size:  491680\n",
-      "Cascaded GPU compressor output size:  [15528]\n",
-      "Cascaded GPU decompressor temp size:  [1506848]\n",
+      "Cascaded GPU compressor output size:  8316\n",
       "Cascaded GPU decompressor output size:  491680\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0010962486267089844\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0011644363403320312\n",
       "493597\n",
-      "Lz4 zarr time:  0.0008330345153808594\n",
+      "Lz4 zarr time:  0.000965118408203125\n",
       "Lz4 compressed size:  493597\n",
       "245840\n",
       "4\n",
@@ -321,12 +333,11 @@
       "61460\n",
       "-----\n",
       "Input size:  245840\n",
-      "Cascaded GPU compressor output size:  [7844]\n",
-      "Cascaded GPU decompressor temp size:  [631048]\n",
+      "Cascaded GPU compressor output size:  4236\n",
       "Cascaded GPU decompressor output size:  245840\n",
-      "Cascaded GPU compress/decompress round trip time:  0.002778768539428711\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0015044212341308594\n",
       "246793\n",
-      "Lz4 zarr time:  0.002114534378051758\n",
+      "Lz4 zarr time:  0.0004220008850097656\n",
       "Lz4 compressed size:  246793\n",
       "122920\n",
       "4\n",
@@ -334,12 +345,11 @@
       "30728\n",
       "-----\n",
       "Input size:  122912\n",
-      "Cascaded GPU compressor output size:  [4004]\n",
-      "Cascaded GPU decompressor temp size:  [316048]\n",
+      "Cascaded GPU compressor output size:  2184\n",
       "Cascaded GPU decompressor output size:  122912\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0009338855743408203\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0011115074157714844\n",
       "123383\n",
-      "Lz4 zarr time:  0.0020563602447509766\n",
+      "Lz4 zarr time:  0.0002646446228027344\n",
       "Lz4 compressed size:  123383\n",
       "61460\n",
       "4\n",
@@ -347,12 +357,11 @@
       "15364\n",
       "-----\n",
       "Input size:  61456\n",
-      "Cascaded GPU compressor output size:  [2084]\n",
-      "Cascaded GPU decompressor temp size:  [158568]\n",
+      "Cascaded GPU compressor output size:  1148\n",
       "Cascaded GPU decompressor output size:  61456\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0009579658508300781\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0009233951568603516\n",
       "61678\n",
-      "Lz4 zarr time:  0.0016474723815917969\n",
+      "Lz4 zarr time:  0.00020623207092285156\n",
       "Lz4 compressed size:  61678\n",
       "30730\n",
       "4\n",
@@ -360,12 +369,11 @@
       "7680\n",
       "-----\n",
       "Input size:  30720\n",
-      "Cascaded GPU compressor output size:  [1120]\n",
-      "Cascaded GPU decompressor temp size:  [80132]\n",
+      "Cascaded GPU compressor output size:  632\n",
       "Cascaded GPU decompressor output size:  30720\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0009214878082275391\n",
+      "Cascaded GPU compress/decompress round trip time:  0.001186370849609375\n",
       "30822\n",
-      "Lz4 zarr time:  0.0016307830810546875\n",
+      "Lz4 zarr time:  0.00011777877807617188\n",
       "Lz4 compressed size:  30822\n",
       "15365\n",
       "4\n",
@@ -373,12 +381,11 @@
       "3840\n",
       "-----\n",
       "Input size:  15360\n",
-      "Cascaded GPU compressor output size:  [640]\n",
-      "Cascaded GPU decompressor temp size:  [41732]\n",
+      "Cascaded GPU compressor output size:  360\n",
       "Cascaded GPU decompressor output size:  15360\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0012125968933105469\n",
+      "Cascaded GPU compress/decompress round trip time:  0.001523733139038086\n",
       "15401\n",
-      "Lz4 zarr time:  0.001520395278930664\n",
+      "Lz4 zarr time:  0.0003781318664550781\n",
       "Lz4 compressed size:  15401\n",
       "7682\n",
       "4\n",
@@ -386,12 +393,11 @@
       "1920\n",
       "-----\n",
       "Input size:  7680\n",
-      "Cascaded GPU compressor output size:  [400]\n",
-      "Cascaded GPU decompressor temp size:  [22532]\n",
+      "Cascaded GPU compressor output size:  224\n",
       "Cascaded GPU decompressor output size:  7680\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0011355876922607422\n",
+      "Cascaded GPU compress/decompress round trip time:  0.0012781620025634766\n",
       "7699\n",
-      "Lz4 zarr time:  0.0013573169708251953\n",
+      "Lz4 zarr time:  0.0001780986785888672\n",
       "Lz4 compressed size:  7699\n",
       "3841\n",
       "4\n",
@@ -399,12 +405,11 @@
       "960\n",
       "-----\n",
       "Input size:  3840\n",
-      "Cascaded GPU compressor output size:  [280]\n",
-      "Cascaded GPU decompressor temp size:  [12932]\n",
+      "Cascaded GPU compressor output size:  156\n",
       "Cascaded GPU decompressor output size:  3840\n",
-      "Cascaded GPU compress/decompress round trip time:  0.0011224746704101562\n",
+      "Cascaded GPU compress/decompress round trip time:  0.001318216323852539\n",
       "3852\n",
-      "Lz4 zarr time:  0.0014193058013916016\n",
+      "Lz4 zarr time:  0.00019931793212890625\n",
       "Lz4 compressed size:  3852\n"
      ]
     }
@@ -424,21 +429,18 @@
     "    data_gpu = cp.array(data_host)\n",
     "    \"\"\"Cascaded GPU\"\"\"\n",
     "    t_gpu = time.time()\n",
-    "    compressor = kvikio.nvcomp.CascadedCompressor(data_gpu.dtype)\n",
+    "    compressor = kvikio.nvcomp.CascadedManager(dtype=data_gpu.dtype)\n",
     "    compressed = compressor.compress(data_gpu)\n",
-    "    output_size = compressor.compress_out_size\n",
-    "    temp_size = compressor.compress_temp_size\n",
+    "    output_size = compressed.nbytes\n",
     "\n",
     "    decompressed = compressor.decompress(compressed)\n",
     "    decompressed_size = decompressed.size * decompressed.itemsize\n",
     "    input_size.append(data_gpu.size * data_gpu.itemsize)\n",
     "    cascaded_round_trip_time.append(time.time() - t_gpu)\n",
-    "    cascaded_size.append(output_size.item())\n",
-    "    cascaded_temp_size.append(temp_size[0])\n",
+    "    cascaded_size.append(output_size)\n",
     "    print('-----')\n",
     "    print('Input size: ', data_gpu.size * data_gpu.itemsize)\n",
     "    print('Cascaded GPU compressor output size: ', output_size)\n",
-    "    print('Cascaded GPU decompressor temp size: ', temp_size)\n",
     "    print('Cascaded GPU decompressor output size: ', decompressed_size)\n",
     "    print('Cascaded GPU compress/decompress round trip time: ',time.time() - t_gpu)\n",
     "    \n",
@@ -460,7 +462,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 55,
+   "execution_count": 52,
    "id": "c981e8bc-e96a-4af4-9fe1-414aa2ff4c99",
    "metadata": {},
    "outputs": [
@@ -472,162 +474,142 @@
       "4\n",
       "4\n",
       "503482304\n",
-      "lz4 GPU compressor output size:  [2022345688]\n",
-      "lz4 GPU decompressor temp size:  [3030078135]\n",
+      "lz4 GPU compressor output size:  2022340697\n",
       "lz4 GPU decompressor output size:  2013929216\n",
-      "lz4 GPU compress/decompress round trip time:  0.2661285400390625\n",
+      "lz4 GPU compress/decompress round trip time:  0.7271463871002197\n",
       "1006964608\n",
       "4\n",
       "4\n",
       "251741152\n",
-      "lz4 GPU compressor output size:  [1011205768]\n",
-      "lz4 GPU decompressor temp size:  [1515088879]\n",
+      "lz4 GPU compressor output size:  1011170371\n",
       "lz4 GPU decompressor output size:  1006964608\n",
-      "lz4 GPU compress/decompress round trip time:  0.1546158790588379\n",
+      "lz4 GPU compress/decompress round trip time:  0.36713171005249023\n",
       "503482304\n",
       "4\n",
       "4\n",
       "125870576\n",
-      "lz4 GPU compressor output size:  [505602904]\n",
-      "lz4 GPU decompressor temp size:  [757544823]\n",
+      "lz4 GPU compressor output size:  505585200\n",
       "lz4 GPU decompressor output size:  503482304\n",
-      "lz4 GPU compress/decompress round trip time:  0.08048176765441895\n",
+      "lz4 GPU compress/decompress round trip time:  0.1900792121887207\n",
       "251741152\n",
       "4\n",
       "4\n",
       "62935288\n",
-      "lz4 GPU compressor output size:  [252834376]\n",
-      "lz4 GPU decompressor temp size:  [378822223]\n",
+      "lz4 GPU compressor output size:  252792621\n",
       "lz4 GPU decompressor output size:  251741152\n",
-      "lz4 GPU compress/decompress round trip time:  0.045432329177856445\n",
+      "lz4 GPU compress/decompress round trip time:  0.09049177169799805\n",
       "125870576\n",
       "4\n",
       "4\n",
       "31467644\n",
-      "lz4 GPU compressor output size:  [126417208]\n",
-      "lz4 GPU decompressor temp size:  [189411623]\n",
+      "lz4 GPU compressor output size:  126396327\n",
       "lz4 GPU decompressor output size:  125870576\n",
-      "lz4 GPU compress/decompress round trip time:  0.025275707244873047\n",
+      "lz4 GPU compress/decompress round trip time:  0.04643416404724121\n",
       "62935288\n",
       "4\n",
       "4\n",
       "15733820\n",
-      "lz4 GPU compressor output size:  [63241528]\n",
-      "lz4 GPU decompressor temp size:  [94755623]\n",
+      "lz4 GPU compressor output size:  63198181\n",
       "lz4 GPU decompressor output size:  62935280\n",
-      "lz4 GPU compress/decompress round trip time:  0.014865875244140625\n",
+      "lz4 GPU compress/decompress round trip time:  0.02284073829650879\n",
       "31467644\n",
       "4\n",
       "4\n",
       "7866908\n",
-      "lz4 GPU compressor output size:  [31653688]\n",
-      "lz4 GPU decompressor temp size:  [47427623]\n",
+      "lz4 GPU compressor output size:  31599109\n",
       "lz4 GPU decompressor output size:  31467632\n",
-      "lz4 GPU compress/decompress round trip time:  0.010537385940551758\n",
+      "lz4 GPU compress/decompress round trip time:  0.015845537185668945\n",
       "15733822\n",
       "4\n",
       "4\n",
       "3933452\n",
-      "lz4 GPU compressor output size:  [15859768]\n",
-      "lz4 GPU decompressor temp size:  [23763623]\n",
+      "lz4 GPU compressor output size:  15799573\n",
       "lz4 GPU decompressor output size:  15733808\n",
-      "lz4 GPU compress/decompress round trip time:  0.00794672966003418\n",
+      "lz4 GPU compress/decompress round trip time:  0.009501934051513672\n",
       "7866911\n",
       "4\n",
       "4\n",
       "1966724\n",
-      "lz4 GPU compressor output size:  [7962808]\n",
-      "lz4 GPU decompressor temp size:  [11931623]\n",
+      "lz4 GPU compressor output size:  7899801\n",
       "lz4 GPU decompressor output size:  7866896\n",
-      "lz4 GPU compress/decompress round trip time:  0.005937099456787109\n",
+      "lz4 GPU compress/decompress round trip time:  0.011568546295166016\n",
       "3933455\n",
       "4\n",
       "4\n",
       "983360\n",
-      "lz4 GPU compressor output size:  [4014328]\n",
-      "lz4 GPU decompressor temp size:  [6015623]\n",
+      "lz4 GPU compressor output size:  3949915\n",
       "lz4 GPU decompressor output size:  3933440\n",
-      "lz4 GPU compress/decompress round trip time:  0.004483222961425781\n",
+      "lz4 GPU compress/decompress round trip time:  0.00696110725402832\n",
       "1966727\n",
       "4\n",
       "4\n",
       "491680\n",
-      "lz4 GPU compressor output size:  [2040088]\n",
-      "lz4 GPU decompressor temp size:  [3057623]\n",
+      "lz4 GPU compressor output size:  1974981\n",
       "lz4 GPU decompressor output size:  1966720\n",
-      "lz4 GPU compress/decompress round trip time:  0.0037987232208251953\n",
+      "lz4 GPU compress/decompress round trip time:  0.012327194213867188\n",
       "983363\n",
       "4\n",
       "4\n",
       "245840\n",
-      "lz4 GPU compressor output size:  [1052968]\n",
-      "lz4 GPU decompressor temp size:  [1578623]\n",
+      "lz4 GPU compressor output size:  987514\n",
       "lz4 GPU decompressor output size:  983360\n",
-      "lz4 GPU compress/decompress round trip time:  0.003450632095336914\n",
+      "lz4 GPU compress/decompress round trip time:  0.006538867950439453\n",
       "491681\n",
       "4\n",
       "4\n",
       "122920\n",
-      "lz4 GPU compressor output size:  [526504]\n",
-      "lz4 GPU decompressor temp size:  [789823]\n",
+      "lz4 GPU compressor output size:  493774\n",
       "lz4 GPU decompressor output size:  491680\n",
-      "lz4 GPU compress/decompress round trip time:  0.00302886962890625\n",
+      "lz4 GPU compress/decompress round trip time:  0.012677907943725586\n",
       "245840\n",
       "4\n",
       "4\n",
       "61460\n",
-      "lz4 GPU compressor output size:  [263272]\n",
-      "lz4 GPU decompressor temp size:  [395423]\n",
+      "lz4 GPU compressor output size:  246904\n",
       "lz4 GPU decompressor output size:  245840\n",
-      "lz4 GPU compress/decompress round trip time:  0.0030694007873535156\n",
+      "lz4 GPU compress/decompress round trip time:  0.006706953048706055\n",
       "122920\n",
       "4\n",
       "4\n",
       "30728\n",
-      "lz4 GPU compressor output size:  [131656]\n",
-      "lz4 GPU decompressor temp size:  [198223]\n",
+      "lz4 GPU compressor output size:  123459\n",
       "lz4 GPU decompressor output size:  122912\n",
-      "lz4 GPU compress/decompress round trip time:  0.0031507015228271484\n",
+      "lz4 GPU compress/decompress round trip time:  0.010996580123901367\n",
       "61460\n",
       "4\n",
       "4\n",
       "15364\n",
-      "lz4 GPU compressor output size:  [65848]\n",
-      "lz4 GPU decompressor temp size:  [99623]\n",
+      "lz4 GPU compressor output size:  61745\n",
       "lz4 GPU decompressor output size:  61456\n",
-      "lz4 GPU compress/decompress round trip time:  0.004156827926635742\n",
+      "lz4 GPU compress/decompress round trip time:  0.006911039352416992\n",
       "30730\n",
       "4\n",
       "4\n",
       "7680\n",
-      "lz4 GPU compressor output size:  [65848]\n",
-      "lz4 GPU decompressor temp size:  [99623]\n",
+      "lz4 GPU compressor output size:  30907\n",
       "lz4 GPU decompressor output size:  30720\n",
-      "lz4 GPU compress/decompress round trip time:  0.003288745880126953\n",
+      "lz4 GPU compress/decompress round trip time:  0.004134178161621094\n",
       "15365\n",
       "4\n",
       "4\n",
       "3840\n",
-      "lz4 GPU compressor output size:  [65848]\n",
-      "lz4 GPU decompressor temp size:  [99623]\n",
+      "lz4 GPU compressor output size:  15498\n",
       "lz4 GPU decompressor output size:  15360\n",
-      "lz4 GPU compress/decompress round trip time:  0.002794027328491211\n",
+      "lz4 GPU compress/decompress round trip time:  0.0048847198486328125\n",
       "7682\n",
       "4\n",
       "4\n",
       "1920\n",
-      "lz4 GPU compressor output size:  [65848]\n",
-      "lz4 GPU decompressor temp size:  [99623]\n",
+      "lz4 GPU compressor output size:  7787\n",
       "lz4 GPU decompressor output size:  7680\n",
-      "lz4 GPU compress/decompress round trip time:  0.0024645328521728516\n",
+      "lz4 GPU compress/decompress round trip time:  0.0031135082244873047\n",
       "3841\n",
       "4\n",
       "4\n",
       "960\n",
-      "lz4 GPU compressor output size:  [65848]\n",
-      "lz4 GPU decompressor temp size:  [99623]\n",
+      "lz4 GPU compressor output size:  3940\n",
       "lz4 GPU decompressor output size:  3840\n",
-      "lz4 GPU compress/decompress round trip time:  0.0022754669189453125\n"
+      "lz4 GPU compress/decompress round trip time:  0.0027506351470947266\n"
      ]
     }
    ],
@@ -642,25 +624,22 @@
     "    \"\"\"LZ4 GPU\"\"\"\n",
     "    data_gpu = cp.array(data_host)\n",
     "    t_gpu = time.time()\n",
-    "    compressor = kvikio.nvcomp.LZ4Compressor(data_gpu.dtype)\n",
+    "    compressor = kvikio.nvcomp.LZ4Manager(dtype=data_gpu.dtype)\n",
     "    compressed = compressor.compress(data_gpu)\n",
-    "    output_size = compressor.compress_out_size\n",
-    "    temp_size = compressor.compress_temp_size\n",
+    "    output_size = compressed.nbytes\n",
     "\n",
     "    decompressed = compressor.decompress(compressed)\n",
     "    decompressed_size = decompressed.size * decompressed.itemsize\n",
     "    lz4_gpu_round_trip_time.append(time.time() - t_gpu)\n",
-    "    lz4_gpu_size.append(output_size.item())\n",
-    "    lz4_gpu_temp_size.append(temp_size[0])\n",
+    "    lz4_gpu_size.append(output_size)\n",
     "    print('lz4 GPU compressor output size: ', output_size)\n",
-    "    print('lz4 GPU decompressor temp size: ', temp_size)\n",
     "    print('lz4 GPU decompressor output size: ', decompressed_size)\n",
     "    print('lz4 GPU compress/decompress round trip time: ',time.time() - t_gpu)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 56,
+   "execution_count": 53,
    "id": "0b9e6efb-439b-4d9e-b221-1a728adee7d6",
    "metadata": {},
    "outputs": [],
@@ -673,7 +652,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 57,
+   "execution_count": 54,
    "id": "9cd69f83-88de-4929-b760-b8ebfb916b8f",
    "metadata": {},
    "outputs": [
@@ -682,14 +661,14 @@
      "output_type": "stream",
      "text": [
       "[2013929216, 1006964608, 503482304, 251741152, 125870576, 62935280, 31467632, 15733808, 7866896, 3933440, 1966720, 983360, 491680, 245840, 122912, 61456, 30720, 15360, 7680, 3840]\n",
-      "[62935448, 31467804, 15733984, 7867072, 3933616, 1966888, 983524, 491844, 246004, 123080, 61620, 30892, 15528, 7844, 4004, 2084, 1120, 640, 400, 280]\n",
-      "[6052279039, 3026140543, 1513071423, 756536735, 378269391, 189135823, 94666064, 47464592, 23863856, 12047232, 6024128, 3012608, 1506848, 631048, 316048, 158568, 80132, 41732, 22532, 12932]\n",
-      "[0.10453486442565918, 0.14394426345825195, 0.06992387771606445, 0.037410736083984375, 0.0201261043548584, 0.010280132293701172, 0.00645756721496582, 0.003637552261352539, 0.0022423267364501953, 0.0014102458953857422, 0.0010056495666503906, 0.0008752346038818359, 0.0006618499755859375, 0.0024743080139160156, 0.0004992485046386719, 0.0005631446838378906, 0.0005333423614501953, 0.0007169246673583984, 0.0006380081176757812, 0.0006279945373535156]\n",
-      "[2022345688, 1011205768, 505602904, 252834376, 126417208, 63241528, 31653688, 15859768, 7962808, 4014328, 2040088, 1052968, 526504, 263272, 131656, 65848, 65848, 65848, 65848, 65848]\n",
-      "[3030078135, 1515088879, 757544823, 378822223, 189411623, 94755623, 47427623, 23763623, 11931623, 6015623, 3057623, 1578623, 789823, 395423, 198223, 99623, 99623, 99623, 99623, 99623]\n",
-      "[0.26579856872558594, 0.1542949676513672, 0.07976341247558594, 0.045130252838134766, 0.024744272232055664, 0.014308691024780273, 0.009813308715820312, 0.00729823112487793, 0.005648136138916016, 0.004223346710205078, 0.0035610198974609375, 0.0032203197479248047, 0.0028107166290283203, 0.0028562545776367188, 0.0026934146881103516, 0.0039403438568115234, 0.003075838088989258, 0.0025780200958251953, 0.0022487640380859375, 0.002060413360595703]\n",
+      "[33434464, 16717276, 8358716, 4179436, 2089796, 1044976, 522532, 261344, 130716, 65436, 32796, 16476, 8316, 4236, 2184, 1148, 632, 360, 224, 156]\n",
+      "[]\n",
+      "[0.10751104354858398, 0.11756682395935059, 0.05767321586608887, 0.028416156768798828, 0.014620304107666016, 0.007331132888793945, 0.004427194595336914, 0.0025060176849365234, 0.0017902851104736328, 0.0016641616821289062, 0.001974821090698242, 0.0013790130615234375, 0.0011060237884521484, 0.0014438629150390625, 0.0010533332824707031, 0.0008640289306640625, 0.001127481460571289, 0.0014081001281738281, 0.0011692047119140625, 0.0012063980102539062]\n",
+      "[2022340697, 1011170371, 505585200, 252792621, 126396327, 63198181, 31599109, 15799573, 7899801, 3949915, 1974981, 987514, 493774, 246904, 123459, 61745, 30907, 15498, 7787, 3940]\n",
+      "[]\n",
+      "[0.7270452976226807, 0.3670234680175781, 0.18999958038330078, 0.09043264389038086, 0.04634451866149902, 0.022789478302001953, 0.015785932540893555, 0.009443283081054688, 0.011508703231811523, 0.00690460205078125, 0.012271881103515625, 0.00648951530456543, 0.012626171112060547, 0.006663322448730469, 0.010945320129394531, 0.00687098503112793, 0.004094123840332031, 0.004844188690185547, 0.0030717849731445312, 0.0027098655700683594]\n",
       "[2021826967, 1010913478, 505456734, 252728362, 126364175, 63182074, 31591024, 15795499, 7897736, 3948855, 1974422, 987206, 493597, 246793, 123383, 61678, 30822, 15401, 7699, 3852]\n",
-      "[3.935403823852539, 2.1058623790740967, 1.0634825229644775, 0.5212867259979248, 0.2671701908111572, 0.13466548919677734, 0.05133819580078125, 0.013315200805664062, 0.008357763290405273, 0.0048389434814453125, 0.0025551319122314453, 0.002497434616088867, 0.0009024143218994141, 0.0021867752075195312, 0.002157449722290039, 0.0017437934875488281, 0.0017278194427490234, 0.0016427040100097656, 0.001478433609008789, 0.001542806625366211]\n"
+      "[4.681788921356201, 2.579982280731201, 1.2367866039276123, 0.5987403392791748, 0.3033754825592041, 0.16110515594482422, 0.1472797393798828, 0.03442859649658203, 0.010602712631225586, 0.028273344039916992, 0.0026633739471435547, 0.0007534027099609375, 0.0009970664978027344, 0.0004544258117675781, 0.0002968311309814453, 0.0002384185791015625, 0.00015044212341308594, 0.00044274330139160156, 0.00023889541625976562, 0.00026869773864746094]\n"
      ]
     }
    ],
@@ -706,10 +685,8 @@
     "df = pd.DataFrame({\n",
     "    'Input Size (Bytes)': input_size,\n",
     "    'cascaded_size': cascaded_size,\n",
-    "    'cascaded_temp_size': cascaded_temp_size,\n",
     "    'cascaded_round_trip_time': cascaded_round_trip_time,\n",
     "    'lz4_gpu_size': lz4_gpu_size,\n",
-    "    'lz4_gpu_temp_size': lz4_gpu_temp_size,\n",
     "    'lz4_gpu_round_trip_time': lz4_gpu_round_trip_time,\n",
     "    'lz4_size': lz4_size,\n",
     "    'lz4_round_trip_time': lz4_round_trip_time\n",
@@ -718,7 +695,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 58,
+   "execution_count": 55,
    "id": "c7a23383-a073-4156-9be6-9da6b8c9026e",
    "metadata": {},
    "outputs": [],
@@ -731,7 +708,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 59,
+   "execution_count": 56,
    "id": "8a7d2c60-79d7-4840-a5fb-c7e1eb42f829",
    "metadata": {},
    "outputs": [
@@ -739,12 +716,11 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Index(['Input Size (Bytes)', 'cascaded_size', 'cascaded_temp_size',\n",
-      "       'cascaded_round_trip_time', 'lz4_gpu_size', 'lz4_gpu_temp_size',\n",
-      "       'lz4_gpu_round_trip_time', 'lz4_size', 'lz4_round_trip_time',\n",
-      "       'Cascaded Compression Ratio', 'Lz4 Gpu Compression Ratio',\n",
-      "       'Lz4 Host Compression Ratio', 'Cascaded Temp Buffer Size Ratio',\n",
-      "       'Lz4 Temp Buffer Size Ratio', 'Cascaded Speedup', 'Lz4 Gpu Speedup'],\n",
+      "Index(['Input Size (Bytes)', 'cascaded_size', 'cascaded_round_trip_time',\n",
+      "       'lz4_gpu_size', 'lz4_gpu_round_trip_time', 'lz4_size',\n",
+      "       'lz4_round_trip_time', 'Cascaded Compression Ratio',\n",
+      "       'Lz4 Gpu Compression Ratio', 'Lz4 Host Compression Ratio',\n",
+      "       'Cascaded Speedup', 'Lz4 Gpu Speedup'],\n",
       "      dtype='object')\n"
      ]
     }
@@ -753,8 +729,6 @@
     "df['Cascaded Compression Ratio'] = df['Input Size (Bytes)'] / df['cascaded_size']\n",
     "df['Lz4 Gpu Compression Ratio'] = df['Input Size (Bytes)'] / df['lz4_gpu_size']\n",
     "df['Lz4 Host Compression Ratio'] = df['Input Size (Bytes)'] / df['lz4_size']\n",
-    "df['Cascaded Temp Buffer Size Ratio'] = df['cascaded_temp_size'] / df['Input Size (Bytes)']\n",
-    "df['Lz4 Temp Buffer Size Ratio'] = df['lz4_gpu_temp_size'] / df['Input Size (Bytes)']\n",
     "df['Cascaded Speedup'] = df['lz4_round_trip_time'] / df['cascaded_round_trip_time']\n",
     "df['Lz4 Gpu Speedup'] = df['lz4_round_trip_time'] / df['lz4_gpu_round_trip_time']\n",
     "print(df.columns)"
@@ -762,7 +736,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 60,
+   "execution_count": 57,
    "id": "8c6f225a-61e6-42b2-a991-6eeab56aae48",
    "metadata": {},
    "outputs": [
@@ -812,26 +786,26 @@
          ],
          "xaxis": "x",
          "y": [
-          37.64680659868492,
-          14.629706863482326,
-          15.209146827967622,
-          13.934147802589987,
-          13.274808979446782,
-          13.099587179368246,
-          7.950083071810965,
-          3.660483712394311,
-          3.727272727272727,
-          3.4312764158918005,
-          2.540777619724988,
-          2.85344592754018,
-          1.3634726224783862,
-          0.8837926382732704,
-          4.321394460362942,
-          3.096528365791702,
-          3.2396066160035764,
-          2.2913202527435983,
-          2.3172645739910314,
-          2.4567198177676537
+          43.54705123144407,
+          21.94481567030547,
+          21.444731065444667,
+          21.07041934455389,
+          20.75028537882,
+          21.975478877361866,
+          33.267057999892295,
+          13.738369327371325,
+          5.922359834864829,
+          16.989541547277938,
+          1.3486659422914402,
+          0.5463347164591977,
+          0.9014873895236042,
+          0.31472919418758255,
+          0.2818017202354006,
+          0.27593818984547464,
+          0.13343201522520617,
+          0.3144260074500508,
+          0.20432300163132136,
+          0.22272727272727272
          ],
          "yaxis": "y"
         },
@@ -874,32 +848,31 @@
          ],
          "xaxis": "x",
          "y": [
-          14.805963187542607,
-          13.648289449286112,
-          13.332961692053852,
-          11.550715832849068,
-          10.797253938430408,
-          9.411447138215447,
-          5.2314868804664725,
-          1.8244421939825552,
-          1.4797382861967074,
-          1.1457604154905725,
-          0.7175281199785752,
-          0.7755238024727918,
-          0.32106200695563664,
-          0.7656093489148581,
-          0.8010091174648136,
-          0.44254855690687966,
-          0.561739400046508,
-          0.6371959678165171,
-          0.6574427480916031,
-          0.7487850034714186
+          6.439473491768513,
+          7.029474967000302,
+          6.5094175546732655,
+          6.620843022182852,
+          6.5460919936414195,
+          7.069277927730003,
+          9.329809246197762,
+          3.645829125429206,
+          0.9212777858341448,
+          4.094854972375691,
+          0.21703061858874728,
+          0.11609537455453911,
+          0.07896823898183467,
+          0.06819808215256906,
+          0.027119456303912173,
+          0.03469933030292515,
+          0.036745865362217564,
+          0.09139679102273846,
+          0.0777708786091276,
+          0.09915537568185817
          ],
          "yaxis": "y"
         }
        ],
        "layout": {
-        "autosize": true,
         "legend": {
          "title": {
           "text": "variable"
@@ -1278,11 +1251,10 @@
           ],
           "scatter": [
            {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
+            "fillpattern": {
+             "fillmode": "overlay",
+             "size": 10,
+             "solidity": 0.2
             },
             "type": "scatter"
            }
@@ -1728,15 +1700,10 @@
         },
         "xaxis": {
          "anchor": "y",
-         "autorange": true,
          "domain": [
           0,
           1
          ],
-         "range": [
-          0,
-          19
-         ],
          "title": {
           "text": "Input Size (Bytes)"
          },
@@ -1744,50 +1711,16 @@
         },
         "yaxis": {
          "anchor": "x",
-         "autorange": true,
          "domain": [
           0,
           1
          ],
-         "range": [
-          -1.7525904703626567,
-          39.72045907600321
-         ],
          "title": {
           "text": "Multiple Faster"
-         },
-         "type": "linear"
+         }
         }
        }
-      },
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0MAAAFoCAYAAACVNCAzAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQd4FFXbhp/dJCRUAekiiigWECmigFTpvffee+8dQu+99947SEdAelFQkCKKAtKbtCSkfdd7cPdLQsrszuxkMc9c13f9v+SUOfeZ3Z17znvesYSGhoaCBwmQAAmQAAmQAAmQAAmQAAnEMQIWylAcm3EOlwRIgARIgARIgARIgARIQBGgDPFCIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAESIAESiJMEKENxcto5aBIgARIgARIgARIgARIgAcoQrwESIAESIAESIAESIAESIIE4SYAyFCennYMmARIgARIgARIgARIgARKgDPEaIAESIAESIAESIAES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3JsAZci954dnRwIkQAIkQAIkQAIkQAIk4CIClCEXgWWzJEACJEACJEACJEACJEAC7k2AMuTe88OzIwESIAESIAESIAESIAEScBEBypCLwLJZEiABEiABEiABEiABEiAB9yZAGXLv+eHZkQAJkAAJkAAJkAAJkAAJuIgAZchFYNksCZAACZAACZAACZAACZCAexOgDLn3/PDsSIAESIAESIAESIAESIAEXESAMuQisGyWBEiABEiABEiABEiABEjAvQlQhtx7fnh2JEACJEACJEACJEACJEACLiJAGXIRWDZLAiRAAiRAAiRAAiRAAiTg3gQoQ+49Pzw7EiABEiABEiABEiABEiABFxGgDLkILJslARIgARIgARIgARIgARJwbwKUIfeeH54dCZAACZAACZAACZAACZCAiwhQhlwEls2SAAmQAAmQAAmQAAmQAAm4NwHKkHvPD8+OBEiABEiABEiABEiABEjARQQoQy4Cy2ZJgARIgARIgARIgARIgATcmwBlyL3nh2dHAiRAAiRAAiRAAiRAAiTgIgKUIReBZbMkQAIkQAIkQAIkQAIkQALuTYAy5N7zw7MjARIgARIgARIgARIgARJwEQHKkIvAslkSIAESIAESIAESIAESIAH3JkAZcu/54dmRAAmQAAmQAAmQAAmQAAm4iABlyEVg2SwJkAAJkAAJkAAJkAAJkIB7E6AMuff88OxIgARIgARIgARIgARIgARcRIAy5CKwbJYESIAESIAESIAESIAESMC9CVCG3Ht+eHYkQAIkQAIkQAIkQAIkQAIuIkAZchFYNksCJEACJEACJEACJEACJODeBChD7j0/PDsSIAESIAESIAESIAESIAEXEaAMuQgsmyUBEiABEiABEiABEiABEnBvApQh954fnh0JkAAJkAAJkAAJkAAJkICLCFCGXASWzZIACZAACZAACZAACZAACbg3AcqQe88Pz44ESIAESIAESIAESIAESMBFBChDLgLLZkmABEiABEiABEiABEiABNybAGXIveeHZ0cCJEACJEACJEACJEACJOAiApQhF4FlsyRAAiRAAiRAAiRAAiRAAu5NgDLk3vPDsyMBEiABEiABEiABEiABEnARAcqQi8CyWRIgARIgARIgARIgARIgAfcmQBly7/nh2ZEACZAACZAACZAACZAACbiIAGXIRWDZLAmQAAmQ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TARoDGWm1XLzWB9k1Xuon0ESO0sWkWbvVNc8JjYSIAESIAESIAESIAEScCcBGkPupMu+SYAESIAESIAESIAESIAEPJYAjSGPXRoOjARIgARIgARIgARIgARIwJ0EaAy5ky77JgESIAESIAESIAESIAES8FgCNIY8dmk4MBIgARIgARIgARIgARIgAXcSoDHkTrrsmwRIgARIgARIgARIgARIwGMJ0Bjy2KXhwEiABEiABEiABEiABEiABNxJgMaQO+mybxIgARIgARIgARIgARIgAY8lQGPIY5eGAyMBEiABEiABEiABEiABEnAnARpD7qTLvkmABEiABEiABEiABEiABDyWAI0hj10aDowESIAESIAESIAESIAESMCdBGgMuZMu+yYBEiABEiABEiABEiABEvBYAjSGPHZpODASIAESIAESIAESIAESIAF3EqAx5E667JsESIAESIAESIAESIAESMBjCdAY8til4cBIgARIgARIgARIgARIgATcSYDGkDvpsm8SIAESIAESIAESIAESIAGPJUBjyGOXhgMjARIgARIgARIgARIgARJwJwEaQ+6ky75JgARIgARIgARIgARIgAQ8lgCNIY9dGg6MBEjg/5nAH1evS5VGAbJ6zgh58bmnXY7i8u9XpUW3oTI2oqeUL/2Sy/t3pMOzP12UdgHDZXZ8uJR49klHuuA9JEACJEACJGAXARpDduHixSRAApmZQMUGfhId1kW83qrs9mns3Pu5PPNUIXm2WBGrzzr38yWZPHul7Dv0tfx6+Xd5PHdOqVj2Zenn31aeLFxAbt++LYe+OCavlnxOcmTP5vLx9hk2VZ4q8oT0828jG7btk/7R00zPyJbtMXmyUH5p9k516dquYbqendZ809WJiCx/f4csWLlFls+MkkeyZk3vbbyOBEiABEiABBwiQGPIIWy8iQRIIDMSyEhjqH3gSOnu01BqVi1nFdW7HQfJ88WLSmDnZlKoQD45f+GSxM1YKud+uijr5sVI1qxZ3Ib4m+OnxSdwhGxeHCf5/51HjaGI2CTZkDxan/nXzVtqpA2fkCyxQ/ykQe1KaY4lrfmm2cE/F8AIbNAuTPr4tc4QozW94+J1JEACJEACDycBGkMP57pyViRAAlYImBtDO/YckVGT50tQ5+aStHiD/Prb7/Kfl5/TzX/uXDlkxMRkuXbtT4GXZM/B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qwbSqU0DRfD96fMSPmKGXLr8uzyRP6/07NBY82B2rZmsIWxT5qwShLVVq/iq1XCxo998LzOS18mRr47L71evS/68eaTcqy9Id59GUurF4ikEFG7fvqOeKMuGsfT3bysIOYO09ofb98uNmzelZIlnJDzQ2+T5sbwPYWxQz4sZdE/y27LoatasWXXetd94TYK7Nk9hzBkS4klxYVKlwiumri3nu/fgV+o9OnHqrDyeJ5cafiHdW2q4HeY+ZuoiQb0jGHMQkBgY5KPiFGiJ89fJJ/uPphBgyMzvHcdOAiRAAiTguQRoDHnu2nBkJEACD5AABBRgDBlyzw9wKC5/9NfHfpAOQaNky9I4k5Jeeh/y0e7PJGbyAtm4cKxbCsMiFA+eq95dW4hXnSrpHRavIwESIAESIAGHCNAYcggbbyIBEnjYCTzMxhDWDkp6xZ8qnEK0ILU1vXnrb5XT7jVognTzbqhFVN3REJqYvHyTLJ8VLeZy2+54FvskARIgARIgARpDfAdIgARIwAqBh90Y+u3KH9Ky+zBVxitf+qU034FJSStk7tIPpYVXDRkU7GMSP0jzRjsugOhDu4DhkhQfJi88+5Qdd/JSEiABEiABEnCMAI0hx7jxLhIgARIgARIgARIgARIggUxOgMZQJl9ADp8ESIAESIAESIAESIAESMAxAjSGHOPGu0iABEiABEiABEiABEiABDI5ARpDmXwBOXwSIAESIAESIAESIAESIAHHCNAYcowb7yIBEiABEiABEiABEiABEsjkBGgMZfIF5PBJgARIgARIgARIgARIgAQcI0BjyDFuvIsESIAESIAESIAESIAESCCTE6AxlMkXkMMnARIgARIgARIgARIgARJwjACNIce48S4SIAESIAESIAESIAESIIFMTuC/HkGe7fhNPcQAAAAASUVORK5CYII=",
-      "text/html": [
-       "<div>                            <div id=\"0ae0b0a1-e661-48cb-aea1-f209f6b06965\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>            <script type=\"text/javascript\">                require([\"plotly\"], function(Plotly) {                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"0ae0b0a1-e661-48cb-aea1-f209f6b06965\")) {                    Plotly.newPlot(                        \"0ae0b0a1-e661-48cb-aea1-f209f6b06965\",                        [{\"hovertemplate\":\"variable=Cascaded Speedup<br>Input Size (Bytes)=%{x}<br>Multiple Faster=%{y}<extra></extra>\",\"legendgroup\":\"Cascaded Speedup\",\"line\":{\"color\":\"#636efa\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Cascaded Speedup\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[37.64680659868492,14.629706863482326,15.209146827967622,13.934147802589987,13.274808979446782,13.099587179368246,7.950083071810965,3.660483712394311,3.727272727272727,3.4312764158918005,2.540777619724988,2.85344592754018,1.3634726224783862,0.8837926382732704,4.321394460362942,3.096528365791702,3.2396066160035764,2.2913202527435983,2.3172645739910314,2.4567198177676537],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"variable=Lz4 Gpu Speedup<br>Input Size (Bytes)=%{x}<br>Multiple Faster=%{y}<extra></extra>\",\"legendgroup\":\"Lz4 Gpu Speedup\",\"line\":{\"color\":\"#EF553B\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Lz4 Gpu Speedup\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[14.805963187542607,13.648289449286112,13.332961692053852,11.550715832849068,10.797253938430408,9.411447138215447,5.2314868804664725,1.8244421939825552,1.4797382861967074,1.1457604154905725,0.7175281199785752,0.7755238024727918,0.32106200695563664,0.7656093489148581,0.8010091174648136,0.44254855690687966,0.561739400046508,0.6371959678165171,0.6574427480916031,0.7487850034714186],\"yaxis\":\"y\",\"type\":\"scatter\"}],                        {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Input Size (Bytes)\"},\"type\":\"category\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Multiple Faster\"}},\"legend\":{\"title\":{\"text\":\"variable\"},\"tracegroupgap\":0},\"title\":{\"text\":\"Gpu Acceleration over Zarr Lz4 - Ascending <class 'numpy.int32'>\"}},                        {\"responsive\": true}                    ).then(function(){\n",
-       "                            \n",
-       "var gd = document.getElementById('0ae0b0a1-e661-48cb-aea1-f209f6b06965');\n",
-       "var x = new MutationObserver(function (mutations, observer) {{\n",
-       "        var display = window.getComputedStyle(gd).display;\n",
-       "        if (!display || display === 'none') {{\n",
-       "            console.log([gd, 'removed!']);\n",
-       "            Plotly.purge(gd);\n",
-       "            observer.disconnect();\n",
-       "        }}\n",
-       "}});\n",
-       "\n",
-       "// Listen for the removal of the full notebook cells\n",
-       "var notebookContainer = gd.closest('#notebook-container');\n",
-       "if (notebookContainer) {{\n",
-       "    x.observe(notebookContainer, {childList: true});\n",
-       "}}\n",
-       "\n",
-       "// Listen for the clearing of the current output cell\n",
-       "var outputEl = gd.closest('.output');\n",
-       "if (outputEl) {{\n",
-       "    x.observe(outputEl, {childList: true});\n",
-       "}}\n",
-       "\n",
-       "                        })                };                });            </script>        </div>"
-      ]
+      }
      },
      "metadata": {},
      "output_type": "display_data"
@@ -1807,7 +1740,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 61,
+   "execution_count": 58,
    "id": "e3d57a90-ca86-41da-9747-696151d66184",
    "metadata": {},
    "outputs": [
@@ -1857,26 +1790,26 @@
          ],
          "xaxis": "x",
          "y": [
-          0.9958382624444768,
-          0.995805838797391,
-          0.9958057994065636,
-          0.9956761259394569,
-          0.9956759684172111,
-          0.9951574857584086,
-          0.9941221383113399,
-          0.9920578913890796,
-          0.9879550028080546,
-          0.9798501766671782,
-          0.9640368454694112,
-          0.9338935276285699,
-          0.9338580523604759,
-          0.9337871099091434,
-          0.9335844929209455,
-          0.93330093548779,
-          0.46652897582310776,
-          0.23326448791155388,
-          0.11663224395577694,
-          0.05831612197788847
+          0.9958407201059258,
+          0.9958406979470327,
+          0.995840669386683,
+          0.9958405866601621,
+          0.9958404566613712,
+          0.9958400543205508,
+          0.9958392181247895,
+          0.9958375457362044,
+          0.9958347052033336,
+          0.9958290241688745,
+          0.9958171749500375,
+          0.9957934773582957,
+          0.9957591934771778,
+          0.9956906327965525,
+          0.9955693793081104,
+          0.9953194590655113,
+          0.9939495907076067,
+          0.9910956252419667,
+          0.9862591498651598,
+          0.9746192893401016
          ],
          "yaxis": "y"
         },
@@ -1919,26 +1852,26 @@
          ],
          "xaxis": "x",
          "y": [
-          31.9999186468014,
-          31.999837294016448,
-          31.99967052210044,
-          31.99934511848881,
-          31.998694331119257,
-          31.997388768450467,
-          31.99477796169692,
-          31.989427542066185,
-          31.978732053137346,
-          31.958401039974,
-          31.916910094125285,
-          31.832189563641073,
-          31.66409067490984,
-          31.341152473227943,
-          30.697302697302696,
-          29.489443378119002,
-          27.428571428571427,
-          24,
-          19.2,
-          13.714285714285714
+          60.23512792069884,
+          60.23496938137529,
+          60.23440729413465,
+          60.23328315112374,
+          60.231034990975196,
+          60.226531518427215,
+          60.2214448110355,
+          60.20344067589078,
+          60.183114538388566,
+          60.11125374411639,
+          59.96828881570923,
+          59.68438941490653,
+          59.12457912457913,
+          58.035882908404155,
+          56.27838827838828,
+          53.53310104529617,
+          48.607594936708864,
+          42.666666666666664,
+          34.285714285714285,
+          24.615384615384617
          ],
          "yaxis": "y"
         },
@@ -2006,7 +1939,6 @@
         }
        ],
        "layout": {
-        "autosize": true,
         "legend": {
          "title": {
           "text": "variable"
@@ -2385,11 +2317,10 @@
           ],
           "scatter": [
            {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
+            "fillpattern": {
+             "fillmode": "overlay",
+             "size": 10,
+             "solidity": 0.2
             },
             "type": "scatter"
            }
@@ -2835,15 +2766,10 @@
         },
         "xaxis": {
          "anchor": "y",
-         "autorange": true,
          "domain": [
           0,
           1
          ],
-         "range": [
-          0,
-          19
-         ],
          "title": {
           "text": "Input Size (Bytes)"
          },
@@ -2851,50 +2777,16 @@
         },
         "yaxis": {
          "anchor": "x",
-         "autorange": true,
          "domain": [
           0,
           1
          ],
-         "range": [
-          -1.7162173516234178,
-          33.77445212040271
-         ],
          "title": {
           "text": "Compression Factor"
-         },
-         "type": "linear"
+         }
         }
        }
-      },
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0MAAAFoCAYAAACVNCAzAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQV4VMcahr9kN4a7SykUKVqcoqW4u7u7u7u7u7W4u7S4W4EWbZEixZ0QT/Y+/2x22YQYydllc/PNfXpJds+ZM/PO7GbeMzP/cTAYDAYwkQAJkAAJkAAJkAAJkAAJkEAMI+BAGYphLc7qkgAJkAAJkAAJkAAJkAAJKAKUIXYEEiABEiABEiABEiABEiCBGEmAMhQjm52VJgESIAESIAESIAESIAESoAyxD5AACZAACZAACZAACZAACcRIApShGNnsrDQJkAAJkAAJkAAJkAAJkABliH2ABEiABEiABEiABEiABEggRhKgDMXIZmelSYAESIAESIAESIAESIAEKEPsAyRAAiRAAiRAAiRAAiRAAjGSAGUoRjY7K00CJEACJEACJEACJEACJEAZYh8gARIgARIgARIgARIgARKIkQQoQzGy2VlpEiABEiABEiABEiABEiAByhD7AAmQAAmQAAmQAAmQAAmQQIwkQBmKkc3OSpMACZAACZAACZAACZAACVCG2AdIgARIgARIgARIgARIgARiJAHKUIxsdlaaBEiABEiABEiABEiABEiAMsQ+QAIkQAIkQAIkQAIkQAIkECMJUIZiZLOz0iRAAiRAAiRAAiRAAiRAApQh9gESIAESIAESIAESIAESIIEYSYAyFCObnZUmARIgARIgARIgARIgARKgDLEPkAAJkAAJkAAJkAAJkAAJxEgClKEY2eysNAmQAAmQAAmQAAmQAAmQAGWIfYAESIAESIAESIAESIAESCBGEqAMxchmZ6VJgARIgARIgARIgARIgAQoQ+wDJEACJEACJEACJEACJEACMZIAZShGNjsrTQIkQAIkQAIkQAIkQAIkQBliHyABEiABEiABEiABEiABEoiRBChDMbLZWWkSIAESIAESIAESIAESIAHKEPsACZAACZAACZAACZAACZBAjCRAGYqRzc5KkwAJkAAJkAAJkAAJkAAJUIbYB0iABEiABEiABEiABEiABGIkAcpQjGx2VpoESIAESIAESIAESIAESIAyxD5AAiRAAiRAAiRAAiRAAiQQIwlQhmJks7PSJEACJEACJEACJEACJEAClCH2ARIgARIgARIgARIgARIggRhJgDIUI5ud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",
-      "text/html": [
-       "<div>                            <div id=\"15b3938e-8aff-41eb-9bcb-c33a8ae499cf\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>            <script type=\"text/javascript\">                require([\"plotly\"], function(Plotly) {                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"15b3938e-8aff-41eb-9bcb-c33a8ae499cf\")) {                    Plotly.newPlot(                        \"15b3938e-8aff-41eb-9bcb-c33a8ae499cf\",                        [{\"hovertemplate\":\"variable=Lz4 Gpu Compression Ratio<br>Input Size (Bytes)=%{x}<br>Compression Factor=%{y}<extra></extra>\",\"legendgroup\":\"Lz4 Gpu Compression Ratio\",\"line\":{\"color\":\"#636efa\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Lz4 Gpu Compression Ratio\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[0.9958382624444768,0.995805838797391,0.9958057994065636,0.9956761259394569,0.9956759684172111,0.9951574857584086,0.9941221383113399,0.9920578913890796,0.9879550028080546,0.9798501766671782,0.9640368454694112,0.9338935276285699,0.9338580523604759,0.9337871099091434,0.9335844929209455,0.93330093548779,0.46652897582310776,0.23326448791155388,0.11663224395577694,0.05831612197788847],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"variable=Cascaded Compression Ratio<br>Input Size (Bytes)=%{x}<br>Compression Factor=%{y}<extra></extra>\",\"legendgroup\":\"Cascaded Compression Ratio\",\"line\":{\"color\":\"#EF553B\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Cascaded Compression Ratio\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[31.9999186468014,31.999837294016448,31.99967052210044,31.99934511848881,31.998694331119257,31.997388768450467,31.99477796169692,31.989427542066185,31.978732053137346,31.958401039974,31.916910094125285,31.832189563641073,31.66409067490984,31.341152473227943,30.697302697302696,29.489443378119002,27.428571428571427,24.0,19.2,13.714285714285714],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"variable=Lz4 Host Compression Ratio<br>Input Size (Bytes)=%{x}<br>Compression Factor=%{y}<extra></extra>\",\"legendgroup\":\"Lz4 Host Compression Ratio\",\"line\":{\"color\":\"#00cc96\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Lz4 Host Compression Ratio\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[0.9960937552377597,0.9960937606571312,0.9960937705105339,0.9960937902173401,0.9960938375136782,0.9960939237290628,0.9960940803944817,0.9960943937257063,0.9960950834517639,0.996096336786233,0.9960991115374525,0.9961041565792752,0.9961162648881577,0.9961384642190013,0.9961826183509884,0.9964006615000487,0.996690675491532,0.9973378352055061,0.997532147032082,0.9968847352024922],\"yaxis\":\"y\",\"type\":\"scatter\"}],                        {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Input Size (Bytes)\"},\"type\":\"category\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Compression Factor\"}},\"legend\":{\"title\":{\"text\":\"variable\"},\"tracegroupgap\":0},\"title\":{\"text\":\"Compression - Ascending <class 'numpy.int32'>\"}},                        {\"responsive\": true}                    ).then(function(){\n",
-       "                            \n",
-       "var gd = document.getElementById('15b3938e-8aff-41eb-9bcb-c33a8ae499cf');\n",
-       "var x = new MutationObserver(function (mutations, observer) {{\n",
-       "        var display = window.getComputedStyle(gd).display;\n",
-       "        if (!display || display === 'none') {{\n",
-       "            console.log([gd, 'removed!']);\n",
-       "            Plotly.purge(gd);\n",
-       "            observer.disconnect();\n",
-       "        }}\n",
-       "}});\n",
-       "\n",
-       "// Listen for the removal of the full notebook cells\n",
-       "var notebookContainer = gd.closest('#notebook-container');\n",
-       "if (notebookContainer) {{\n",
-       "    x.observe(notebookContainer, {childList: true});\n",
-       "}}\n",
-       "\n",
-       "// Listen for the clearing of the current output cell\n",
-       "var outputEl = gd.closest('.output');\n",
-       "if (outputEl) {{\n",
-       "    x.observe(outputEl, {childList: true});\n",
-       "}}\n",
-       "\n",
-       "                        })                };                });            </script>        </div>"
-      ]
+      }
      },
      "metadata": {},
      "output_type": "display_data"
@@ -2914,1085 +2806,6 @@
     "fig.update_xaxes(type='category')\n",
     "fig.show()"
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 62,
-   "id": "2974481d-c277-4982-98f1-d407e48a5fe6",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "application/vnd.plotly.v1+json": {
-       "config": {
-        "plotlyServerURL": "https://plot.ly"
-       },
-       "data": [
-        {
-         "hovertemplate": "variable=Cascaded Temp Buffer Size Ratio<br>Input Size (Bytes)=%{x}<br>temp / input size=%{y}<extra></extra>",
-         "legendgroup": "Cascaded Temp Buffer Size Ratio",
-         "line": {
-          "color": "#636efa",
-          "dash": "solid"
-         },
-         "marker": {
-          "symbol": "circle"
-         },
-         "mode": "lines",
-         "name": "Cascaded Temp Buffer Size Ratio",
-         "orientation": "v",
-         "showlegend": true,
-         "type": "scatter",
-         "x": [
-          2013929216,
-          1006964608,
-          503482304,
-          251741152,
-          125870576,
-          62935280,
-          31467632,
-          15733808,
-          7866896,
-          3933440,
-          1966720,
-          983360,
-          491680,
-          245840,
-          122912,
-          61456,
-          30720,
-          15360,
-          7680,
-          3840
-         ],
-         "xaxis": "x",
-         "y": [
-          3.005209413973763,
-          3.005210430394789,
-          3.005212717466233,
-          3.005216783150337,
-          3.005224914518545,
-          3.0052432117565857,
-          3.0083631332665894,
-          3.016726275037804,
-          3.0334525840941584,
-          3.062772534982102,
-          3.063032866905304,
-          3.0635860722421087,
-          3.0646924829157176,
-          2.566905304262935,
-          2.571335589690185,
-          2.5801874511845875,
-          2.6084635416666666,
-          2.716927083333333,
-          2.933854166666667,
-          3.3677083333333333
-         ],
-         "yaxis": "y"
-        },
-        {
-         "hovertemplate": "variable=Lz4 Temp Buffer Size Ratio<br>Input Size (Bytes)=%{x}<br>temp / input size=%{y}<extra></extra>",
-         "legendgroup": "Lz4 Temp Buffer Size Ratio",
-         "line": {
-          "color": "#EF553B",
-          "dash": "solid"
-         },
-         "marker": {
-          "symbol": "circle"
-         },
-         "mode": "lines",
-         "name": "Lz4 Temp Buffer Size Ratio",
-         "orientation": "v",
-         "showlegend": true,
-         "type": "scatter",
-         "x": [
-          2013929216,
-          1006964608,
-          503482304,
-          251741152,
-          125870576,
-          62935280,
-          31467632,
-          15733808,
-          7866896,
-          3933440,
-          1966720,
-          983360,
-          491680,
-          245840,
-          122912,
-          61456,
-          30720,
-          15360,
-          7680,
-          3840
-         ],
-         "xaxis": "x",
-         "y": [
-          1.5045603941424721,
-          1.5046098611243346,
-          1.504610622819427,
-          1.5048084907468764,
-          1.5048125544448132,
-          1.5056042175390338,
-          1.5071875443312672,
-          1.5103542003309052,
-          1.5166875219908844,
-          1.529354203953791,
-          1.5546813984705499,
-          1.6053357875040677,
-          1.606376098275301,
-          1.6084567198177677,
-          1.6127229237177818,
-          1.6210459515751106,
-          3.242936197916667,
-          6.485872395833334,
-          12.971744791666667,
-          25.943489583333335
-         ],
-         "yaxis": "y"
-        }
-       ],
-       "layout": {
-        "autosize": true,
-        "legend": {
-         "title": {
-          "text": "variable"
-         },
-         "tracegroupgap": 0
-        },
-        "template": {
-         "data": {
-          "bar": [
-           {
-            "error_x": {
-             "color": "#2a3f5f"
-            },
-            "error_y": {
-             "color": "#2a3f5f"
-            },
-            "marker": {
-             "line": {
-              "color": "#E5ECF6",
-              "width": 0.5
-             },
-             "pattern": {
-              "fillmode": "overlay",
-              "size": 10,
-              "solidity": 0.2
-             }
-            },
-            "type": "bar"
-           }
-          ],
-          "barpolar": [
-           {
-            "marker": {
-             "line": {
-              "color": "#E5ECF6",
-              "width": 0.5
-             },
-             "pattern": {
-              "fillmode": "overlay",
-              "size": 10,
-              "solidity": 0.2
-             }
-            },
-            "type": "barpolar"
-           }
-          ],
-          "carpet": [
-           {
-            "aaxis": {
-             "endlinecolor": "#2a3f5f",
-             "gridcolor": "white",
-             "linecolor": "white",
-             "minorgridcolor": "white",
-             "startlinecolor": "#2a3f5f"
-            },
-            "baxis": {
-             "endlinecolor": "#2a3f5f",
-             "gridcolor": "white",
-             "linecolor": "white",
-             "minorgridcolor": "white",
-             "startlinecolor": "#2a3f5f"
-            },
-            "type": "carpet"
-           }
-          ],
-          "choropleth": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "type": "choropleth"
-           }
-          ],
-          "contour": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1,
-              "#f0f921"
-             ]
-            ],
-            "type": "contour"
-           }
-          ],
-          "contourcarpet": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "type": "contourcarpet"
-           }
-          ],
-          "heatmap": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1,
-              "#f0f921"
-             ]
-            ],
-            "type": "heatmap"
-           }
-          ],
-          "heatmapgl": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1,
-              "#f0f921"
-             ]
-            ],
-            "type": "heatmapgl"
-           }
-          ],
-          "histogram": [
-           {
-            "marker": {
-             "pattern": {
-              "fillmode": "overlay",
-              "size": 10,
-              "solidity": 0.2
-             }
-            },
-            "type": "histogram"
-           }
-          ],
-          "histogram2d": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1,
-              "#f0f921"
-             ]
-            ],
-            "type": "histogram2d"
-           }
-          ],
-          "histogram2dcontour": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1,
-              "#f0f921"
-             ]
-            ],
-            "type": "histogram2dcontour"
-           }
-          ],
-          "mesh3d": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "type": "mesh3d"
-           }
-          ],
-          "parcoords": [
-           {
-            "line": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "parcoords"
-           }
-          ],
-          "pie": [
-           {
-            "automargin": true,
-            "type": "pie"
-           }
-          ],
-          "scatter": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scatter"
-           }
-          ],
-          "scatter3d": [
-           {
-            "line": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scatter3d"
-           }
-          ],
-          "scattercarpet": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scattercarpet"
-           }
-          ],
-          "scattergeo": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scattergeo"
-           }
-          ],
-          "scattergl": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scattergl"
-           }
-          ],
-          "scattermapbox": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scattermapbox"
-           }
-          ],
-          "scatterpolar": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scatterpolar"
-           }
-          ],
-          "scatterpolargl": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scatterpolargl"
-           }
-          ],
-          "scatterternary": [
-           {
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "type": "scatterternary"
-           }
-          ],
-          "surface": [
-           {
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1,
-              "#f0f921"
-             ]
-            ],
-            "type": "surface"
-           }
-          ],
-          "table": [
-           {
-            "cells": {
-             "fill": {
-              "color": "#EBF0F8"
-             },
-             "line": {
-              "color": "white"
-             }
-            },
-            "header": {
-             "fill": {
-              "color": "#C8D4E3"
-             },
-             "line": {
-              "color": "white"
-             }
-            },
-            "type": "table"
-           }
-          ]
-         },
-         "layout": {
-          "annotationdefaults": {
-           "arrowcolor": "#2a3f5f",
-           "arrowhead": 0,
-           "arrowwidth": 1
-          },
-          "autotypenumbers": "strict",
-          "coloraxis": {
-           "colorbar": {
-            "outlinewidth": 0,
-            "ticks": ""
-           }
-          },
-          "colorscale": {
-           "diverging": [
-            [
-             0,
-             "#8e0152"
-            ],
-            [
-             0.1,
-             "#c51b7d"
-            ],
-            [
-             0.2,
-             "#de77ae"
-            ],
-            [
-             0.3,
-             "#f1b6da"
-            ],
-            [
-             0.4,
-             "#fde0ef"
-            ],
-            [
-             0.5,
-             "#f7f7f7"
-            ],
-            [
-             0.6,
-             "#e6f5d0"
-            ],
-            [
-             0.7,
-             "#b8e186"
-            ],
-            [
-             0.8,
-             "#7fbc41"
-            ],
-            [
-             0.9,
-             "#4d9221"
-            ],
-            [
-             1,
-             "#276419"
-            ]
-           ],
-           "sequential": [
-            [
-             0,
-             "#0d0887"
-            ],
-            [
-             0.1111111111111111,
-             "#46039f"
-            ],
-            [
-             0.2222222222222222,
-             "#7201a8"
-            ],
-            [
-             0.3333333333333333,
-             "#9c179e"
-            ],
-            [
-             0.4444444444444444,
-             "#bd3786"
-            ],
-            [
-             0.5555555555555556,
-             "#d8576b"
-            ],
-            [
-             0.6666666666666666,
-             "#ed7953"
-            ],
-            [
-             0.7777777777777778,
-             "#fb9f3a"
-            ],
-            [
-             0.8888888888888888,
-             "#fdca26"
-            ],
-            [
-             1,
-             "#f0f921"
-            ]
-           ],
-           "sequentialminus": [
-            [
-             0,
-             "#0d0887"
-            ],
-            [
-             0.1111111111111111,
-             "#46039f"
-            ],
-            [
-             0.2222222222222222,
-             "#7201a8"
-            ],
-            [
-             0.3333333333333333,
-             "#9c179e"
-            ],
-            [
-             0.4444444444444444,
-             "#bd3786"
-            ],
-            [
-             0.5555555555555556,
-             "#d8576b"
-            ],
-            [
-             0.6666666666666666,
-             "#ed7953"
-            ],
-            [
-             0.7777777777777778,
-             "#fb9f3a"
-            ],
-            [
-             0.8888888888888888,
-             "#fdca26"
-            ],
-            [
-             1,
-             "#f0f921"
-            ]
-           ]
-          },
-          "colorway": [
-           "#636efa",
-           "#EF553B",
-           "#00cc96",
-           "#ab63fa",
-           "#FFA15A",
-           "#19d3f3",
-           "#FF6692",
-           "#B6E880",
-           "#FF97FF",
-           "#FECB52"
-          ],
-          "font": {
-           "color": "#2a3f5f"
-          },
-          "geo": {
-           "bgcolor": "white",
-           "lakecolor": "white",
-           "landcolor": "#E5ECF6",
-           "showlakes": true,
-           "showland": true,
-           "subunitcolor": "white"
-          },
-          "hoverlabel": {
-           "align": "left"
-          },
-          "hovermode": "closest",
-          "mapbox": {
-           "style": "light"
-          },
-          "paper_bgcolor": "white",
-          "plot_bgcolor": "#E5ECF6",
-          "polar": {
-           "angularaxis": {
-            "gridcolor": "white",
-            "linecolor": "white",
-            "ticks": ""
-           },
-           "bgcolor": "#E5ECF6",
-           "radialaxis": {
-            "gridcolor": "white",
-            "linecolor": "white",
-            "ticks": ""
-           }
-          },
-          "scene": {
-           "xaxis": {
-            "backgroundcolor": "#E5ECF6",
-            "gridcolor": "white",
-            "gridwidth": 2,
-            "linecolor": "white",
-            "showbackground": true,
-            "ticks": "",
-            "zerolinecolor": "white"
-           },
-           "yaxis": {
-            "backgroundcolor": "#E5ECF6",
-            "gridcolor": "white",
-            "gridwidth": 2,
-            "linecolor": "white",
-            "showbackground": true,
-            "ticks": "",
-            "zerolinecolor": "white"
-           },
-           "zaxis": {
-            "backgroundcolor": "#E5ECF6",
-            "gridcolor": "white",
-            "gridwidth": 2,
-            "linecolor": "white",
-            "showbackground": true,
-            "ticks": "",
-            "zerolinecolor": "white"
-           }
-          },
-          "shapedefaults": {
-           "line": {
-            "color": "#2a3f5f"
-           }
-          },
-          "ternary": {
-           "aaxis": {
-            "gridcolor": "white",
-            "linecolor": "white",
-            "ticks": ""
-           },
-           "baxis": {
-            "gridcolor": "white",
-            "linecolor": "white",
-            "ticks": ""
-           },
-           "bgcolor": "#E5ECF6",
-           "caxis": {
-            "gridcolor": "white",
-            "linecolor": "white",
-            "ticks": ""
-           }
-          },
-          "title": {
-           "x": 0.05
-          },
-          "xaxis": {
-           "automargin": true,
-           "gridcolor": "white",
-           "linecolor": "white",
-           "ticks": "",
-           "title": {
-            "standoff": 15
-           },
-           "zerolinecolor": "white",
-           "zerolinewidth": 2
-          },
-          "yaxis": {
-           "automargin": true,
-           "gridcolor": "white",
-           "linecolor": "white",
-           "ticks": "",
-           "title": {
-            "standoff": 15
-           },
-           "zerolinecolor": "white",
-           "zerolinewidth": 2
-          }
-         }
-        },
-        "title": {
-         "text": "Temp Buffer - Ascending"
-        },
-        "xaxis": {
-         "anchor": "y",
-         "autorange": true,
-         "domain": [
-          0,
-          1
-         ],
-         "range": [
-          0,
-          19
-         ],
-         "title": {
-          "text": "Input Size (Bytes)"
-         },
-         "type": "category"
-        },
-        "yaxis": {
-         "anchor": "x",
-         "autorange": true,
-         "domain": [
-          0,
-          1
-         ],
-         "range": [
-          0.14684210585409097,
-          27.301207871621717
-         ],
-         "title": {
-          "text": "temp / input size"
-         },
-         "type": "linear"
-        }
-       }
-      },
-      "image/png": "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",
-      "text/html": [
-       "<div>                            <div id=\"3da6ac28-24bd-4e0a-8405-097b741aeeb2\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>            <script type=\"text/javascript\">                require([\"plotly\"], function(Plotly) {                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"3da6ac28-24bd-4e0a-8405-097b741aeeb2\")) {                    Plotly.newPlot(                        \"3da6ac28-24bd-4e0a-8405-097b741aeeb2\",                        [{\"hovertemplate\":\"variable=Cascaded Temp Buffer Size Ratio<br>Input Size (Bytes)=%{x}<br>temp / input size=%{y}<extra></extra>\",\"legendgroup\":\"Cascaded Temp Buffer Size Ratio\",\"line\":{\"color\":\"#636efa\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Cascaded Temp Buffer Size Ratio\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[3.005209413973763,3.005210430394789,3.005212717466233,3.005216783150337,3.005224914518545,3.0052432117565857,3.0083631332665894,3.016726275037804,3.0334525840941584,3.062772534982102,3.063032866905304,3.0635860722421087,3.0646924829157176,2.566905304262935,2.571335589690185,2.5801874511845875,2.6084635416666666,2.716927083333333,2.933854166666667,3.3677083333333333],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"variable=Lz4 Temp Buffer Size Ratio<br>Input Size (Bytes)=%{x}<br>temp / input size=%{y}<extra></extra>\",\"legendgroup\":\"Lz4 Temp Buffer Size Ratio\",\"line\":{\"color\":\"#EF553B\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Lz4 Temp Buffer Size Ratio\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[2013929216,1006964608,503482304,251741152,125870576,62935280,31467632,15733808,7866896,3933440,1966720,983360,491680,245840,122912,61456,30720,15360,7680,3840],\"xaxis\":\"x\",\"y\":[1.5045603941424721,1.5046098611243346,1.504610622819427,1.5048084907468764,1.5048125544448132,1.5056042175390338,1.5071875443312672,1.5103542003309052,1.5166875219908844,1.529354203953791,1.5546813984705499,1.6053357875040677,1.606376098275301,1.6084567198177677,1.6127229237177818,1.6210459515751106,3.242936197916667,6.485872395833334,12.971744791666667,25.943489583333335],\"yaxis\":\"y\",\"type\":\"scatter\"}],                        {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Input Size (Bytes)\"},\"type\":\"category\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"temp / input size\"}},\"legend\":{\"title\":{\"text\":\"variable\"},\"tracegroupgap\":0},\"title\":{\"text\":\"Temp Buffer - Ascending\"}},                        {\"responsive\": true}                    ).then(function(){\n",
-       "                            \n",
-       "var gd = document.getElementById('3da6ac28-24bd-4e0a-8405-097b741aeeb2');\n",
-       "var x = new MutationObserver(function (mutations, observer) {{\n",
-       "        var display = window.getComputedStyle(gd).display;\n",
-       "        if (!display || display === 'none') {{\n",
-       "            console.log([gd, 'removed!']);\n",
-       "            Plotly.purge(gd);\n",
-       "            observer.disconnect();\n",
-       "        }}\n",
-       "}});\n",
-       "\n",
-       "// Listen for the removal of the full notebook cells\n",
-       "var notebookContainer = gd.closest('#notebook-container');\n",
-       "if (notebookContainer) {{\n",
-       "    x.observe(notebookContainer, {childList: true});\n",
-       "}}\n",
-       "\n",
-       "// Listen for the clearing of the current output cell\n",
-       "var outputEl = gd.closest('.output');\n",
-       "if (outputEl) {{\n",
-       "    x.observe(outputEl, {childList: true});\n",
-       "}}\n",
-       "\n",
-       "                        })                };                });            </script>        </div>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "import plotly.express as px\n",
-    "title = 'Temp Buffer - ' + TARGET\n",
-    "fig = px.line(df, x='Input Size (Bytes)',\n",
-    "              y=[\n",
-    "                  'Cascaded Temp Buffer Size Ratio',\n",
-    "                  'Lz4 Temp Buffer Size Ratio'\n",
-    "              ],\n",
-    "              labels={'value': 'temp / input size'},\n",
-    "              title=title)\n",
-    "fig.update_xaxes(type='category')\n",
-    "fig.show()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "c98862f5-032c-4fe3-b035-39efffdab22b",
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "4e2a27f5-1ab1-44f5-9634-0cfe0148bfc4",
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea9d5f9c-4ff3-46e1-9290-f63f1ce0f27f",
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "02c155f7-80bd-40f6-b06f-b6054ada404d",
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
@@ -4011,7 +2824,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.12"
+   "version": "3.10.12"
   }
  },
  "nbformat": 4,
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 4813801439..e09bb56aa7 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -14,7 +14,7 @@
 
 cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR)
 
-set(kvikio_version 23.10.00)
+set(kvikio_version 23.12.00)
 
 include(../cpp/cmake/fetch_rapids.cmake)
 include(rapids-cpm)
diff --git a/python/examples/zarr_cupy_nvcomp.py b/python/examples/zarr_cupy_nvcomp.py
index 766139b442..9f05f7874a 100644
--- a/python/examples/zarr_cupy_nvcomp.py
+++ b/python/examples/zarr_cupy_nvcomp.py
@@ -30,6 +30,10 @@ def main(path):
     # E.g., `open_cupy_array()` uses nvCOMP's Snappy GPU compression by default,
     # which, as far as we know, isn’t compatible with any CPU compressor. Thus,
     # let's re-write our Zarr array using a CPU and GPU compatible compressor.
+    #
+    # Warning: it isn't possible to use `CompatCompressor` as a compressor argument
+    #          in Zarr directly. It is only meant for `open_cupy_array()`. However,
+    #          in an example further down, we show how to write using regular Zarr.
     z = kvikio.zarr.open_cupy_array(
         store=path,
         mode="w",
@@ -53,6 +57,32 @@ def main(path):
     assert isinstance(z[:], cupy.ndarray)
     assert (cupy.arange(20, 40) == z[:]).all()
 
+    # Similarly, we can also open a file written by regular Zarr.
+    # Let's write the file without any compressor.
+    ary = numpy.arange(10)
+    z = zarr.open(store=path, mode="w", shape=ary.shape, compressor=None)
+    z[:] = ary
+    # This works as before where the file is read as a CuPy array
+    z = kvikio.zarr.open_cupy_array(store=path)
+    assert isinstance(z[:], cupy.ndarray)
+    assert (z[:] == cupy.asarray(ary)).all()
+
+    # Using a compressor is a bit more tricky since not all CPU compressors
+    # are GPU compatible. To make sure we use a compable compressor, we use
+    # the CPU-part of `CompatCompressor.lz4()`.
+    ary = numpy.arange(10)
+    z = zarr.open(
+        store=path,
+        mode="w",
+        shape=ary.shape,
+        compressor=kvikio.zarr.CompatCompressor.lz4().cpu,
+    )
+    z[:] = ary
+    # This works as before where the file is read as a CuPy array
+    z = kvikio.zarr.open_cupy_array(store=path)
+    assert isinstance(z[:], cupy.ndarray)
+    assert (z[:] == cupy.asarray(ary)).all()
+
 
 if __name__ == "__main__":
     main("/tmp/zarr-cupy-nvcomp")
diff --git a/python/kvikio/__init__.py b/python/kvikio/__init__.py
index 0599660428..513ae3d785 100644
--- a/python/kvikio/__init__.py
+++ b/python/kvikio/__init__.py
@@ -4,7 +4,7 @@
 from ._lib import libkvikio  # type: ignore
 from .cufile import CuFile  # noqa: F401
 
-__version__ = "23.10.00"
+__version__ = "23.12.00"
 
 
 def memory_register(buf) -> None:
diff --git a/python/kvikio/_lib/libnvcomp.pyx b/python/kvikio/_lib/libnvcomp.pyx
index 19237d24ca..760a6b1254 100644
--- a/python/kvikio/_lib/libnvcomp.pyx
+++ b/python/kvikio/_lib/libnvcomp.pyx
@@ -39,8 +39,15 @@ from kvikio._lib.nvcomp_cxx_api cimport (
     SnappyManager,
     create_manager,
     cudaStream_t,
+    nvcompBatchedANSDefaultOpts,
+    nvcompBatchedANSOpts_t,
+    nvcompBatchedBitcompFormatOpts,
     nvcompBatchedCascadedDefaultOpts,
     nvcompBatchedCascadedOpts_t,
+    nvcompBatchedGdeflateOpts_t,
+    nvcompBatchedLZ4Opts_t,
+    nvcompBatchedSnappyDefaultOpts,
+    nvcompBatchedSnappyOpts_t,
     nvcompManagerBase,
     nvcompType_t,
 )
@@ -134,14 +141,6 @@ cdef class _nvcompManager:
             <DecompressionConfig&>self._decompression_config.get()[0]
         )
 
-    def set_scratch_buffer(self, Array new_scratch_buffer):
-        return self._impl.set_scratch_buffer(
-            <uint8_t*>new_scratch_buffer.ptr
-        )
-
-    def get_required_scratch_buffer_size(self):
-        return self._impl.get_required_scratch_buffer_size()
-
     def get_compressed_output_size(self, Array comp_buffer):
         return self._impl.get_compressed_output_size(
             <uint8_t*>comp_buffer.ptr
@@ -157,6 +156,7 @@ cdef class _ANSManager(_nvcompManager):
     ):
         self._impl = <nvcompManagerBase*>new ANSManager(
             uncomp_chunk_size,
+            <nvcompBatchedANSOpts_t>nvcompBatchedANSDefaultOpts,  # TODO
             <cudaStream_t><void*>0,  # TODO
             device_id
         )
@@ -165,14 +165,16 @@ cdef class _ANSManager(_nvcompManager):
 cdef class _BitcompManager(_nvcompManager):
     def __cinit__(
         self,
+        size_t uncomp_chunk_size,
         nvcompType_t data_type,
         int bitcomp_algo,
         user_stream,
         const int device_id
     ):
+        cdef opts = nvcompBatchedBitcompFormatOpts(bitcomp_algo, data_type)
         self._impl = <nvcompManagerBase*>new BitcompManager(
-            <nvcompType_t>data_type,
-            bitcomp_algo,
+            uncomp_chunk_size,
+            opts,
             <cudaStream_t><void*>0,  # TODO
             device_id
         )
@@ -186,6 +188,7 @@ cdef class _CascadedManager(_nvcompManager):
         const int device_id,
     ):
         self._impl = <nvcompManagerBase*>new CascadedManager(
+            _options["chunk_size"],
             <nvcompBatchedCascadedOpts_t>nvcompBatchedCascadedDefaultOpts,  # TODO
             <cudaStream_t><void*>0,  # TODO
             device_id,
@@ -200,9 +203,10 @@ cdef class _GdeflateManager(_nvcompManager):
         user_stream,
         const int device_id
     ):
+        cdef opts = nvcompBatchedGdeflateOpts_t(algo)
         self._impl = <nvcompManagerBase*>new GdeflateManager(
             chunk_size,
-            algo,
+            opts,
             <cudaStream_t><void*>0,  # TODO
             device_id
         )
@@ -220,9 +224,10 @@ cdef class _LZ4Manager(_nvcompManager):
         # from anywhere up. I'm not going to rabbit hole on it until
         # everything else works.
         # cdef cudaStream_t stream = <cudaStream_t><void*>user_stream
+        cdef opts = nvcompBatchedLZ4Opts_t(data_type)
         self._impl = <nvcompManagerBase*>new LZ4Manager(
             uncomp_chunk_size,
-            data_type,
+            opts,
             <cudaStream_t><void*>0,  # TODO
             device_id
         )
@@ -240,6 +245,7 @@ cdef class _SnappyManager(_nvcompManager):
         # everything else works.
         self._impl = <nvcompManagerBase*>new SnappyManager(
             uncomp_chunk_size,
+            <nvcompBatchedSnappyOpts_t>nvcompBatchedSnappyDefaultOpts,
             <cudaStream_t><void*>0,  # TODO
             device_id
         )
diff --git a/python/kvikio/_lib/libnvcomp_ll.pyx b/python/kvikio/_lib/libnvcomp_ll.pyx
index da6cc82bc0..e06de275fa 100644
--- a/python/kvikio/_lib/libnvcomp_ll.pyx
+++ b/python/kvikio/_lib/libnvcomp_ll.pyx
@@ -6,17 +6,11 @@ from __future__ import annotations
 from abc import ABC, abstractmethod
 from enum import IntEnum
 
-from libc.stdint cimport uint32_t, uint64_t, uintptr_t
+from libc.stdint cimport uint32_t, uintptr_t
 
-from kvikio._lib.nvcomp_ll_cxx_api cimport (
-    cudaMemcpyKind,
-    cudaStream_t,
-    nvcompStatus_t,
-    nvcompType_t,
-)
+from kvikio._lib.nvcomp_ll_cxx_api cimport cudaStream_t, nvcompStatus_t, nvcompType_t
 
 import cupy
-from cupy.cuda.runtime import memcpyAsync
 
 
 class nvCompStatus(IntEnum):
@@ -143,34 +137,27 @@ class nvCompBatchAlgorithm(ABC):
             The number of chunks to compress.
         temp_buf: cp.ndarray
             The temporary GPU workspace.
-        comp_chunks: np.ndarray[uintp]
+        comp_chunks: cp.ndarray[uintp]
             (output) The list of pointers on the GPU, to the output location for each
             compressed batch item.
-        comp_chunk_sizes: np.ndarray[uint64]
+        comp_chunk_sizes: cp.ndarray[uint64]
             (output) The compressed size in bytes of each chunk.
         stream: cp.cuda.Stream
             CUDA stream.
         """
 
-        # nvCOMP requires comp_chunks pointers container and
-        # comp_chunk_sizes to be in GPU memory.
-        comp_chunks_d = cupy.array(comp_chunks, dtype=cupy.uintp)
-        comp_chunk_sizes_d = cupy.empty_like(comp_chunk_sizes)
-
         err = self._compress(
             uncomp_chunks,
             uncomp_chunk_sizes,
             max_uncomp_chunk_bytes,
             batch_size,
             temp_buf,
-            comp_chunks_d,
-            comp_chunk_sizes_d,
+            comp_chunks,
+            comp_chunk_sizes,
             stream,
         )
         if err != nvcompStatus_t.nvcompSuccess:
             raise RuntimeError(f"Compression failed, error: {nvCompStatus(err)!r}.")
-        # Copy resulting compressed chunk sizes back to the host buffer.
-        comp_chunk_sizes[:] = comp_chunk_sizes_d.get()
 
     @abstractmethod
     def _compress(
@@ -238,9 +225,9 @@ class nvCompBatchAlgorithm(ABC):
 
         Parameters
         ----------
-        comp_chunks: np.ndarray[uintp]
+        comp_chunks: cp.ndarray[uintp]
             The pointers on the GPU, to compressed batched items.
-        comp_chunk_sizes: np.ndarray[uint64]
+        comp_chunk_sizes: cp.ndarray[uint64]
             The size in bytes of each compressed batch item.
         stream: cp.cuda.Stream
             CUDA stream.
@@ -256,15 +243,13 @@ class nvCompBatchAlgorithm(ABC):
         batch_size = len(comp_chunks)
 
         # nvCOMP requires all buffers to be in GPU memory.
-        comp_chunks_d = cupy.array(comp_chunks, dtype=cupy.uintp)
-        comp_chunk_sizes_d = cupy.array(comp_chunk_sizes, dtype=cupy.uint64)
-        uncomp_chunk_sizes_d = cupy.empty_like(comp_chunk_sizes_d)
+        uncomp_chunk_sizes = cupy.empty_like(comp_chunk_sizes)
 
         err = self._get_decomp_size(
-            comp_chunks_d,
-            comp_chunk_sizes_d,
+            comp_chunks,
+            comp_chunk_sizes,
             batch_size,
-            uncomp_chunk_sizes_d,
+            uncomp_chunk_sizes,
             stream,
         )
         if err != nvcompStatus_t.nvcompSuccess:
@@ -272,7 +257,7 @@ class nvCompBatchAlgorithm(ABC):
                 f"Could not get decompress buffer size, error: {nvCompStatus(err)!r}."
             )
 
-        return uncomp_chunk_sizes_d
+        return uncomp_chunk_sizes
 
     @abstractmethod
     def _get_decomp_size(
@@ -302,9 +287,9 @@ class nvCompBatchAlgorithm(ABC):
 
         Parameters
         ----------
-        comp_chunks: np.ndarray[uintp]
+        comp_chunks: cp.ndarray[uintp]
             The pointers on the GPU, to compressed batched items.
-        comp_chunk_sizes: np.ndarray[uint64]
+        comp_chunk_sizes: cp.ndarray[uint64]
             The size in bytes of each compressed batch item.
         batch_size: int
             The number of chunks to decompress.
@@ -323,14 +308,9 @@ class nvCompBatchAlgorithm(ABC):
             CUDA stream.
         """
 
-        # nvCOMP requires comp_chunks pointers container and
-        # comp_chunk_sizes to be in GPU memory.
-        comp_chunks_d = cupy.array(comp_chunks, dtype=cupy.uintp)
-        comp_chunk_sizes_d = cupy.array(comp_chunk_sizes, dtype=cupy.uint64)
-
         err = self._decompress(
-            comp_chunks_d,
-            comp_chunk_sizes_d,
+            comp_chunks,
+            comp_chunk_sizes,
             batch_size,
             temp_buf,
             uncomp_chunks,
@@ -407,6 +387,31 @@ class nvCompBatchAlgorithmLZ4(nvCompBatchAlgorithm):
         self.options = nvcompBatchedLZ4Opts_t(data_type)
         self.has_header = has_header
 
+        # Note on LZ4 header structure: numcodecs LZ4 codec prepends
+        # a 4-byte (uint32_t) header to each compressed chunk.
+        # The header stores the size of the original (uncompressed) data:
+        # https://github.com/zarr-developers/numcodecs/blob/cb155432e36536e17a2d054c8c24b7bf6f4a7347/numcodecs/lz4.pyx#L89
+        #
+        # The following CUDA kernels read / write chunk header by
+        # casting the chunk pointer to a pointer to unsigned int.
+
+        # CUDA kernel that copies uncompressed chunk size from the chunk header.
+        self._get_size_from_header_kernel = cupy.ElementwiseKernel(
+            "uint64 comp_chunk_ptr",
+            "uint64 uncomp_chunk_size",
+            "uncomp_chunk_size = *((unsigned int *)comp_chunk_ptr)",
+            "get_size_from_header",
+        )
+
+        # CUDA kernel that copies uncompressed chunk size to the chunk header.
+        self._set_chunk_size_header_kernel = cupy.ElementwiseKernel(
+            "uint64 uncomp_chunk_size",
+            "uint64 comp_chunk_ptr",
+            "((unsigned int *)comp_chunk_ptr)[0] = (unsigned int)uncomp_chunk_size",
+            "set_chunk_size_header",
+            no_return=True,
+        )
+
     def _get_comp_temp_size(
         self,
         size_t batch_size,
@@ -455,20 +460,9 @@ class nvCompBatchAlgorithmLZ4(nvCompBatchAlgorithm):
             # 2. Update target pointers in comp_chunks to skip the header portion,
             # which is not compressed.
             #
-            # Get the base pointers to sizes.
-            psize = to_ptr(uncomp_chunk_sizes)
-            for i in range(batch_size):
-                # Copy the original data size to the header.
-                memcpyAsync(
-                    <uintptr_t>comp_chunks[i],
-                    psize,
-                    self.HEADER_SIZE_BYTES,
-                    cudaMemcpyKind.cudaMemcpyDeviceToDevice,
-                    stream.ptr
-                )
-                psize += sizeof(uint64_t)
-                # Update chunk pointer to skip the header.
-                comp_chunks[i] += self.HEADER_SIZE_BYTES
+            self._set_chunk_size_header_kernel(uncomp_chunk_sizes, comp_chunks)
+            # Update chunk pointer to skip the header.
+            comp_chunks += self.HEADER_SIZE_BYTES
 
         super().compress(
             uncomp_chunks,
@@ -482,10 +476,9 @@ class nvCompBatchAlgorithmLZ4(nvCompBatchAlgorithm):
         )
 
         if self.has_header:
-            for i in range(batch_size):
-                # Update chunk pointer and size to include the header.
-                comp_chunks[i] -= self.HEADER_SIZE_BYTES
-                comp_chunk_sizes[i] += self.HEADER_SIZE_BYTES
+            # Update chunk pointer and size to include the header.
+            comp_chunks -= self.HEADER_SIZE_BYTES
+            comp_chunk_sizes += self.HEADER_SIZE_BYTES
 
     def _compress(
         self,
@@ -541,26 +534,7 @@ class nvCompBatchAlgorithmLZ4(nvCompBatchAlgorithm):
                 stream,
             )
 
-        assert comp_chunks.shape == comp_chunk_sizes.shape
-        batch_size = len(comp_chunks)
-
-        # uncomp_chunk_sizes is uint32 array to match the type in LZ4 header.
-        uncomp_chunk_sizes = cupy.empty(batch_size, dtype=cupy.uint32)
-
-        psize = to_ptr(uncomp_chunk_sizes)
-        for i in range(batch_size):
-            # Get pointer to the header and copy the data.
-            memcpyAsync(
-                psize,
-                <uintptr_t>comp_chunks[i],
-                sizeof(uint32_t),
-                cudaMemcpyKind.cudaMemcpyDeviceToDevice,
-                stream.ptr
-            )
-            psize += sizeof(uint32_t)
-        stream.synchronize()
-
-        return uncomp_chunk_sizes.astype(cupy.uint64)
+        return self._get_size_from_header_kernel(comp_chunks)
 
     def _get_decomp_size(
         self,
@@ -591,10 +565,9 @@ class nvCompBatchAlgorithmLZ4(nvCompBatchAlgorithm):
         stream,
     ):
         if self.has_header:
-            for i in range(batch_size):
-                # Update chunk pointer and size to exclude the header.
-                comp_chunks[i] += self.HEADER_SIZE_BYTES
-                comp_chunk_sizes[i] -= self.HEADER_SIZE_BYTES
+            # Update chunk pointer and size to exclude the header.
+            comp_chunks += self.HEADER_SIZE_BYTES
+            comp_chunk_sizes -= self.HEADER_SIZE_BYTES
 
         super().decompress(
             comp_chunks,
@@ -608,12 +581,6 @@ class nvCompBatchAlgorithmLZ4(nvCompBatchAlgorithm):
             stream,
         )
 
-        if self.has_header:
-            for i in range(batch_size):
-                # Update chunk pointer and size to include the header.
-                comp_chunks[i] -= self.HEADER_SIZE_BYTES
-                comp_chunk_sizes[i] += self.HEADER_SIZE_BYTES
-
     def _decompress(
         self,
         comp_chunks,
diff --git a/python/kvikio/_lib/nvcomp_cxx_api.pxd b/python/kvikio/_lib/nvcomp_cxx_api.pxd
index e5b464d5c2..b6e90ed41a 100644
--- a/python/kvikio/_lib/nvcomp_cxx_api.pxd
+++ b/python/kvikio/_lib/nvcomp_cxx_api.pxd
@@ -106,8 +106,6 @@ cdef extern from "nvcomp/nvcompManager.hpp" namespace 'nvcomp':
             uint8_t* decomp_buffer,
             const uint8_t* comp_buffer,
             const DecompressionConfig& decomp_config)
-        void set_scratch_buffer(uint8_t* new_scratch_buffer) except +
-        size_t get_required_scratch_buffer_size() except +
         size_t get_compressed_output_size(uint8_t* comp_buffer) except +
 
     cdef cppclass PimplManager "nvcomp::PimplManager":
@@ -125,25 +123,38 @@ cdef extern from "nvcomp/nvcompManager.hpp" namespace 'nvcomp':
             uint8_t* decomp_buffer,
             const uint8_t* comp_buffer,
             const DecompressionConfig& decomp_config) except +
-        void set_scratch_buffer(uint8_t* new_scratch_buffer) except +
-        size_t get_required_scratch_buffer_size() except +
         size_t get_compressed_output_size(uint8_t* comp_buffer) except +
 
 # C++ Concrete ANS Manager
+cdef extern from "nvcomp/ans.h" nogil:
+    ctypedef enum nvcompANSType_t:
+        nvcomp_rANS = 0
+
+    ctypedef struct nvcompBatchedANSOpts_t:
+        nvcompANSType_t type
+    cdef nvcompBatchedANSOpts_t nvcompBatchedANSDefaultOpts
+
 cdef extern from "nvcomp/ans.hpp":
     cdef cppclass ANSManager "nvcomp::ANSManager":
         ANSManager(
             size_t uncomp_chunk_size,
+            const nvcompBatchedANSOpts_t& format_opts,
             cudaStream_t user_stream,
             const int device_id
         ) except +
 
 # C++ Concrete Bitcomp Manager
+cdef extern from "nvcomp/bitcomp.h" nogil:
+    ctypedef struct nvcompBatchedBitcompFormatOpts:
+        int algorithm_type
+        nvcompType_t data_type
+    cdef nvcompBatchedBitcompFormatOpts nvcompBatchedBitcompDefaultOpts
+
 cdef extern from "nvcomp/bitcomp.hpp":
     cdef cppclass BitcompManager "nvcomp::BitcompManager":
         BitcompManager(
-            nvcompType_t data_type,
-            int bitcomp_algo,
+            size_t uncomp_chunk_size,
+            const nvcompBatchedBitcompFormatOpts& format_opts,
             cudaStream_t user_stream,
             const int device_id
         ) except +
@@ -151,6 +162,8 @@ cdef extern from "nvcomp/bitcomp.hpp":
 # C++ Concrete Cascaded Manager
 cdef extern from "nvcomp/cascaded.h" nogil:
     ctypedef struct nvcompBatchedCascadedOpts_t:
+        size_t chunk_size
+        nvcompType_t type
         int num_RLEs
         int num_deltas
         int use_bp
@@ -159,36 +172,53 @@ cdef extern from "nvcomp/cascaded.h" nogil:
 cdef extern from "nvcomp/cascaded.hpp" nogil:
     cdef cppclass CascadedManager "nvcomp::CascadedManager":
         CascadedManager(
+            size_t uncomp_chunk_size,
             const nvcompBatchedCascadedOpts_t& options,
             cudaStream_t user_stream,
             int device_id
         )
 
 # C++ Concrete Gdeflate Manager
+cdef extern from "nvcomp/gdeflate.h" nogil:
+    ctypedef struct nvcompBatchedGdeflateOpts_t:
+        int algo
+    cdef nvcompBatchedGdeflateOpts_t nvcompBatchedGdeflateDefaultOpts
+
 cdef extern from "nvcomp/gdeflate.hpp":
     cdef cppclass GdeflateManager "nvcomp::GdeflateManager":
         GdeflateManager(
             int uncomp_chunk_size,
-            int algo,
+            const nvcompBatchedGdeflateOpts_t& format_opts,
             cudaStream_t user_stream,
             const int device_id
         ) except +
 
 # C++ Concrete LZ4 Manager
+cdef extern from "nvcomp/gdeflate.h" nogil:
+    ctypedef struct nvcompBatchedLZ4Opts_t:
+        nvcompType_t data_type
+    cdef nvcompBatchedLZ4Opts_t nvcompBatchedLZ4DefaultOpts
+
 cdef extern from "nvcomp/lz4.hpp":
     cdef cppclass LZ4Manager "nvcomp::LZ4Manager":
         LZ4Manager(
             size_t uncomp_chunk_size,
-            nvcompType_t data_type,
+            const nvcompBatchedLZ4Opts_t& format_opts,
             cudaStream_t user_stream,
             const int device_id
         ) except +
 
 # C++ Concrete Snappy Manager
+cdef extern from "nvcomp/snappy.h" nogil:
+    ctypedef struct nvcompBatchedSnappyOpts_t:
+        int reserved
+    cdef nvcompBatchedSnappyOpts_t nvcompBatchedSnappyDefaultOpts
+
 cdef extern from "nvcomp/snappy.hpp":
     cdef cppclass SnappyManager "nvcomp::SnappyManager":
         SnappyManager(
             size_t uncomp_chunk_size,
+            const nvcompBatchedSnappyOpts_t& format_opts,
             cudaStream_t user_stream,
             const int device_id
         ) except +
diff --git a/python/kvikio/defaults.py b/python/kvikio/defaults.py
index 141ab2ba89..c300272ef4 100644
--- a/python/kvikio/defaults.py
+++ b/python/kvikio/defaults.py
@@ -88,7 +88,9 @@ def num_threads_reset(nthreads: int) -> None:
     Parameters
     ----------
     nthreads : int
-        The number of threads to use.
+        The number of threads to use. The default value can be specified by setting
+        the `KVIKIO_NTHREADS` environment variable. If not set, the default value
+        is 1.
     """
     libkvikio.thread_pool_nthreads_reset(nthreads)
 
diff --git a/python/kvikio/numcodecs.py b/python/kvikio/numcodecs.py
new file mode 100644
index 0000000000..40f62be1de
--- /dev/null
+++ b/python/kvikio/numcodecs.py
@@ -0,0 +1,64 @@
+# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
+# See file LICENSE for terms.
+
+"""
+This module implements CUDA compression and transformation codecs for Numcodecs.
+See <https://numcodecs.readthedocs.io/en/stable/>
+"""
+
+from __future__ import annotations
+
+from abc import abstractmethod
+from typing import Any, Optional, Union
+
+import cupy.typing
+import numpy.typing
+from numcodecs.abc import Codec
+
+# TODO: replace `ANY` with `collections.abc.Buffer` from PEP-688
+# when it becomes available.
+BufferLike = Union[cupy.typing.NDArray, numpy.typing.ArrayLike, Any]
+
+
+class CudaCodec(Codec):
+    """Abstract base class for CUDA codecs"""
+
+    @abstractmethod
+    def encode(self, buf: BufferLike) -> cupy.typing.NDArray:
+        """Encode `buf` using CUDA.
+
+        This method should support both device and host buffers.
+
+        Parameters
+        ----------
+        buf
+            A numpy array like object such as numpy.ndarray, cupy.ndarray,
+            or any object exporting a buffer interface.
+
+        Returns
+        -------
+        The compressed buffer wrapped in a CuPy array
+        """
+
+    @abstractmethod
+    def decode(self, buf: BufferLike, out: Optional[BufferLike] = None) -> BufferLike:
+        """Decode `buf` using CUDA.
+
+        This method should support both device and host buffers.
+
+        Parameters
+        ----------
+        buf
+            A numpy array like object such as numpy.ndarray, cupy.ndarray,
+            or any object exporting a buffer interface.
+        out
+            A numpy array like object such as numpy.ndarray, cupy.ndarray,
+            or any object exporting a buffer interface. If provided, this buffer must
+            be exactly the right size to store the decoded data.
+
+        Returns
+        -------
+            Decoded data, which is either host or device memory based on the type
+            of `out`. If `out` is None, the type of `buf` determines the return buffer
+            type.
+        """
diff --git a/python/kvikio/nvcomp.py b/python/kvikio/nvcomp.py
index 38a326d410..482d7fbeb7 100644
--- a/python/kvikio/nvcomp.py
+++ b/python/kvikio/nvcomp.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved.
+# Copyright (c) 2021-2023, NVIDIA CORPORATION. All rights reserved.
 # See file LICENSE for terms.
 
 from enum import Enum
@@ -192,35 +192,6 @@ def configure_decompression_with_compressed_buffer(
             asarray(data)
         )
 
-    def get_required_scratch_buffer_size(self) -> int:
-        """Return the size of the optional scratch buffer.
-
-        Returns
-        -------
-        int
-        """
-        return self._manager.get_required_scratch_buffer_size()
-
-    def set_scratch_buffer(self, new_scratch_buffer: cp.ndarray) -> None:
-        """Use a pre-allocated buffer for compression.
-
-        Use a GPU-allocated buffer that will be used for compression
-        temporary storage instead of allowing the library to create the
-        scratch buffer.
-        Can reduce memory usage.
-
-        Parameters
-        ----------
-        new_scratch_buffer : cp.ndarray
-            The buffer that you allocated on the GPU for compressor temporary
-            storage.
-
-        Returns
-        -------
-        cp.ndarray
-        """
-        return self._manager.set_scratch_buffer(asarray(new_scratch_buffer))
-
     def get_compressed_output_size(self, comp_buffer: cp.ndarray) -> int:
         """Return the actual size of compression result.
 
@@ -277,7 +248,11 @@ def __init__(self, **kwargs):
         super().__init__(kwargs)
 
         self._manager = _lib._BitcompManager(
-            self.data_type.value, self.bitcomp_algo, self.stream, self.device_id
+            self.chunk_size,
+            self.data_type.value,
+            self.bitcomp_algo,
+            self.stream,
+            self.device_id,
         )
 
 
diff --git a/python/kvikio/nvcomp_codec.py b/python/kvikio/nvcomp_codec.py
index af36494bad..dc60d9c7dc 100644
--- a/python/kvikio/nvcomp_codec.py
+++ b/python/kvikio/nvcomp_codec.py
@@ -1,17 +1,17 @@
 # Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
 # See file LICENSE for terms.
 
-from typing import Any, List, Mapping, Optional
+from typing import Any, Mapping, Optional, Sequence
 
 import cupy as cp
-import numpy as np
-from numcodecs.abc import Codec
+import cupy.typing
 from numcodecs.compat import ensure_contiguous_ndarray_like
 
 from kvikio._lib.libnvcomp_ll import SUPPORTED_ALGORITHMS
+from kvikio.numcodecs import BufferLike, CudaCodec
 
 
-class NvCompBatchCodec(Codec):
+class NvCompBatchCodec(CudaCodec):
     """Codec that uses batch algorithms from nvCOMP library.
 
     An algorithm is selected using `algorithm` parameter.
@@ -49,35 +49,20 @@ def __init__(
         # Use default stream, if needed.
         self._stream = stream if stream is not None else cp.cuda.Stream.ptds
 
-    def encode(self, buf):
-        """Encode data in `buf` using nvCOMP.
-
-        Parameters
-        ----------
-        buf : buffer-like
-            Data to be encoded. May be any object supporting the new-style
-            buffer protocol.
-
-        Returns
-        -------
-        enc : buffer-like
-            Encoded data. May be any object supporting the new-style buffer
-            protocol.
-        """
+    def encode(self, buf: BufferLike) -> cupy.typing.NDArray:
         return self.encode_batch([buf])[0]
 
-    def encode_batch(self, bufs: List[Any]) -> List[Any]:
+    def encode_batch(self, bufs: Sequence[Any]) -> Sequence[Any]:
         """Encode data in `bufs` using nvCOMP.
 
         Parameters
         ----------
-        bufs : List[buffer-like].
+        bufs :
             Data to be encoded. Each buffer in the list may be any object
             supporting the new-style buffer protocol.
 
         Returns
         -------
-        enc : List[buffer-like]
             List of encoded buffers. Each buffer may be any object supporting
             the new-style buffer protocol.
         """
@@ -104,9 +89,9 @@ def encode_batch(self, bufs: List[Any]) -> List[Any]:
 
         comp_chunks = cp.empty((num_chunks, comp_chunk_size), dtype=cp.uint8)
         # Array of pointers to each compressed chunk.
-        comp_chunk_ptrs = np.array([c.data.ptr for c in comp_chunks], dtype=cp.uintp)
+        comp_chunk_ptrs = cp.array([c.data.ptr for c in comp_chunks], dtype=cp.uintp)
         # Resulting compressed chunk sizes.
-        comp_chunk_sizes = np.empty(num_chunks, dtype=np.uint64)
+        comp_chunk_sizes = cp.empty(num_chunks, dtype=cp.uint64)
 
         self._algo.compress(
             uncomp_chunks,
@@ -120,48 +105,35 @@ def encode_batch(self, bufs: List[Any]) -> List[Any]:
         )
 
         res = []
+        # Copy to host to subsequently avoid many smaller D2H copies.
+        comp_chunks = cp.asnumpy(comp_chunks, self._stream)
+        comp_chunk_sizes = cp.asnumpy(comp_chunk_sizes, self._stream)
+        self._stream.synchronize()
+
         for i in range(num_chunks):
             res.append(comp_chunks[i, : comp_chunk_sizes[i]].tobytes())
         return res
 
-    def decode(self, buf, out=None):
-        """Decode data in `buf` using nvCOMP.
-
-        Parameters
-        ----------
-        buf : buffer-like
-            Encoded data. May be any object supporting the new-style buffer
-            protocol.
-        out : buffer-like, optional
-            Writeable buffer to store decoded data. N.B. if provided, this buffer must
-            be exactly the right size to store the decoded data.
-
-        Returns
-        -------
-        dec : buffer-like
-            Decoded data. May be any object supporting the new-style
-            buffer protocol.
-        """
+    def decode(self, buf: BufferLike, out: Optional[BufferLike] = None) -> BufferLike:
         return self.decode_batch([buf], [out])[0]
 
     def decode_batch(
-        self, bufs: List[Any], out: Optional[List[Any]] = None
-    ) -> List[Any]:
+        self, bufs: Sequence[Any], out: Optional[Sequence[Any]] = None
+    ) -> Sequence[Any]:
         """Decode data in `bufs` using nvCOMP.
 
         Parameters
         ----------
-        bufs : List[buffer-like]
+        bufs :
             Encoded data. Each buffer in the list may be any object
             supporting the new-style buffer protocol.
-        out : List[buffer-like], optional
+        out :
             List of writeable buffers to store decoded data.
             N.B. if provided, each buffer must be exactly the right size
             to store the decoded data.
 
         Returns
         -------
-        dec : List[buffer-like]
             List of decoded buffers. Each buffer may be any object supporting
             the new-style buffer protocol.
         """
@@ -176,8 +148,8 @@ def decode_batch(
             bufs = [cp.asarray(ensure_contiguous_ndarray_like(b)) for b in bufs]
 
         # Prepare compressed chunks buffers.
-        comp_chunks = np.array([b.data.ptr for b in bufs], dtype=np.uintp)
-        comp_chunk_sizes = np.array([b.size for b in bufs], dtype=np.uint64)
+        comp_chunks = cp.array([b.data.ptr for b in bufs], dtype=cp.uintp)
+        comp_chunk_sizes = cp.array([b.size for b in bufs], dtype=cp.uint64)
 
         # Get uncompressed chunk sizes.
         uncomp_chunk_sizes = self._algo.get_decompress_size(
@@ -185,10 +157,12 @@ def decode_batch(
             comp_chunk_sizes,
             self._stream,
         )
-        # Copy to host since we'll need it to properly allocate buffers.
-        uncomp_chunk_sizes_h = uncomp_chunk_sizes.get()
 
-        max_chunk_size = uncomp_chunk_sizes_h.max()
+        # Check whether the uncompressed chunks are all the same size.
+        # cupy.unique returns sorted sizes.
+        sorted_chunk_sizes = cp.unique(uncomp_chunk_sizes)
+        max_chunk_size = sorted_chunk_sizes[-1].item()
+        is_equal_chunks = sorted_chunk_sizes.shape[0] == 1
 
         # Get temp buffer size.
         temp_size = self._algo.get_decompress_temp_size(num_chunks, max_chunk_size)
@@ -196,14 +170,14 @@ def decode_batch(
         temp_buf = cp.empty(temp_size, dtype=cp.uint8)
 
         # Prepare uncompressed chunks buffers.
-        # First, allocate chunks of appropriate sizes and then
+        # First, allocate chunks of max_chunk_size and then
         # copy the pointers to a pointer array in GPU memory as required by nvCOMP.
-        # TODO(akamenev): probably can allocate single contiguous buffer.
-        uncomp_chunks = [
-            cp.empty(size, dtype=cp.uint8) for size in uncomp_chunk_sizes_h
-        ]
-        uncomp_chunk_ptrs = cp.array(
-            [c.data.ptr for c in uncomp_chunks], dtype=cp.uintp
+        # For performance reasons, we use max_chunk_size so we can create
+        # a rectangular array with the same pointer increments.
+        uncomp_chunks = cp.empty((num_chunks, max_chunk_size), dtype=cp.uint8)
+        p_start = uncomp_chunks.data.ptr
+        uncomp_chunk_ptrs = cp.uint64(p_start) + (
+            cp.arange(0, num_chunks * max_chunk_size, max_chunk_size, dtype=cp.uint64)
         )
 
         # TODO(akamenev): currently we provide the following 2 buffers to decompress()
@@ -226,20 +200,24 @@ def decode_batch(
             self._stream,
         )
 
+        # If all chunks are the same size, we can just return uncomp_chunks.
+        if is_equal_chunks and out is None:
+            return cp.asnumpy(uncomp_chunks) if is_host_buffer else uncomp_chunks
+
         res = []
+        uncomp_chunk_sizes = uncomp_chunk_sizes.get()
         for i in range(num_chunks):
-            ret = uncomp_chunks[i]
-            if out is not None and out[i] is not None:
+            ret = uncomp_chunks[i, : uncomp_chunk_sizes[i]]
+            if out is None or out[i] is None:
+                res.append(cp.asnumpy(ret) if is_host_buffer else ret)
+            else:
                 o = ensure_contiguous_ndarray_like(out[i])
                 if hasattr(o, "__cuda_array_interface__"):
                     cp.copyto(o, ret.view(dtype=o.dtype), casting="no")
                 else:
-                    np.copyto(o, cp.asnumpy(ret.view(dtype=o.dtype)), casting="no")
+                    cp.asnumpy(ret.view(dtype=o.dtype), out=o, stream=self._stream)
                 res.append(o)
-            elif is_host_buffer:
-                res.append(cp.asnumpy(ret))
-            else:
-                res.append(ret)
+        self._stream.synchronize()
 
         return res
 
diff --git a/python/kvikio/thread_pool.py b/python/kvikio/thread_pool.py
deleted file mode 100644
index 313e344fe1..0000000000
--- a/python/kvikio/thread_pool.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved.
-# See file LICENSE for terms.
-
-
-from ._lib import libkvikio  # type: ignore
-
-
-def num_threads_reset(nthreads: int) -> None:
-    """Reset the number of threads in the default thread pool.
-
-    Waits for all currently running tasks to be completed, then destroys all threads
-    in the pool and creates a new thread pool with the new number of threads. Any
-    tasks that were waiting in the queue before the pool was reset will then be
-    executed by the new threads. If the pool was paused before resetting it, the new
-    pool will be paused as well.
-
-    Parameters
-    ----------
-    nthreads : int
-        The number of threads to use. The default value can be specified by setting
-        the `KVIKIO_NTHREADS` environment variable. If not set, the default value
-        is 1.
-    """
-    libkvikio.thread_pool_num_threads_reset(nthreads)
-
-
-def get_num_threads() -> int:
-    """Get the number of threads of the thread pool.
-
-    Return
-    ------
-    nthreads: int
-        The number of threads in the current thread pool.
-    """
-    return libkvikio.thread_pool_get_num_threads()
diff --git a/python/kvikio/zarr.py b/python/kvikio/zarr.py
index 1c030f96ae..1a8e7f3848 100644
--- a/python/kvikio/zarr.py
+++ b/python/kvikio/zarr.py
@@ -9,12 +9,15 @@
 from typing import Any, Literal, Mapping, Optional, Sequence, Union
 
 import cupy
+import cupy.typing
 import numcodecs
 import numpy
 import numpy as np
 import zarr
 import zarr.creation
+import zarr.errors
 import zarr.storage
+import zarr.util
 from numcodecs.abc import Codec
 from numcodecs.compat import ensure_contiguous_ndarray_like
 from numcodecs.registry import register_codec
@@ -24,6 +27,7 @@
 import kvikio.nvcomp
 import kvikio.nvcomp_codec
 import kvikio.zarr
+from kvikio.numcodecs import BufferLike, CudaCodec
 from kvikio.nvcomp_codec import NvCompBatchCodec
 
 MINIMUM_ZARR_VERSION = "2.15"
@@ -171,7 +175,7 @@ def getitems(
         return ret
 
 
-class NVCompCompressor(Codec):
+class NVCompCompressor(CudaCodec):
     """Abstract base class for nvCOMP compressors
 
     The derived classes must set `codec_id` and implement
@@ -197,41 +201,11 @@ def get_nvcomp_manager(self) -> kvikio.nvcomp.nvCompManager:
         """
         pass  # TODO: cache Manager
 
-    def encode(self, buf) -> cupy.ndarray:
-        """Compress using `get_nvcomp_manager()`
-
-        Parameters
-        ----------
-        buf : buffer-like
-            The buffer to compress. Accepts both host and device memory.
-
-        Returns
-        -------
-        cupy.ndarray
-            The compressed buffer wrapped in a CuPy array
-        """
+    def encode(self, buf: BufferLike) -> cupy.typing.NDArray:
         buf = cupy.asarray(ensure_contiguous_ndarray_like(buf))
         return self.get_nvcomp_manager().compress(buf)
 
-    def decode(self, buf, out=None):
-        """Decompress using `get_nvcomp_manager()`
-
-        Parameters
-        ----------
-        buf : buffer-like
-            The buffer to decompress. Accepts both host and device memory.
-        out : buffer-like, optional
-            Writeable buffer to store decoded data. N.B. if provided, this buffer must
-            be exactly the right size to store the decoded data. Accepts both host and
-            device memory.
-
-        Returns
-        -------
-        buffer-like
-            Decompress data, which is either host or device memory based on the type
-            of `out`. If `out` is None, the type of `buf` determines the return buffer
-            type.
-        """
+    def decode(self, buf: BufferLike, out: Optional[BufferLike] = None) -> BufferLike:
         buf = ensure_contiguous_ndarray_like(buf)
         is_host_buffer = not hasattr(buf, "__cuda_array_interface__")
         if is_host_buffer:
@@ -300,9 +274,24 @@ def get_nvcomp_manager(self):
 
 
 class CompatCompressor:
-    """A pair of compatible compressors one using the CPU and one using the GPU"""
+    """A pair of compatible compressors one using the CPU and one using the GPU
 
-    def __init__(self, cpu: Codec, gpu: Codec) -> None:
+    Warning
+    -------
+    `CompatCompressor` is only supported by KvikIO's `open_cupy_array()` and
+    cannot be used as a compressor argument in Zarr functions like `open()`
+    and `open_array()` directly. However, it is possible to use its `.cpu`
+    like: `open(..., compressor=CompatCompressor.lz4().cpu)`.
+
+    Parameters
+    ----------
+    cpu
+        The CPU compressor.
+    gpu
+        The GPU compressor.
+    """
+
+    def __init__(self, cpu: Codec, gpu: CudaCodec) -> None:
         self.cpu = cpu
         self.gpu = gpu
 
@@ -359,28 +348,48 @@ def open_cupy_array(
     if not hasattr(meta_array, "__cuda_array_interface__"):
         raise ValueError("meta_array must implement __cuda_array_interface__")
 
-    if mode in ("r", "r+"):
-        ret = zarr.open_array(
-            store=kvikio.zarr.GDSStore(path=store),
-            mode=mode,
-            meta_array=meta_array,
-            **kwargs,
-        )
-        # If we are reading a LZ4-CPU compressed file, we overwrite the metadata
-        # on-the-fly to make Zarr use LZ4-GPU for both compression and decompression.
-        compat_lz4 = CompatCompressor.lz4()
-        if ret.compressor == compat_lz4.cpu:
+    if mode in ("r", "r+", "a"):
+        # In order to handle "a", we start by trying to open the file in read mode.
+        try:
             ret = zarr.open_array(
-                store=kvikio.zarr.GDSStore(
-                    path=store,
-                    compressor_config_overwrite=compat_lz4.cpu.get_config(),
-                    decompressor_config_overwrite=compat_lz4.gpu.get_config(),
-                ),
-                mode=mode,
+                store=kvikio.zarr.GDSStore(path=store),
+                mode="r+",
                 meta_array=meta_array,
                 **kwargs,
             )
-        return ret
+        except (zarr.errors.ContainsGroupError, zarr.errors.ArrayNotFoundError):
+            # If we are reading, this is a genuine error.
+            if mode in ("r", "r+"):
+                raise
+        else:
+            if ret.compressor is None:
+                return ret
+            # If we are reading a LZ4-CPU compressed file, we overwrite the
+            # metadata on-the-fly to make Zarr use LZ4-GPU for both compression
+            # and decompression.
+            compat_lz4 = CompatCompressor.lz4()
+            if ret.compressor == compat_lz4.cpu:
+                ret = zarr.open_array(
+                    store=kvikio.zarr.GDSStore(
+                        path=store,
+                        compressor_config_overwrite=compat_lz4.cpu.get_config(),
+                        decompressor_config_overwrite=compat_lz4.gpu.get_config(),
+                    ),
+                    mode=mode,
+                    meta_array=meta_array,
+                    **kwargs,
+                )
+            elif not isinstance(ret.compressor, CudaCodec):
+                raise ValueError(
+                    "The Zarr file was written using a non-CUDA compatible "
+                    f"compressor, {ret.compressor}, please use something "
+                    "like kvikio.zarr.CompatCompressor"
+                )
+            return ret
+
+    # At this point, we known that we are writing a new array
+    if mode not in ("w", "w-", "a"):
+        raise ValueError(f"Unknown mode: {mode}")
 
     if isinstance(compressor, CompatCompressor):
         compressor_config_overwrite = compressor.cpu.get_config()
diff --git a/python/pyproject.toml b/python/pyproject.toml
index 0be1e70992..836b57ecec 100644
--- a/python/pyproject.toml
+++ b/python/pyproject.toml
@@ -14,7 +14,7 @@ requires = [
 
 [project]
 name = "kvikio"
-version = "23.10.00"
+version = "23.12.00"
 description = "KvikIO - GPUDirect Storage"
 readme = { file = "README.md", content-type = "text/markdown" }
 authors = [


Test patch:
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 505b30df6c..7f508b6b8c 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -16,7 +16,7 @@ on:
 jobs:
   cpp-tests:
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12
     with:
       build_type: nightly
       branch: ${{ inputs.branch }}
@@ -24,7 +24,7 @@ jobs:
       sha: ${{ inputs.sha }}
   python-tests:
     secrets: inherit
-    uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.10
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-23.12
     with:
       build_type: nightly
       branch: ${{ inputs.branch }}
diff --git a/cpp/cmake/thirdparty/get_gtest.cmake b/cpp/cmake/thirdparty/get_gtest.cmake
index c3210d842d..1133c846c3 100644
--- a/cpp/cmake/thirdparty/get_gtest.cmake
+++ b/cpp/cmake/thirdparty/get_gtest.cmake
@@ -32,7 +32,7 @@ function(find_and_configure_gtest)
 
     include("${rapids-cmake-dir}/export/find_package_root.cmake")
     rapids_export_find_package_root(
-      BUILD GTest [=[${CMAKE_CURRENT_LIST_DIR}]=] kvikio-testing-exports
+      BUILD GTest [=[${CMAKE_CURRENT_LIST_DIR}]=] EXPORT_SET kvikio-testing-exports
     )
   endif()
 
diff --git a/python/tests/test_nvcomp.py b/python/tests/test_nvcomp.py
index 59ba24869f..a2ea895dd4 100644
--- a/python/tests/test_nvcomp.py
+++ b/python/tests/test_nvcomp.py
@@ -406,60 +406,6 @@ def test_get_decompression_config_with_default_options(manager, expected):
     assert result == expected
 
 
-@pytest.mark.parametrize("manager", managers())
-def test_set_scratch_buffer(manager):
-    length = 10000
-    dtype = cupy.uint8
-    data = cupy.array(
-        np.arange(
-            0,
-            length // cupy.dtype(dtype).type(0).itemsize,
-            dtype=dtype,
-        )
-    )
-    compressor_instance = manager()
-    compressor_instance.configure_compression(len(data))
-    buffer_size = compressor_instance.get_required_scratch_buffer_size()
-    buffer = cupy.zeros(buffer_size, dtype="int8")
-    compressor_instance.set_scratch_buffer(buffer)
-    compressor_instance.compress(data)
-    if isinstance(compressor_instance, libnvcomp.BitcompManager):
-        # Bitcomp does not use the scratch buffer
-        pytest.skip()
-    else:
-        assert (buffer[0:5] != cupy.array([0, 0, 0, 0, 0])).any()
-
-
-@pytest.mark.parametrize(
-    "manager,expected",
-    zip(
-        managers(),
-        [
-            378355712,  # ANS
-            8,  # Bitcomp
-            1641608,  # Cascaded
-            393222400,  # Gdeflate
-            252334080,  # LZ4
-            67311208,  # Snappy
-        ],
-    ),
-)
-def test_get_required_scratch_buffer_size(manager, expected):
-    length = 10000
-    dtype = cupy.uint8
-    data = cupy.array(
-        np.arange(
-            0,
-            length // cupy.dtype(dtype).type(0).itemsize,
-            dtype=dtype,
-        )
-    )
-    compressor_instance = manager()
-    compressor_instance.configure_compression(len(data))
-    buffer_size = compressor_instance.get_required_scratch_buffer_size()
-    assert_compression_size(buffer_size, expected)
-
-
 @pytest.mark.parametrize(
     "manager, expected",
     zip(managers(), list(LEN.values())),
diff --git a/python/tests/test_nvcomp_codec.py b/python/tests/test_nvcomp_codec.py
index e4ce969c7a..61b2f2d484 100644
--- a/python/tests/test_nvcomp_codec.py
+++ b/python/tests/test_nvcomp_codec.py
@@ -4,6 +4,7 @@
 import itertools as it
 import json
 
+import cupy as cp
 import numcodecs
 import numpy as np
 import pytest
@@ -81,24 +82,38 @@ def test_basic_zarr(algo: str, shape_chunks):
 
 
 @pytest.mark.parametrize("algo", SUPPORTED_CODECS)
-def test_batch_comp_decomp(algo: str):
+@pytest.mark.parametrize("chunk_sizes", [(100, 100), (100, 150)])
+@pytest.mark.parametrize("out", [None, "cpu", "gpu"])
+def test_batch_comp_decomp(algo: str, chunk_sizes, out: str):
     codec = _get_codec(algo)
 
     np.random.seed(1)
 
     dtype = np.float32
-    # 2 equal-sized chunks.
-    chunks = list(np.random.randn(2, 100).astype(dtype))
+    chunks = [np.random.randn(s).astype(dtype) for s in chunk_sizes]
+    out_buf = None
+    if out == "cpu":
+        out_buf = [np.empty_like(c) for c in chunks]
+    elif out == "gpu":
+        out_buf = [cp.empty_like(c) for c in chunks]
 
     comp_chunks = codec.encode_batch([c.tobytes() for c in chunks])
     assert len(comp_chunks) == 2
 
-    decomp_chunks = codec.decode_batch(comp_chunks)
+    decomp_chunks = codec.decode_batch(comp_chunks, out=out_buf)
     assert len(decomp_chunks) == 2
 
-    decomp_chunks = [c.view(dtype=dtype) for c in decomp_chunks]
-    assert_equal(decomp_chunks[0], chunks[0])
-    assert_equal(decomp_chunks[1], chunks[1])
+    for i, dc in enumerate(decomp_chunks):
+        dc = dc.view(dtype=dtype)
+        if isinstance(dc, cp.ndarray):
+            dc = dc.get()
+        assert_equal(dc, chunks[i], f"{i=}")
+
+        if out_buf is not None:
+            ob = out_buf[i]
+            if isinstance(ob, cp.ndarray):
+                ob = ob.get()
+            assert_equal(ob, chunks[i], f"{i=}")
 
 
 @pytest.mark.parametrize("algo", SUPPORTED_CODECS)
diff --git a/python/tests/test_zarr.py b/python/tests/test_zarr.py
index f909559eea..ba42e35a96 100644
--- a/python/tests/test_zarr.py
+++ b/python/tests/test_zarr.py
@@ -212,11 +212,13 @@ def test_compressor_config_overwrite(tmp_path, xp, algo):
     numpy.testing.assert_array_equal(z[:], range(10))
 
 
-def test_open_cupy_array(tmp_path):
+@pytest.mark.parametrize("write_mode", ["w", "w-", "a"])
+@pytest.mark.parametrize("read_mode", ["r", "r+", "a"])
+def test_open_cupy_array(tmp_path, write_mode, read_mode):
     a = cupy.arange(10)
     z = kvikio_zarr.open_cupy_array(
         tmp_path,
-        mode="w",
+        mode=write_mode,
         shape=a.shape,
         dtype=a.dtype,
         chunks=(2,),
@@ -231,7 +233,7 @@ def test_open_cupy_array(tmp_path):
 
     z = kvikio_zarr.open_cupy_array(
         tmp_path,
-        mode="r",
+        mode=read_mode,
     )
     assert a.shape == z.shape
     assert a.dtype == z.dtype
@@ -239,9 +241,45 @@ def test_open_cupy_array(tmp_path):
     assert z.compressor == kvikio_nvcomp_codec.NvCompBatchCodec("lz4")
     cupy.testing.assert_array_equal(a, z[:])
 
-    z = zarr.open_array(tmp_path, mode="r")
+    z = zarr.open_array(tmp_path, mode=read_mode)
     assert a.shape == z.shape
     assert a.dtype == z.dtype
     assert isinstance(z[:], numpy.ndarray)
     assert z.compressor == kvikio_zarr.CompatCompressor.lz4().cpu
     numpy.testing.assert_array_equal(a.get(), z[:])
+
+
+@pytest.mark.parametrize("compressor", [None, kvikio_zarr.CompatCompressor.lz4().cpu])
+def test_open_cupy_array_written_by_zarr(tmp_path, compressor):
+    data = numpy.arange(100)
+    z = zarr.open_array(
+        tmp_path,
+        shape=data.shape,
+        mode="w",
+        compressor=compressor,
+    )
+    z[:] = data
+
+    z = kvikio_zarr.open_cupy_array(tmp_path, mode="r")
+    assert isinstance(z[:], cupy.ndarray)
+    cupy.testing.assert_array_equal(z[:], data)
+
+
+@pytest.mark.parametrize("mode", ["r", "r+", "a"])
+def test_open_cupy_array_incompatible_compressor(tmp_path, mode):
+    zarr.create((10,), store=tmp_path, compressor=numcodecs.Blosc())
+
+    with pytest.raises(ValueError, match="non-CUDA compatible compressor"):
+        kvikio_zarr.open_cupy_array(tmp_path, mode=mode)
+
+
+def test_open_cupy_array_unknown_mode(tmp_path):
+    a = cupy.arange(10)
+    with pytest.raises(ValueError, match="Unknown mode: x"):
+        kvikio_zarr.open_cupy_array(
+            tmp_path,
+            mode="x",
+            shape=a.shape,
+            dtype=a.dtype,
+            chunks=(2,),
+        )