Skip to content

@vsoch is playing with compiler flags because she wants to :)

Notifications You must be signed in to change notification settings

buildsi/compilerops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compilerops

How do different compiler flags lead to different optimizations and performance results?

  1. Write a simple program with two loops.
  2. The architecture is pinned, but we can eventually try on different machines.
  3. The version of g++ is important - to start we will pin with my host (and then vary)
  4. Create a container with some version of g++ (as stated we can eventually vary)
  5. We need to programatically derive flags.
  6. Once we have flags, we need to randomly choose a set, compile, and save if it worked, and how fast it runs.
  7. Try different models to select for flags that work, and record time on successful run!

For the last point, the easiest thing to do is have the script time itself.

Included

Dependencies

$ python -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt

Generate Flags

$ python compilerops.py gen g++

Will generate filtered data/gpp_flags.json

important the first two times I ran monte carlo and the tabu search I included warnings, and later removed these. The original data (suffix _warnings.json) is included in the data folder.

About

@vsoch is playing with compiler flags because she wants to :)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published