Fall 2015 SPO600 Course Project

From CDOT Wiki
Jump to: navigation, search

Overview

The project in the Fall 2015 SPO600 course involves:

  • Selecting an open-source software package;
  • Determining which GCC compiler flags produce an optimal version of that package on AArch64 and x86_64 architectures; and
  • Providing feedback to the upstream project.


Project Stages

Stage 1: Baselines

Due: November 6, 2015

  1. Select an open source package - see the |Participants page for instructions and the list of available packages.
    • Make sure that that package can benefit from GCC compiler flag selection
    • Consider carefully how much work is involved in building, testing, and benchmarking that package
  2. Become an expert at building that software. Learn how the build process works, what other software is required to build and run it (dependencies), how long it usually takes to build on AArch64 and x86_64 systems, and how to determine if the build is successful. Important: Do not build the software as root (sudo) and do not install it into system directories on the SPO600 Servers. You may install it into personal directories if desired.
  3. Determine how to alter the build flags used by the software.
  4. Develop a strategy for benchmarking the software (testing its performance).

Be prepared to tell the class the following information on November 6:

  1. Typical build times on aarchie and xerxes
  2. Typical build result size (binaries and libraries)
  3. Benchmarking strategy

Stage 2: Flag Variations

Due: November 24, 2015 (Tentative)

  1. Determine the best optimization compiler flags for this package on AArch64 and x86_64
  2. Report to the class

Stage 3: Final Results

Due: December 11 (Tentative)

  1. Communicate your results to the upstream community behind your software package