How kartikjaat970/gpu-image-engine works
GPU Image Engine loads an image, computes grayscale versions on both CPU and GPU, and exports each as a JPEG. The sampled entry point confirms the load, both processing calls, and saves; the CPU implementation is sampled. The README documents CUDA kernels and host/device transfers, but their implementation and wiring were not excerpted, so those internal GPU relationships are left unasserted.
Main entry points: main.cpp Image runner · grayscale_cpu.cpp CPU grayscale · grayscale_kernel.cu GPU grayscale
Components 8
Image workflow
- Image runner
src/main.cpp - Input image
- OpenCV I/O
- JPEG outputs
CPU processing
- CPU grayscale
src/cpu/grayscale_cpu.cpp
CUDA processing
- GPU grayscale
src/cuda/grayscale_kernel.cu - Host-device transfer
src/cuda
Other components
- User
Connections 7
- User → Image runner: runs
README.md - Input image → Image runner: loads
src/main.cpp - Image runner → OpenCV I/O: reads image
src/main.cpp - Image runner → CPU grayscale: calls CPU
src/main.cpp - Image runner → GPU grayscale: calls GPU
- Image runner → OpenCV I/O: writes images
src/main.cpp - Image runner → JPEG outputs: exports JPEGs
src/main.cpp