Nav apraksta

Andrea Gussoni 7c7b5c5418 SCRIPTS: Added targets to makefile to execute benchmark 7 gadi atpakaļ
notes bb63c97c2c NOTES: Added some notes 7 gadi atpakaļ
report 06c52571ee REPORT: Added results analysis and conclusion 7 gadi atpakaļ
sample-results 7c7b5c5418 SCRIPTS: Added targets to makefile to execute benchmark 7 gadi atpakaļ
utils 7c7b5c5418 SCRIPTS: Added targets to makefile to execute benchmark 7 gadi atpakaļ
README.md 7c7b5c5418 SCRIPTS: Added targets to makefile to execute benchmark 7 gadi atpakaļ

README.md

AOS-Project

This repository contains the material produced and used during the development of the project for the Advanced Operating Systems course.

Folder Organization

The repo is structured in four main folders:

  • The report folder that contains the LaTeX source of the final report. To compile the report you can take advantage of the Makefile provided in the source folder. Take into account that sometimes you have to interleave the execution of biber report with the make or pdflatex invocation to build the bibliography for the first time.
  • The utils folder that contains scripts and hacks used for deploying/compiling/running the components of the system used for the benchmarks execution.
  • The sample-results folder that contains the raw data and collected during the development of the project (10 runs of each benchmark for each platform) and the charts created starting from them. If you want to re-analyze some results simply copy the results folder that contains the raw data in the plot folder (inside the utils folder) and run the create-charts script.
  • The notes folder that contains notes taken during the development of the project to keep track of problems and solutions, they are of not any interest for the user.

Usage Tips

You can take advantage of the Makefile present under the utils folder to build all the necessary components. All the components will be installed in the build folder in the utils folder.

The Makefile provides the following targets:

  • requirements: installs the packages needed for building the other components.
  • runtime: builds and installs in the system the pocl runtime.
  • power_measurement: builds the power measurement utility.
  • benchmark: builds the benchmark suite.
  • all: compiles and deploys the components (equivalent to the previous 4 targets), but does not execute the benchmarks.
  • execute_benchmarks: executes the benchmarks for all the platforms available (invokes the OPENCL_BENCHMARK_ALL target in the benchmark folder)
  • execute_benchmarks_batch: executes the benchmarks for all the platforms available 10 times (invokes the OPENCL_BENCHMARK_ALL_BATCH target in the benchmark folder)
  • create_charts: create the charts starting from the data collected in the previous run of the benchmarks. It also copies the charts in the charts folder in the current path.
  • execute_and_plot: the combination of the previous two targets.
  • execute_and_plot_batch: as the previous target but executes the benchmarks 10 times.

Rodinia Repository

In addition, since placing also the benchmark source folder in this same repository would have clobbered the commit history, I opted for a separate repository dedicated to host only the work on the Rodinia benchmark suite. You can find the benchmark repository here.

Power Measurement

Remember to connect the SmartPower to an USB port of the board, an to test it as described in section 2.3 of the report.