===== Ongoing gem5-gpu Development =====
* 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
===== 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.
* Here is the code review site: [[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).
* Our review and commit process is very similar to gem5 ([[http://gem5.org/Commit_Access]])
* 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
* First, you’ll need to configure Mercurial to point to appropriate repo IDs for submitting patches to gem5-patches, gpgpu-sim-patches and gem5-gpu repos. Add the following Reviewboard configuration to the listed Mercurial config files:
* gem5-gpu/gem5/.hg/hgrc (repoid = 6)
* gem5-gpu/gpgpu-sim/.hg/hgrc (repoid = 7)
* gem5-gpu/gem5-gpu/.hg/hgrc (repoid = 8)
[reviewboard]
server = https://multifacet-reviews.cs.wisc.edu/
user =
repoid =
* 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:
# The following lines must be added to your gem5-gpu/.hg/hgrc
# to provide the gem5 style-checking hooks
[extensions]
style = //gem5/util/style.py
[hooks]
pretxncommit.style = python:style.check_style
pre-qrefresh.style = python:style.check_style
**NOTE: If you setup GPGPU-Sim from the public git server instead of pulling from our repositories, you will not be able to submit review requests to our GPGPU-Sim patches repository**
* 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 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]].
* 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: 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:
* 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 also have internal tools for regressing and controlling gem5-gpu. Please contact us if you are interested in these tools
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.