===== 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) <code> [reviewboard] server = https://multifacet-reviews.cs.wisc.edu/ user = <reviews user ID> 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> **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.