Differences

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

wiki:reproguide [2014/05/07 16:01]
yang
wiki:reproguide [2015/05/27 02:06] (current)
Line 2: Line 2:
==== recent updates ==== ==== recent updates ====
-**Start from sep150, we introduced an independent test account 'rep' on SEP-owned servers, this account has all basic environment settings. In addition to testing with your own account, you must test your report using 'rep' account (following the guideline and items in the scoresheet) before you notify me for testing. This will greatly reduce my burden and make you appreciate my efforts a little more :) Unfortunately, due to the university's IT security regulation CEES computers, we cannot adopt this practice on CEES environment.**+**Start from sep150, we introduced an independent test account 'rep' on SEP-owned servers, this account has all basic environment settings. In addition to testing with your own account, you must test your report using 'rep' account (following the guideline and items in the scoresheet) before you notify me for testing. This will greatly reduce my burden and make you appreciate my efforts a little more :) Unfortunately, due to the university's IT security regulation on CEES computers, we cannot adopt this practice on CEES environment.**
==== Requirement for repro test ==== ==== Requirement for repro test ====
Line 37: Line 37:
==== makefile format ==== ==== makefile format ====
-It is not rare that your makefile will have dozens of entries. We are not able to check all of these. Therefore, we require the makefile to have several common targets, i.e+It is not rare that your makefile will have dozens of entries. We are not able to check all of these. Therefore, we require the makefile to have several common targets, i.e (The exact forms might be different, but nonetheless it should be self-explanatory otherwise, your need to provide instructions to make it easy to follow)
1. make burn;      burn all the figures in the paper. 1. make burn;      burn all the figures in the paper.
Line 43: Line 43:
2. make clean;     burn all figures, and also clean the executables and the intermediate result file (.H). 2. make clean;     burn all figures, and also clean the executables and the intermediate result file (.H).
-3. make NR;       build NR figures; (this could be a simple copy from a backup folder).+3. make EXE;      build all executables used for this report
-4. make ER;        build ER figures+4. make NR;        build NR figures; (this could be a simple copy from a backup folder).
-5. make CR;        build CR figures+5. make ER;        build ER figures
-Again, you can back up your figures to a separate folder, but it is not OK to just copy them back to directory Fig in those figures making rules.+6. make CR;        build CR figures 
 + 
 +Again, you can back up your figures to a separate folder, but it is not OK to just copy them back to directory Fig in those figures-making rules
 + 
 +==== Reproducibility file organization on CEES computers ===== 
 + 
 +People using CEES computers for their computation usually involves PBS and python scripts, etc. Putting the entire workflow into a makefile is sometimes a difficult task. Nonetheless, you can still organize your reproducibility workflow around the Makefile, and the criterion for the reproducibility does not change, i.e. the code should compile, the ER flow is present and can be generated successfully by a tester, the CR flow is present. 
 + 
 +So In the makefile, you should still have complete flows for each figure in your paper. If computing a figure involves running a script, you should record the cmd the runs the script in the makefile. You can add some comments for better readability as well.
==== FAQs ==== ==== FAQs ====
Line 68: Line 76:
SEP reports not by the authors or from non-SEP publications. SEP reports not by the authors or from non-SEP publications.
-Please refer to the up-to-date instructions @ +Please refer to the up-to-date instructions at  
-// vostok:/net/server/wrk/sep147/Adm/preface.tex // +**vostok:/wrk/sep1xx/Adm/preface.tex**
-for the most updated details.+
//2. Do I need to include all the .H files I used in the figures in the local directory?// //2. Do I need to include all the .H files I used in the figures in the local directory?//
Line 79: Line 86:
Use the '-n' option in Make. This option allows the user to see all the commands that GNUmake would execute for this target, but without actually executing them. For example, to test target.H, enter '' make -n target.H'' rather than ''make target.H''. The terminal will display the commands that would be run as well as report any mistakes you may have made, such as a filename typo in the dependency list. Use the '-n' option in Make. This option allows the user to see all the commands that GNUmake would execute for this target, but without actually executing them. For example, to test target.H, enter '' make -n target.H'' rather than ''make target.H''. The terminal will display the commands that would be run as well as report any mistakes you may have made, such as a filename typo in the dependency list.
 +
 +
 +==== Common Dos and Don'ts ====
 +//1. Unless intended, DO NOT set the permission of any of your files to be "r w x - - - - - - ", this would block anybody else's access. //
 +
==== Tips ==== ==== Tips ====
1. put a dash '-' at the beginning of the command, if you want Make to ignore the encountered error and continue the flow. 1. put a dash '-' at the beginning of the command, if you want Make to ignore the encountered error and continue the flow.
-For eg. (remove the double quotes below)+For eg. (remove the double quotes below):\\
 +<code>
buildx: buildx:
    "-" mkdir bin     "-" mkdir bin
    make bin/exe.x     make bin/exe.x
-  +</code> 
 + 
 +2. Use make '-t' option to tell gmake that certain target with all its dependencies are up-to-date, thus prevent gmake from regenerating them by accident. Reversely, use make '-B' to force gmake to rebuild certain target from scratch. 
 + 
 +3. One suggested practice is to put the file names of your reproducibility figures as the dependencies for the 'ER' and 'CR' target. i.e. : \\ 
 +<code> 
 +ER: $R/fig1.pdf $R/fig2.pdf 
 +</code> 
 +is much better than:\\ 
 +<code> 
 +ER: 
 +  make $R/fig1.pdf  
 +  make $R/fig2.pdf 
 +</code> 
 +Because in the latter case, GMake is able to check the dependencies tree for each figure. 
/web/html/data/attic/wiki/reproguide.1399478488.txt.gz · Last modified: 2015/05/26 22:41 (external edit)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0