Computing
From Electron Ion Collider
The BNL EIC group has its own computer cluster dedicated to simulation and analysis.
Contents |
Obtaining access
If you don't have a RHIC Computing Facility (RCF) computing account (e.g. as part of the STAR of PHENIX experiments), it is possible to work on the EIC project at BNL by requesting an EIC account. Please also email Elke Aschenauer when submitting the request form so that she can approve the account creation. If you already possess an RCF account, you can gain access to EIC resources by sending a request to Elke.
Computing resources
There are six dedicated nodes for EIC use: eic000#.rcf.bnl.gov, where # is 1, 2, 3, 4, 7 and 8. These nodes should be used solely for EIC work. After logging into the RCF gateway machine rssh.rhic.bnl.gov, select a node by
ssh <username>@eic000#
where #
is the node number.
eic0004 is reserved for interactive use and brief test jobs.
Long jobs (such as Monte Carlo generators and detector simulations) should be run on one of the other nodes.
The EIC nodes are not currently part of a queue system (such as condor).
EIC disk space is divided into: user areas (under /eic/u) data areas (under /eic/data and /eicdata) and AFS (/afs/rhic.bnl.gov/eic). When your EIC account is created, you will be given an EIC user area and an EIC AFS area
/eic/u/<username> /afs/rhic.bnl.gov/eic/users/<username>
User areas should not be used to store large quantities of data, which should instead be placed under one of the EIC data areas, either
/eic/data
or
/eicdata/<node name>
where <node name> is the name of one of the nodes listed above (e.g. eic0001). Your account gives you permission to create directories and files on any of these areas.
AFS
The EIC AFS region collects all shared analysis tools, such as Monte Carlo generators, detector simulations and common analysis scripts. For most users, the most useful directories under the EIC AFS region will be PACKAGES and MACROS.
/afs/rhic.bnl.gov/eic/PACKAGES
collects links to installations of the various EIC simulation and analysis programmes. Please see the simulations page for details of the Monte Carlo generators present there. Space under AFS is limited, so please do not run any of these programmes from your AFS area - use one of the data disks.
/afs/rhic.bnl.gov/eic/MACROS
collects various commonly used analysis scripts (typically for use with ROOT), most of which pertain to the output from the aforementioned Monte Carlo generators.
Configuring the environment
To simplify running EIC packages, it is recommended that you configure your computing environment appropriately. The version of EIC code that is used is specified by the EIC_LEVEL environment variable. Select "pro" for the current ("production") version, "old" for the previous version, "new" for a newer test version or "dev" for the latest development version (which is not guaranteed to work).
EIC logon
Most of the configuration needed to run EIC packages is provided in the script
/afs/rhic.bnl.gov/eic/etc/eic_cshrc
It is probably simplest to add the following in a startup file (e.g. .cshrc).
source /afs/rhic.bnl.gov/eic/etc/eic_cshrc
Running this script will ensure use of the correct EIC installations of, amongst others, ROOT, Python, FLUKA, Boost and LHAPDF. The EIC_LEVEL should be set before sourcing this script.
Multiple accounts
Many users will use RCF for computing tasks other than EIC (e.g. PHENIX, STAR), and may want to perform different logon tasks for each. One possible solution is to only set the EIC environment when logging onto an EIC node (eic####). This can be achieved in your startup script by via (for (t)csh):
if( "eic" == `echo $HOST | sed 's/\([a-z]*\).*/\1/'` ) then source /afs/rhic.bnl.gov/eic/etc/eic_cshrc else <do your non-EIC logon> endif
The EIC logon will then only performed when logging into a node named eic####.rcf.bnl.gov.
ROOT
The EIC group performs most of its analysis using ROOT, and maintains its own installation, documented here. All EIC ROOT code is compiled and tested against this version of ROOT, so it is recommended that this is the version used whenever using EIC ROOT libraries or sripts. This version is automatically used (via setting the environment variable ROOTSYS) if the environment is configured by eic_cshrc.
Users may find it useful to run the script
/afs/rhic.bnl.gov/eic/CODE/etc/rootlogon_eic.C
when starting the EIC installation of ROOT. This script loads some commonly used libraries, and adds some EIC directories to the ROOT include path, simplifying compiling of analysis scripts. To load it automatically, create a file named .rootrc in your home directory and add the line
Rint.Logon /afs/rhic.bnl.gov/eic/CODE/etc/rootlogon_eic.C
If you already run a ROOT logon script and wish to incorporate the EIC logon script when on an EIC machine, you could for example add the following to your existing script:
if(TString(gSystem->Getenv("HOST")).BeginsWith("eic")) { gROOT->Macro( "/afs/rhic.bnl.gov/eic/CODE/etc/rootlogon_eic.C" ); }
Python
The EIC packages directory contains its own installation of Python. It is this version against which other EIC programmes are installed, so it is important to use this version whenever using other EIC programmes. eic_cshrc sets the environment variable PYTHONPATH to use this version. It also sets PYTHONSTARTUP to
/afs/rhic.bnl.gov/eic/etc/eicstartup.py.
This startup script loads the ROOT Python library (PyROOT) and the EIC libraries into Python automatically. This allows EIC ROOT analyses to be performed in Python rather than CINT. If the user instead employs their own Python startup script, PYTHONSTARTUP should be set in their logon script after sourcing eic_cshrc.