Fall 2015 SPO600 Course Project
Contents
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
- 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
- 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.
- Determine how to alter the build flags used by the software.
- Develop a strategy for benchmarking the software (testing its performance).
Be prepared to tell the class the following information on November 6:
- Typical build times on aarchie and xerxes
- Typical build result size (binaries and libraries)
- Benchmarking strategy
Stage 2: Flag Variations
Due: November 24, 2015 (Tentative)
- Determine the best optimization compiler flags for this package on AArch64 and x86_64
- Report to the class
Stage 3: Final Results
Due: December 11 (Tentative)
- Communicate your results to the upstream community behind your software package