Experimental small-batch CUDA baseline JPEG decoding core
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 8/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- data-engineering
Hướng nghiên cứu
This is a proposal for an opt-in experimental CUDA baseline JPEG decoder core, and the author is asking whether the direction fits the project rather than asking for a specific change. Read the issue to see the planned split between Huffman decoding, IDCT, color conversion and host parsing, then wait for maintainer direction before touching any code. Done would mean the maintainers have answered the scope question and a draft review has been agreed.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Proposal
Introduce an opt-in experimental native CUDA baseline JPEG decoding core as a
step toward a low-host-work decoder backend for small batches.
nvJPEG and nvImageCodec already provide GPU-assisted Huffman decoding. This
proposal concerns host work and small-batch scheduling, not missing JPEG support.
Existing implementation and evidence
The prototype moves entropy decoding onto CUDA using overlapping speculative
Huffman decoding, exact chunk-state reconciliation, coefficient decoding, and
DC prefix scans, followed by dequantization, IDCT, and color conversion.
Host work is marker/table parsing, lookup-table construction, input staging,
and stream submission.
On 2026-10-22, the original Torch-bound implementation was checked on an RTX 5090
with PyTorch 2.8.0+cu128 and torchvision 0.23.0+cu128: 5000/5000 decoded images and
5000/5000 preprocessing tensors were bit-identical to that reference. The corpus
contained 4990 baseline 4:4:4 images and 10 grayscale images. A 200-image sequential
load benchmark changed from 2335.05 to 425.75 microseconds/image, while GPU busy
time increased from 57.79 to 335.80 microseconds/image. These are historical
prototype/load-path measurements rather than current nvImageCodec or model
end-to-end performance claims.
Scope of the proposed draft
- Separate the algorithm from Torch into C++/CUDA parsing, kernels, resource
ownership, stream submission, and explicit completion/error checking. - Initial scope: baseline 8-bit, single scan, grayscale/YCbCr 4:4:4, no restart
intervals; caller-owned pitched planar RGB output. - Keep the component disabled by default, without changing codec selection.
- Retain NVIDIA CUDA samples attribution for the IDCT butterfly.
- Include malformed-header tests, sanitizer checks, and a GPU contract test.
I will submit the native core as a draft for architecture/kernel review. The
framework decoder adapter and matched current nvJPEG comparisons are separate
follow-up work. Is an optional backend with this initial scope a useful direction
for the project?
- Ngôn ngữ chính
- Jupyter Notebook
- Star
- 164
- Fork
- 26
- Merge trung bình
- 27 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/nvImageCodec
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
NVIDIA/nvImageCodec#65 · 1 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
NVIDIA/nvImageCodec#66 · 1 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 38/100
NVIDIA/nvImageCodec#64 ·
-
nvjpeg2k error 3 (Bad jpeg) on valid JPEG 2000 aerial photos that OpenJPEG and ffmpeg decode identicallyCó thể đã có người làm @mkepa-nv đã nhận 5 ngày trước. Đang mởbug
NVIDIA/nvImageCodec#63 · 2 bình luận · 1 người được giao ·
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
NVIDIA/nvImageCodec#59 ·
Tất cả issue của NVIDIA/nvImageCodec
Issue tương tự
-
Add: Sakuranbo TVĐang mởchannels:add check:passed
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
inference-sim/inference-sim#2110 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Report: An Giang TVĐang mởapproved check:passed streams:remove
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 71/100
PavelGrigoryevDS/awesome-data-analysis#126 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
correction metadata
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
acl-org/acl-anthology#10866 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày