Authors: Ana Beatriz Santos de Oliveira, Ana Luiza Diniz Santos, Larissa Anielle Terrinha de Oliveira
This project optimizes a C++ Median and Sobel filter pipeline for the ARM Cortex-A9 processor
We applied manual (algorithmic, data access) and compiler (-O3) optimizations.
│ myproject.cpp
│ my_functions.hpp
│ projet_24_v1.cpp
│ README.md
│
└───Versions
algorithm_changes
computational_reogarnization
loop_unrolling_and_loop_optimization
optimal_data_access_where_possible
removal_of_redundant_computations
projet_24_v1.cpp: Main file for benchmarking.my_functions.cpp: Our optimized filter implementations.
The main application file, which handles video I/O, benchmarking, and calls the filter functions.
The core implementation file containing the final optimized versions of my_sobel() and my_median().
This directory contains the source code snapshots from each progressive optimization step (e.g., algorithm_changes, loop_unrolling, optimal_data_access) for analysis, as described in the methodology
Ctrl + L
sftp://linaro@192.168.1.2
- Transfer Files:
scp my_functions.hpp linaro@192.168.1.2:~/br/scp my_functions.cpp projet_24_v1.cpp linaro@192.168.1.2:~/br/1.Conection
ssh -X linaro@192.168.1.2export DISPLAY=localhost:10.0- Test
xeyes- See cameras to change on the code
sudo rm /dev/video*ls /dev/video*- Compile (on board):
cd ~/brg++ -O3 `pkg-config --cflags opencv` projet_24_v1.cpp my_functions.cpp `pkg-config --libs opencv` -o meu_codigo -lm- Run (on board):
./meu_codigo 3