Difference between revisions of "SPO600 Framework Project"
(Created page with 'Here's the link to the Github repo: https://github.com/pk400/SPO600-Build-Framework') |
(→Instructions for Submitting a Pull Request) |
||
(21 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | Here's the link to the Github repo: https://github.com/pk400/SPO600-Build-Framework | + | == Who's Doing What == |
+ | |||
+ | The driver for each piece is in '''bold'''. Please don't be confined by this list -- contribute to any section as you see fit. | ||
+ | |||
+ | # Config file format - '''Miguel''', Andy, Shirwa | ||
+ | # Initial option lists for config file - '''James''', Andy | ||
+ | # Config file parser - '''Gaurav''', Miguel, Shirwa | ||
+ | # Permute test cases - '''Ramanan''', Donald, Han | ||
+ | # Build - '''Yehoshua''', Jayme, Nitish, Joel | ||
+ | # Test (Sanity Check/Successful Build Test) - '''Nitish''', Dmytro, Ramanan | ||
+ | # Benchmark - '''Jayme''', Yehoshua, Nitish | ||
+ | # Analysis tools/reporting - '''Kirill''', Gaurav | ||
+ | # Code wrangler/git repo maintainer/QA - '''Joel''', Jayme, James | ||
+ | # Inter-module API Coordination - '''Donald''', Kirill, Dmytro | ||
+ | # Top-level bash script - '''Chris Tyler''' | ||
+ | |||
+ | == API Specifications == | ||
+ | |||
+ | ''' config file''' -> name of package write to file (analys.txt) for benchmark <br> | ||
+ | ''' parse config ''' -> one group per line, options delimited by "|" (STDOUT) <br> | ||
+ | ''' permute options ''' -> one permutation per line (STDOUT) + ID of groups and group itself to analys.txt <br> | ||
+ | ''' build ''' -> status code and location of start up script + build time, memory used, load of CPU (or it can be called in main) and status code to analys.txt <br> | ||
+ | ''' test ''' -> status code + status code to analys.txt | ||
+ | |||
+ | analys.txt -> ''' benchmark ''' -> SQL Database | ||
+ | |||
+ | |||
+ | Basically, ''' analys.txt ''' would look like this: | ||
+ | |||
+ | Replace items in angle braces with your values<br /> | ||
+ | // denotes a comment | ||
+ | <pre> | ||
+ | <package name - file name of the archive> | ||
+ | #<permutation number, starting with 1>|<compiler options> // # symbol delimits a complete result set | ||
+ | <build exit code>|<build wall clock time>|<build user + system time>|<binary size in bytes> // from build step - time is in seconds | ||
+ | <test exit code> // from test step | ||
+ | $<benchmark run number, start with 1>|<benchmark speed performance score>|<benchmark memory score> // from benchmark step, both are integers >= 0, higher is better | ||
+ | // repeat above line for each benchmark run | ||
+ | </pre> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <pre> | ||
+ | apache2.2.31.tgz // package name | ||
+ | #1|-fbuiltin -falign-loops -fforward-propagade -fipa-cp // options | ||
+ | 0|30|90|1024 // build | ||
+ | 0 // test | ||
+ | $1|1334|4532 // benchmark run 1 | ||
+ | $2|1543|54354 // benchmark run 2 | ||
+ | $3|4543|44 | ||
+ | $4|1543|4565 | ||
+ | #2|-O3 // permutation 2 | ||
+ | 0|20|60|2048 // etc. | ||
+ | 0 | ||
+ | $1|13434|45532 | ||
+ | $2|56643|5436654 | ||
+ | $3|45433|4674 | ||
+ | $4|154563|455465</pre> | ||
+ | |||
+ | == GitHub Repository == | ||
+ | |||
+ | Here's the link to the Github repo: [https://github.com/pk400/SPO600-Build-Framework SPO600-Build-Framework] | ||
+ | |||
+ | Config file name: ./monkeys10k.config | ||
+ | |||
+ | === Instructions for Submitting a Pull Request === | ||
+ | |||
+ | # Create a Github account. | ||
+ | # Navigate to the project repo by the link above. | ||
+ | # In the top right of the page make sure that you are "Watching" the repo: https://i.gyazo.com/f887e6199af0f73453556ca0e96dc2bb.png | ||
+ | # Click the Fork button. | ||
+ | # This should create a your own version of the repo. | ||
+ | # Clone the newly forked repo, by copying the "HTTPS Clone URL" on the right side of the repo page, and running the command "git clone https://github.com/pk400/SPO600-Build-Framework.git" in your Git Shell and begin adding your additions/changes. | ||
+ | # Once you have committed and pushed your changes to your own repo, submit a Pull Request, by clicking on the link on the right side of the repo page. | ||
+ | # Click New Pull Request. | ||
+ | # Click Create Pull Request, and add any comments about the pull request that you would like the Code Wranglers to know about (be descriptive about what is going on in your submission). | ||
+ | # The Code Wranglers will manage all pull requests and comment on any that might conflict with the main repo. | ||
+ | |||
+ | If you are still having trouble, GitHub's [https://help.github.com/articles/using-pull-requests/ Using pull requests] article might be helpful also. |
Latest revision as of 19:15, 23 October 2015
Contents
Who's Doing What
The driver for each piece is in bold. Please don't be confined by this list -- contribute to any section as you see fit.
- Config file format - Miguel, Andy, Shirwa
- Initial option lists for config file - James, Andy
- Config file parser - Gaurav, Miguel, Shirwa
- Permute test cases - Ramanan, Donald, Han
- Build - Yehoshua, Jayme, Nitish, Joel
- Test (Sanity Check/Successful Build Test) - Nitish, Dmytro, Ramanan
- Benchmark - Jayme, Yehoshua, Nitish
- Analysis tools/reporting - Kirill, Gaurav
- Code wrangler/git repo maintainer/QA - Joel, Jayme, James
- Inter-module API Coordination - Donald, Kirill, Dmytro
- Top-level bash script - Chris Tyler
API Specifications
config file -> name of package write to file (analys.txt) for benchmark
parse config -> one group per line, options delimited by "|" (STDOUT)
permute options -> one permutation per line (STDOUT) + ID of groups and group itself to analys.txt
build -> status code and location of start up script + build time, memory used, load of CPU (or it can be called in main) and status code to analys.txt
test -> status code + status code to analys.txt
analys.txt -> benchmark -> SQL Database
Basically, analys.txt would look like this:
Replace items in angle braces with your values
// denotes a comment
<package name - file name of the archive> #<permutation number, starting with 1>|<compiler options> // # symbol delimits a complete result set <build exit code>|<build wall clock time>|<build user + system time>|<binary size in bytes> // from build step - time is in seconds <test exit code> // from test step $<benchmark run number, start with 1>|<benchmark speed performance score>|<benchmark memory score> // from benchmark step, both are integers >= 0, higher is better // repeat above line for each benchmark run
Example:
apache2.2.31.tgz // package name #1|-fbuiltin -falign-loops -fforward-propagade -fipa-cp // options 0|30|90|1024 // build 0 // test $1|1334|4532 // benchmark run 1 $2|1543|54354 // benchmark run 2 $3|4543|44 $4|1543|4565 #2|-O3 // permutation 2 0|20|60|2048 // etc. 0 $1|13434|45532 $2|56643|5436654 $3|45433|4674 $4|154563|455465
GitHub Repository
Here's the link to the Github repo: SPO600-Build-Framework
Config file name: ./monkeys10k.config
Instructions for Submitting a Pull Request
- Create a Github account.
- Navigate to the project repo by the link above.
- In the top right of the page make sure that you are "Watching" the repo: https://i.gyazo.com/f887e6199af0f73453556ca0e96dc2bb.png
- Click the Fork button.
- This should create a your own version of the repo.
- Clone the newly forked repo, by copying the "HTTPS Clone URL" on the right side of the repo page, and running the command "git clone https://github.com/pk400/SPO600-Build-Framework.git" in your Git Shell and begin adding your additions/changes.
- Once you have committed and pushed your changes to your own repo, submit a Pull Request, by clicking on the link on the right side of the repo page.
- Click New Pull Request.
- Click Create Pull Request, and add any comments about the pull request that you would like the Code Wranglers to know about (be descriptive about what is going on in your submission).
- The Code Wranglers will manage all pull requests and comment on any that might conflict with the main repo.
If you are still having trouble, GitHub's Using pull requests article might be helpful also.