TWiki
>
Main Web
>
TWikiUsers
>
WilliamSeligman
>
LArSoftAtNevisSRT
(revision 32) (raw view)
Edit
Attach
---++!! !LArSoft at Nevis %TOC{title="On this page:"}% The Nevis copy of the !LArSoft installation is currently in =/a/share/westside/seligman/microboone/LArSoft=. As of 14-Nov-2013, the following Fermilab !LArSoft [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/The_SVN_Repository][releases]] are maintained at Nevis: <verbatim> development S2013.10.21 - new optical algorithms; frozen before introduction of Pandora S2013.06.25 - bug fixes for BezierTracks and SeedFinder; fixed release for MC challenge S2013.06.17 - put nutools into external package S2013.05.12 - separation of objects and algorithms S2013.04.21 - frozen before new ART release S2013.03.11 - additions for 10kT and 35kT detectors S2013.01.16 - frozen before LBNE geometry changes S2012.12.17 - frozen for MicroBooNE S2012.10.02 - switch to C++11; frozen for ArgoNeuT S2012.09.18 - improvements to event displays and many other fixes; the "hand-scan" release S2012.05.09 - improvements to reconstruction & geometry </verbatim> The list of available releases is a subset of those in the official !LArSoft repository at [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/][Fermilab]]. Requests for updates, compilations, and additional releases can be sent to =seligman= of =nevis.columbia.edu= ---+++ Where can one run !LArSoft Since all the machines on the Nevis [[Linux Cluster]] are linked together via [[automount]], the software should run on any machine on the cluster, whether or not that particular machine is owned by the Neutrino group. You do *not* have to login to =westside=. ---+++ Setting up the Environment The simplest way to initialize the variables to run !LArSoft at Nevis is to execute the following command: <verbatim> # sh-style shell, such as bash or zsh source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.sh # csh-style shell, such as tcsh source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.csh </verbatim> This will set your $PATH and $LD_LIBRARY_PATH variables to refer to the various packages [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Installing_a_local_copy_of_LArSoft_and_the_external_products][required]] by !LArSoft. After you execute this command, you can [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Using_the_Framework][develop code]] and [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Running_Jobs][run jobs]]. Note that this setup command only works properly once per login session. If you want to set things up differently (e.g., switch to a different release, turn on debug mode) then the simplest way to do it is to log out from your terminal session, log in again, and enter the new setup command. ---++++ Selecting a release The above command will set up the development version of !LArSoft. If you want to develop or revise code in !LArSoft, this is the release you want. If you just want to use !LArSoft to run jobs, generate [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/EventDisplay][event displays]], or [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Getting_started_with_an_analysis_task][analyze events]], then you probably want to use one of the frozen releases. Use the =-r= option to select a release. For example: <verbatim> source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.sh -r S2013.10.21 </verbatim> ---++++ Debugging As of Dec-2013, the default is to compile all the programs with the debugger, so you can use tools to [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Debug_your_code][debug]] your code. If you want to set this explicitly (in case the default version changes), use the =-q debug= option; e.g., <verbatim> source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.sh -q debug </verbatim> This will use program libraries compiled with the debugger option turned on. Then tools such as [[http://www.gnu.org/s/gdb/documentation/][gdb]] and [[http://valgrind.org/][valgrind]] will show line numbers and can display lines of source code. * If you're working with your own code in a test release, you'll have to re-compile it to include the debugging information in your own programs. The commands =make clean; make= should do it. * Ignore the section on !TotalView in the !LArSoft wiki [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Debug_your_code][debugging]] page; we don't have it installed at Nevis. We do have [[http://www.gnu.org/s/ddd/][ddd]] installed, but you're probably better off using the non-graphical [[http://www.nevis.columbia.edu/cgi-bin/man.sh?man=gdb][gdb]] instead. * You can run the debugger on a fixed release: <verbatim> source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.sh -q debug -r S2013.10.21 </verbatim> ---++++ Production runs If you're confident your code works, you probably want to compile your programs with compiler optimization turned on. To do this, use the =prof= qualifier; e.g., <verbatim> source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.sh -q prof </verbatim> Always do a test run of your program with =prof= before submitting a large set of batch jobs. Occasionally there are issues that show up under optimization that don't show up in the debug versions. ---++++ Make life easier You may want to put an alias to the appropriate set-up commands in your .myprofile or .mycshrc file; for example, if you look in ~seligman/.myprofile, you'll see the following: <verbatim> export MYDEV=/a/share/westside/seligman/microboone/mydev alias MBD="source /a/share/westside/seligman/microboone/LArSoft/setup/setup_larsoft_nevis.sh; srt_setup SRT_LOCAL=\${MYDEV}; cd \${MYDEV}" </verbatim> =${MYDEV}= is the test-release directory WilliamSeligman created as described near the end of the [[https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/wiki/Editing_Code][editing code]] page; you would use a directory of your own instead. ---+++ The !MicroBooNE repository There's a copy of the [[https://cdcvs.fnal.gov/redmine/projects/ubooneoffline/wiki][MicroBooNE offline repository]] at =/a/share/westside/seligman/microboone/ubooneoffline=. It will be kept updated with any changes to the repository at FNAL. At present (June-2013), there are no separate !LArSoft-like packages in this repository that are intended to be extensions or revisions to !LArSoft, and therefore no build scripts. Therefore, I'm not building and updating libraries in the same way I do the Nevis !LArSoft repository. The [[https://cdcvs.fnal.gov/redmine/projects/ubooneoffline/wiki/Overview_of_MicroBooNE_UPS_Products][MicroBooNE UPS products]] (e.g., the ability to type =setup ubtools=) has not been implemented at Nevis yet, in part because the !MicroBooNE UPS products are very FNAL-specific. ---+++ Nevis notes When you set up !LArSoft, the Nevis-specific [[setup]] command is disabled. The !LArSoft software distribution contains its own copies of [[http://root.cern.ch][ROOT]] and [[http://geant4.web.cern.ch/geant4/][Geant4]], so there's no need to set-up the Nevis versions. In fact, to make sure the Nevis versions don't conflict with the !LArSoft versions, make sure there are no =setup= commands in any of your [[shell]] initialization files like =~/.myprofile=, especially if you're switching to !LArSoft from some other project or from working on the [[http://www.nevis.columbia.edu/~seligman/root-class/][ROOT tutorial]]. The !LArSoft environment also affects some standard Linux features, such as the default rules for [[http://www.nevis.columbia.edu/cgi-bin/man.sh?man=make][make]] and the [[http://www.nevis.columbia.edu/cgi-bin/man.sh?man=yum][yum]] command. If you are doing any work that does not involve !LArSoft directly, you're advised _not_ to set up the !LArSoft environment as described above. </verbatim>
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r35
<
r34
<
r33
<
r32
<
r31
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r32 - 2013-12-10
-
WilliamSeligman
Main
Log In
or
Register
Main Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
ATLAS
DOE
Main
TWiki
Veritas
Copyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback