GPU-accelerated compression for edge AI. GPU where it matters. CPU where it doesn't.
Project description
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hammerio-1.0.5.tar.gz.
File metadata
- Download URL: hammerio-1.0.5.tar.gz
- Upload date:
- Size: 135.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5e6d6a1cafe537c91c78c4a61b72386c07f11c9f6d525b5a7035782171cb9e9
|
|
| MD5 |
63bdff40d18ada03ffccf2925381b424
|
|
| BLAKE2b-256 |
8dadfc81082e41c9f0fcacedb5358aa7f52a80fdc87156f7af62e2bf31849e59
|
File details
Details for the file hammerio-1.0.5-py3-none-any.whl.
File metadata
- Download URL: hammerio-1.0.5-py3-none-any.whl
- Upload date:
- Size: 123.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cab826dce2b50d2836a13df26f8451fd37e661d558756df3582db4011efadd9
|
|
| MD5 |
bfb718ba1264a143dbe549e4ed19fd4d
|
|
| BLAKE2b-256 |
6cd81a1e710247ac95ea6b194c507233f7688d63543d433734493c6227297fa8
|