User Tools

Site Tools


development

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

development [2013/02/08 16:05]
jthestness
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. 
-The following process will be followed  +  * Here is the code review site[[http://multifacet-reviews.cs.wisc.edu/]] 
-  * To encourage ongoing gem5-gpu development, we are hosting 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” below +    * 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 patchuse 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]]. 
 +      * Until further noticepatches 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.**
  
-**NOTE: Publishing changesets is currently only supported with UW CS credentialsbut details for pushing to the mainline repository will be updated as secure, open publishing becomes available.**+    Regression tests: 
 +      We have set up gem5-gpu regression tests using gem5's regressions infrastructureand these tests need to be passed in order to check in new changes. Here are instructions for [[regressions|running and updating regressions]].
  
-    * Simulation control and regression: +      * We also have internal tools for regressing and controlling gem5-gpuPlease contact us if you are interested in these tools
-      * We have setup a simple tool for organizing, running and regressing simulationsWe can make this tool available assuming there is demand for it, but the gem5 regressions structure is being updated in their public release, and we would like to wait on these updates before releasing a structured set of regressions. In the meantime, patches submitted for review will be applied and regressed internally at UW before a “Ship it!” changeet will be applied+
  
-      * We 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.
development.1360361152.txt.gz · Last modified: 2013/02/08 16:05 by jthestness