User Tools

Site Tools


development

Ongoing gem5-gpu Development

  • Join the gem5-gpu-dev email list by 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            = <reviews user ID>
repoid          = <IDs listed above>
  • 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 = /<path-to-your-gem5-gpu>/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 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 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 here, and we encourage others contributing to open-source tools to aim for these philosophies.

development.txt · Last modified: 2014/08/30 11:48 by jthestness