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/06 01:09]
morr created
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/#!forum/gem5-gpu-dev/join|requesting access here]] 
 +  * If you would like to contribute to gem5-gpu, please email this list 
  
-    Join the gem5-gpu-dev email list by requesting access here 
-    To encourage ongoing gem5-gpu development, we are hosting a code review site at http://multifacet-reviews.cs.wisc.edu/ 
-        To gain access to the reviews site, please first request access to our email list above, and then send email to ***Marc?*** for approval to create a reviews account. You will need “reviews user ID” below. 
-        We plan to use a review and commit process 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) 
  
 +===== 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] [reviewboard]
 server          = https://multifacet-reviews.cs.wisc.edu/ server          = https://multifacet-reviews.cs.wisc.edu/
 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>
 +
 +**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**
  
-**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.
  
-            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. +**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.**
-            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 patch, use hg qfinish to commit the patch to your local repository, and then use hg push to check the code into the mainline repository. +
-            NOTE: Publishing changesets is currently only supported with UW CS credentials, but details for pushing to the mainline repository will be updated as secureopen publishing becomes available. +
-    Simulation control and regression: +
-        We have setup a simple tool for organizing, running and regressing simulations. We 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!” will be applied.+
  
-The repo for the control tool can be cloned as follows:+    * 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]].
  
-            cd /path/to/gem5-gpu +      * We also have internal tools for regressing and controlling gem5-gpu. Please contact us if you are interested in these tools
-            hg clone <<gem5-gpu/pub>>/regressions+
  
-The script that controls simulation runs is regressions/regress.py+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.1360134588.txt.gz · Last modified: 2013/02/06 01:09 by morr