This repository includes the source code, tooling and statistical analysis for the SE R&D research paper.
- Install the C++ compiler through Xcode:
xcode-select --install
- Install the
ImageMagick
programs through Brew:brew install imagemagick
- Install the
just
recipe runner through Brew:brew install just
- Deploy a server with an NVIDIA GPU, e.g. from TensorDock
- Install the CUDA toolkit from developer.nvidia.com
- Install the
ImageMagick
programs through apt:sudo apt install imagemagick
- Install the
just
recipe runner, see casey/just.
mkdir build && mkdir input_images
- Generate the input images from a URL using
just gen_inputs
, e.g.just gen_inputs https://4kwallpapers.com/images/wallpapers/mclaren-w1-supercar-7680x4320-19246.jpg
- Now you can run the application: run
just run <platform> <algorithm>
, e.g.just run cpu bilinear-interpolation
. This will write the downsized image tobuild/output.rgba
- To convert the image from RGBA to PNG and open it, run
just render <size>
, where<size>
is the output resolution configured by the scaling factor insrc/constants.hpp
. Example:just render 1920x1080
- Raw data was generated using
benchmarking/runner/run.js
, which runs each configuration (across factors, platforms and algorithms) 10 times. - Data is aggregated to a CSV file using
benchmarking/runner/aggregate.js
. - CSV file is read by the Jupyter notebooks, which use pandas and matplotlib to generate graphs. See bar, line and energy.