Skip to main content

GPU-accelerated compression for edge AI. GPU where it matters. CPU where it doesn't.

Project description

HammerIO Architecture

HammerIO

GPU-accelerated compression for edge AI. GPU where it matters. CPU where it doesn't.
Created by ResilientMind AI | ResilientMindai.com | Joseph C McGinty Jr

PyPI Python License Platform CUDA nvCOMP


HammerIO is a GPU-accelerated compression toolkit that automatically routes files to the fastest available hardware. Large files go to nvCOMP GPU LZ4 (6+ GB/s decompression). On macOS, it uses Apple LZFSE via the Accelerate framework. Everything else goes to CPU zstd with parallel threading. No flags, no configuration.

Installation

pip install hammerio

GPU acceleration (NVIDIA Jetson or desktop GPU):

pip install hammerio[gpu]

Jetson with jtop monitoring:

pip install hammerio[jetson]

From source:

git clone https://github.com/Subzero121800/HammerIO.git
cd HammerIO && pip install -e .

Requires Python 3.10+. GPU features require CUDA 12.x and NVIDIA nvCOMP.

Post-Install Setup

After installing with pip, run these optional setup commands:

# Accept the license agreement (shown automatically on first run)
hammer --accept-license

# Install right-click compress/decompress in your file manager
hammer install-desktop

# Launch the web dashboard (GPU monitoring, file browser, compression UI)
hammer webui

Quick Start

# Compress anything -- routing is automatic
hammer compress data.csv
hammer compress ./dataset/ --quality fast
hammer compress archive.tar --algo lz4

# Decompress
hammer decompress data.csv.zst
hammer decompress archive.tar.lz4

# Batch compress a directory
hammer batch ./logs/ --workers 8

# See what HammerIO would do
hammer info --routes ./my_file.csv

# Hardware profile
hammer info --hardware

# Install right-click context menu (Nautilus, Nemo, Thunar)
hammer install-desktop

Python API:

import hammerio

router = hammerio.JobRouter(quality="fast")
job = router.route("dataset.csv")
result = router.execute(job)
print(f"{result.compression_ratio:.1f}x via {result.processor_used}")

Benchmarks

Measured on Jetson AGX Orin 64GB, JetPack 6.2.2, CUDA 12.6, MAXN mode. Realistic mixed data (25% CSV, 25% patterns, 25% semi-random, 25% true entropy).

Roundtrip Performance (10 GB)

Method Compress Decompress Ratio Roundtrip
CPU zstd-1 1,094 MB/s 733 MB/s 2.00x 24.1s
CPU zstd-3 1,014 MB/s 741 MB/s 2.00x 24.0s
GPU nvCOMP LZ4 517 MB/s 4,258 MB/s 1.98x 22.2s

GPU wins the roundtrip: 1.1x faster than CPU best. GPU decompression is 5.7x faster than CPU.

In-Memory (Pure Algorithm Speed, No Disk I/O)

Method Compress Decompress Ratio
CPU zstd-1 1,747 MB/s 2,001 MB/s 2.00x
CPU zstd-3 1,615 MB/s 2,088 MB/s 2.00x
GPU nvCOMP LZ4 705 MB/s 8,537 MB/s 1.98x
GPU nvCOMP Snappy 1,615 MB/s 5,756 MB/s 1.68x

Random I/O (64KB Blocks)

Pattern IOPS Bandwidth Latency p99
Random Read 109,299 6,831 MB/s 0.02 ms
Random Write 29,405 1,838 MB/s 0.05 ms
Mixed 70/30 R/W 57,146 3,572 MB/s 0.05 ms

Scalability (GPU vs CPU Crossover)

Size CPU zstd-3 GPU LZ4 GPU Wins?
1 MB 260 MB/s 29 MB/s No
10 MB 341 MB/s 378 MB/s Yes
100 MB 678 MB/s 693 MB/s Yes
1 GB 380 MB/s 464 MB/s Yes

GPU crossover at ~10 MB. Below that, kernel launch overhead dominates.

Run benchmarks yourself:

hammer benchmark              # Standard (500MB)
hammer benchmark --quick      # Quick (100MB)
hammer benchmark --10gb       # Stress test (10GB)
hammer benchmark --type memory     # In-memory only
hammer benchmark --type random-io  # Random I/O patterns
hammer benchmark --type scale      # Scalability sweep

Smart Routing

HammerIO profiles every file and routes to the optimal compressor:

$ hammer info --hardware

Routing Profile:
  Large Files   -> nvCOMP LZ4 (GPU)      # Files > 500MB
  Datasets      -> nvCOMP LZ4 (GPU)      # CSV, Parquet, NPY, etc.
  General       -> zstd parallel (CPU)    # Default path
  Archives      -> passthrough            # Already compressed
  Text Logs     -> zstd (CPU, high ratio) # Best ratio

On macOS Apple Silicon: General -> Apple LZFSE (Accelerate) -- hardware-optimized, faster than zstd on M-series.

If the GPU path fails (OOM, driver issue), HammerIO falls back to CPU and logs why.

Watch Daemon

Drop-folder automation for edge pipelines:

hammer watch --watch-root ./pipeline --threshold-mb 500

# ./pipeline/
#   compress/        <- drop files here
#   decompress/      <- drop .zst/.lz4 files here
#   compressed/      <- output appears here
#   decompressed/    <- output appears here
#   processed/       <- originals moved here after success

GPU routing kicks in for files above the threshold. CPU handles the rest.

Web Dashboard

hammer webui             # http://localhost:5000

Real-time monitoring: GPU/CPU utilization, thermal zones, power rails, per-core CPU bars, compression job history, file browser, quick compress/decompress, and a built-in CLI console.

Hardware Compatibility

Device Compression Engine Status
Jetson AGX Orin nvCOMP GPU LZ4 Primary target, fully tested
Jetson Orin NX / Nano nvCOMP GPU LZ4 Supported
RTX 3000 / 4000 / 5000 nvCOMP GPU LZ4 Supported
Any CUDA 12.x GPU nvCOMP GPU LZ4 Supported
macOS Apple Silicon Apple LZFSE (Accelerate) M1/M2/M3/M4
CPU-only (no GPU) zstd / gzip / lz4 Universal fallback

CLI Reference

Command Description
hammer compress Compress file or directory (auto GPU/CPU routing)
hammer decompress Decompress .zst, .lz4, .lzfse, .gz, .bz2 files
hammer batch Batch compress a directory with parallel workers
hammer watch Watch folders and auto-process dropped files
hammer benchmark Run GPU vs CPU benchmark suite
hammer install-desktop Install right-click compress/decompress in file manager
hammer info Hardware profile, routing decisions, telemetry
hammer config Show, save, or generate configuration
hammer monitor Live terminal telemetry (jtop-style)
hammer webui Launch web dashboard
hammer version Version and system info

License

Copyright 2026 ResilientMind AI | ResilientMindai.com | Joseph C McGinty Jr
Licensed under the Apache License, Version 2.0

Open source for personal, educational, research, and internal business use.

Commercial licenses available for redistribution, SaaS, and OEM embedding.

License Price
Individual commercial $199 one-time
Organization $999/year
OEM / Embedded Custom

See COMMERCIAL_LICENSE.md for details.

Contact: Joseph@ResilientMindAI.com | resilientmindai.com


ResilientMind AI | resilientmindai.com | Joseph C McGinty Jr

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hammerio-1.0.1.tar.gz (132.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hammerio-1.0.1-py3-none-any.whl (119.5 kB view details)

Uploaded Python 3

File details

Details for the file hammerio-1.0.1.tar.gz.

File metadata

  • Download URL: hammerio-1.0.1.tar.gz
  • Upload date:
  • Size: 132.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for hammerio-1.0.1.tar.gz
Algorithm Hash digest
SHA256 831dc877f965eb8aba0e96488ebccefe869f0be78027a333c32b8bed04fb59ea
MD5 4535fbd2b7479d6821b668c7d18080d8
BLAKE2b-256 5c3ab3aa9cc0e43cc54e2bb93e078b605d40d151546fb3c551f5adde1b63ddcd

See more details on using hashes here.

File details

Details for the file hammerio-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: hammerio-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 119.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for hammerio-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7568ecf7b8b161316338d3038f9a64aad95d4c602155ad595dd6f8aab664b095
MD5 a2982e462166194ca6e4dd45df1b37a3
BLAKE2b-256 7d8d1bd5fae5007f22a4cce63a099e718ef0014eaca4fdcea15b1eef799c3e13

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page