How charl024/lrp_dvs_mpi works
This is a demonstration application for processing prerecorded neuromorphic-camera event streams, comparing serial execution with MPI-parallel processing. Users select a serial or MPI entry point; it loads datasets, runs heatmap, background-filtering, and HATS algorithms, and can visualize their results. The parallel algorithms distribute packets by image region and gather or reduce rank-local results. The README describes the project’s purpose but provides few implementation details; unsampled serial modules and dataset-loading behavior are represented only where supported by the file tree and sampled callers.
Main entry points: processing.py Core processing · main_serial.py Serial runner · main_serial_v2.py Serial runner v2 · main_parallel.py MPI runner
Components 17
Application entry points
- Serial runner
src/main_serial.py - Serial runner v2
src/main_serial_v2.py - MPI runner
src/main_parallel.py - MPI runner v2
src/main_parallel_v2.py
Event input
- Dataset loader
src/util.py - Event datasets
test_data
Processing algorithms
- Serial heatmap
src/serial_heatmap.py - Serial background filter
src/serial_background_filter.py - Serial HATS
src/serial_hats.py - MPI heatmap
src/parallel_heatmap.py - MPI background filter
src/parallel_background_filter.py - MPI HATS
src/parallel_hats.py - Core processing
src/processing.py
Results and visualization
- Serial visualizations
plots/serial - MPI visualizations
plots/parallel
Other components
- User
- MPI ranks
Connections 36
- User → Serial runner: runs serial
- User → Serial runner v2: runs serial v2
- User → MPI runner: runs MPI
- User → MPI runner v2: runs MPI v2
- Serial runner → Dataset loader: loads datasets
- Serial runner v2 → Dataset loader: loads datasets
- MPI runner → Dataset loader: loads datasets
- MPI runner v2 → Dataset loader: loads datasets
- Dataset loader → Event datasets: reads events
- Serial runner → Serial heatmap: calls
- Serial runner → Serial background filter: calls
- Serial runner → Serial HATS: calls
- Serial runner v2 → Serial heatmap: calls
- Serial runner v2 → Serial background filter: calls
- Serial runner v2 → Serial HATS: calls
- MPI runner → MPI heatmap: calls
- MPI runner → MPI background filter: calls
- MPI runner → MPI HATS: calls
- MPI runner v2 → MPI heatmap: calls
- MPI runner v2 → MPI background filter: calls
- MPI runner v2 → MPI HATS: calls
- Serial heatmap → Core processing: processes events
- Serial background filter → Core processing: filters events
- Serial HATS → Core processing: computes descriptors
- MPI heatmap → Core processing: processes events
- MPI background filter → Core processing: filters events
- MPI HATS → Core processing: computes descriptors
- MPI heatmap → MPI ranks: sends and gathers
- MPI background filter → MPI ranks: sends and gathers
- MPI HATS → MPI ranks: sends and reduces
- Serial background filter → Serial visualizations: writes plots
- Serial heatmap → Serial visualizations: writes plots
- Serial HATS → Serial visualizations: writes plots
- MPI heatmap → MPI visualizations: writes plots
- MPI background filter → MPI visualizations: writes plots
- MPI HATS → MPI visualizations: writes plots