This is an old revision of the document!
Ongoing gem5-gpu Development
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.
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
style = /<path-to-your-gem5-gpu>/gem5/util/style.py
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.
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.
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
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.