====== Differences ====== This shows you the differences between two versions of the page.
development [2014/03/30 15:04] powerjg Add link to reviewboard guidelins |
development [2014/08/30 11:48] (current) jthestness [Ongoing gem5-gpu Development] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Ongoing gem5-gpu Development ===== | ===== Ongoing gem5-gpu Development ===== | ||
- | * Join the gem5-gpu-dev email list by [[https://groups.google.com/forum/?fromgroups#!forum/gem5-gpu-dev|requesting access here]] | + | * Join the gem5-gpu-dev email list by [[https://groups.google.com/forum/#!forum/gem5-gpu-dev/join|requesting access here]] |
* If you would like to contribute to gem5-gpu, please email this list | * If you would like to contribute to gem5-gpu, please email this list | ||
+ | ===== Contribute to gem5-gpu Development ===== | ||
- | + | Our code review process is set up! The info below describes the processes for contribution. Please inquire with us if you would like to contribute. | |
- | When our code review and contribution are setup, the below describes the processes for contribution. Inquire with us if you would like to contribute. | + | * Here is the code review site: [[http://multifacet-reviews.cs.wisc.edu/]] |
- | * To encourage ongoing gem5-gpu development, we plan to host a code review site at [[http://multifacet-reviews.cs.wisc.edu/]] | + | * You will need “reviews user ID” to post review requests. You can request one by emailing Jason (powerjg AT cs.wisc.edu). |
- | * You will need “reviews user ID” to post review requests | + | * Our review and commit process is very similar to gem5 ([[http://gem5.org/Commit_Access]]) |
- | * We plan to use a review and commit process very similar to gem5 ([[http://gem5.org/Commit_Access]]) | + | |
* Setup: | * Setup: | ||
* Since gem5-gpu spans 3 separate codebases (gem5, GPGPU-Sim, and gem5-gpu), there are 3 separate repositories to which you will need to submit code reviews | * Since gem5-gpu spans 3 separate codebases (gem5, GPGPU-Sim, and gem5-gpu), there are 3 separate repositories to which you will need to submit code reviews | ||
Line 16: | Line 16: | ||
* gem5-gpu/gpgpu-sim/.hg/hgrc (repoid = 7) | * gem5-gpu/gpgpu-sim/.hg/hgrc (repoid = 7) | ||
* gem5-gpu/gem5-gpu/.hg/hgrc (repoid = 8) | * gem5-gpu/gem5-gpu/.hg/hgrc (repoid = 8) | ||
- | |||
<code> | <code> | ||
Line 23: | Line 22: | ||
user = <reviews user ID> | user = <reviews user ID> | ||
repoid = <IDs listed above> | repoid = <IDs listed above> | ||
+ | </code> | ||
+ | |||
+ | * Second, you’ll need to configure the gem5-gpu repository to run the code style checker from gem5. Add the following lines to your gem5-gpu/gem5-gpu/.hg/hgrc file, and add the gem5 style checker path as appropriate: | ||
+ | |||
+ | <code> | ||
+ | # The following lines must be added to your gem5-gpu/.hg/hgrc | ||
+ | # to provide the gem5 style-checking hooks | ||
+ | [extensions] | ||
+ | style = /<path-to-your-gem5-gpu>/gem5/util/style.py | ||
+ | |||
+ | [hooks] | ||
+ | pretxncommit.style = python:style.check_style | ||
+ | pre-qrefresh.style = python:style.check_style | ||
</code> | </code> | ||
Line 28: | Line 40: | ||
* To submit a code review to gem5 or GPGPU-Sim, create a new patch at the tip of the patch queue containing your changes. Use hg postreview -o in either the gem5 or GPGPU-Sim repository (NOT the patch repository) to submit this patch for review. Checking in this code will require that you push a patch to the appropriate patch queue rather than to the gem5 or GPGPU-Sim repositories. This process may require merging your patch with prior patches in the queue | * To submit a code review to gem5 or GPGPU-Sim, create a new patch at the tip of the patch queue containing your changes. Use hg postreview -o in either the gem5 or GPGPU-Sim repository (NOT the patch repository) to submit this patch for review. Checking in this code will require that you push a patch to the appropriate patch queue rather than to the gem5 or GPGPU-Sim repositories. This process may require merging your patch with prior patches in the queue | ||
- | * To submit a code review to gem5-gpu, simply create a patch using Mercurial queues and submit it using hg postreview -o. To check in this patch, use hg qfinish to commit the patch to your local repository, and then use hg push to check the code into the mainline repository | + | * To submit a code review to gem5-gpu, simply create a patch using Mercurial queues and submit it using hg postreview -o when it is at the tip of your pushed patches queue. |
* Guidelines for our review process can be found on the [[reviewboard_guidelines|guidelines page]]. | * Guidelines for our review process can be found on the [[reviewboard_guidelines|guidelines page]]. | ||
+ | * Until further notice, patches will be checked in to the public code bases by core contributors to gem5-gpu (Jason or Joel). If you have completed the review process with a patch and would like it pushed, please send a request to the email list. | ||
- | **NOTE: Publishing changesets is currently only supported with UW CS credentials, but details for pushing to the mainline repository will be updated as secure, open publishing becomes available.** | + | **NOTE: While publishing changesets is currently only supported with UW CS credentials, but if the review process picks up pace, we plan to set up open changeset publishing.** |
* Regression tests: | * Regression tests: | ||
* We have set up gem5-gpu regression tests using gem5's regressions infrastructure, and these tests need to be passed in order to check in new changes. Here are instructions for [[regressions|running and updating regressions]]. | * We have set up gem5-gpu regression tests using gem5's regressions infrastructure, and these tests need to be passed in order to check in new changes. Here are instructions for [[regressions|running and updating regressions]]. | ||
- | * We have internal tools for regressing and controlling gem5-gpu. Please contact us if you are interested in these tools | + | * We also have internal tools for regressing and controlling gem5-gpu. Please contact us if you are interested in these tools |
- | We strive to achieve the development philosophies listed [[devphilosophies|here]], and we encourage others contributing to open-source tools to aim for these philosophies. | + | Overall, we strive for this process to achieve the development philosophies listed [[devphilosophies|here]], and we encourage others contributing to open-source tools to aim for these philosophies. |