User Tools

Site Tools


hpc:sherpa

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpc:sherpa [2015/09/30 18:37]
jchilders [Compiling on Vesta@ALCF]
hpc:sherpa [2017/01/17 15:21] (current)
jchilders
Line 14: Line 14:
   * The code generation step of Sherpa produces a ''makelibs'' compile script and many other ''Makefiles.in'' in the ''Process'' subdirectory that has full absolute path inside that points to the local Sherpa installation. Many of the ''configure*'' and ''automake'' files contain absolute paths to the directory in which the code generation step was executed. This causes problems if one tries to move the code generation to another system or folder.   * The code generation step of Sherpa produces a ''makelibs'' compile script and many other ''Makefiles.in'' in the ''Process'' subdirectory that has full absolute path inside that points to the local Sherpa installation. Many of the ''configure*'' and ''automake'' files contain absolute paths to the directory in which the code generation step was executed. This causes problems if one tries to move the code generation to another system or folder.
   * 200900 = W+jets, 200901 = Z+jets, 200903 = Drell-Yan, 200910 = Multi-jets   * 200900 = W+jets, 200901 = Z+jets, 200903 = Drell-Yan, 200910 = Multi-jets
- 
  
   * During a run Sherpa dlopen() calls the following libraries:   * During a run Sherpa dlopen() calls the following libraries:
Line 23: Line 22:
     * openloops/proclib/*.so     * openloops/proclib/*.so
     * libSherpaHepMcOutput.so     * libSherpaHepMcOutput.so
 +
 +  * Runtime Errors and Possible Meanings:
 +    * 'Couldn't find virtual ME for this process' -> look that it has the libSherpaOpenLoops.so and the proper openloops libraries.
 +    * 'Process not found' -> make sure Run.dat card is found, and if so, make sure Processes are defined in the card properly.
 ===== Compilation and Installation at Edison@NERSC ===== ===== Compilation and Installation at Edison@NERSC =====
  
Line 45: Line 48:
 === Compilation === === Compilation ===
  
-Unpack Sherpa tarball and enter sherpa main directory. Then comment out line 470 of the Makefile for Sherpa which has the word "Manual" on it. You can create a mostly-static or dynamic executable by using the '-static' and '--enable-static=yes', or '-dynamic' flags, respectively.+Unpack Sherpa tarball and enter sherpa main directory. After configure comment out line 470 of the Makefile for Sherpa which has the word "Manual" on it. You can create a mostly-static or dynamic executable by using the '-static' and '--enable-static=yes', or '-dynamic' flags, respectively.
 Then run: Then run:
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
-mkdir install +./configure --enable-mpi --enable-gzip --with-sqlite3=/usr --enable-hepmc2=</path/to/hepmc2> --enable-openloops=</path/to/openloops> --prefix=$PWD/install CC=cc CXX=CC FC='ftn -fPIC -funderscoring'
-./configure --enable-mpi --enable-gzip --with-sqlite3=/global/project/projectdirs/m2015/generators/sherpa/v211/sherpa-02-01-00/sqlite-autoconf-3080200/install --enable-hepmc2=/global/project/projectdirs/m2015/tools/HepMC-2.06.08/install --enable-openloops=/project/projectdirs/m2015/olo/mpi CC=cc CXX=CC FC='ftn -fPIC -funderscoring' LDFLAGS=-dynamic --prefix=$PWD/install+
 make -j 10 make -j 10
 make install make install
Line 167: Line 169:
 export PATH=$PATH:$PWD/install/bin export PATH=$PATH:$PWD/install/bin
 </code> </code>
 +===== Compiling on Mira/Cetus@ALCF =====
 +
 +  * <WRAP prewrap> <code bash>soft add +mpiwrapper-gcc
 +soft add +bgqtoolchain-gcc484
 +soft add +python-2.7
 +svn export svn+ssh://atlas1.hep.anl.gov/users/svn/hpc/generators/sherpa/v220/dev/tags/01-00-00 01-00-00
 +cd 01-00-00
 +./configure --enable-mpi --with-pic --enable-gzip=/soft/libraries/alcf/current/gcc/ZLIB --enable-openloops=</path/to/openloops> --with-sqlite3=install --enable-hepmc2=</path/to/hepmc2> --host=powerpc64-bgq-linux CC=mpicc CFLAGS=-g CPPFLAGS=-g CXXFLAGS=-g MPICXX=mpicxx CXX=mpicxx FC='mpif90 -fPIC -funderscoring' FCFLAGS=-g LDFLAGS=-dynamic --prefix=$PWD/install
 +# build and install sqlite3
 +# rerun configure with: --with-sqlite3=</path/to/sqlite3>
 +make -j 20 install</code></WRAP>
 +  * Hopefully, now everything is working.
 +  * You may need to copy the HepMC and sqlite3 libraries to the installed sherpa library directory.
 +  * I have run into these problems in the past:
 +    * <WRAP prewrap> <code make> /projects/EnergyFEC/anl/generators/sherpa/v220/rel-2-2-0_anl/SHERPA/PerturbativePhysics/.libs/libSherpaPerturbativePhysics.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'
 +/projects/EnergyFEC/anl/generators/sherpa/v220/rel-2-2-0_anl/SHERPA/PerturbativePhysics/.libs/libSherpaPerturbativePhysics.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()'
 +/projects/EnergyFEC/anl/generators/sherpa/v220/rel-2-2-0_anl/SHERPA/PerturbativePhysics/.libs/libSherpaPerturbativePhysics.so: undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)'
 +/projects/EnergyFEC/anl/generators/sherpa/v220/rel-2-2-0_anl/AHADIC++/Formation/.libs/libAhadicFormation.so: undefined reference to `std::__detail::_List_node_base::_M_reverse()' </code> </WRAP>
 +
 ===== Compiling on Vesta@ALCF ===== ===== Compiling on Vesta@ALCF =====
  
Line 415: Line 436:
 === Job Options for converting === === Job Options for converting ===
 ===== Installing OpenLoops ===== ===== Installing OpenLoops =====
-  - Setup:+ 
 + 
 +On Edison@NERSC: 
 +<code bash>module unload altd 
 +module unload darshan 
 +module unload PrgEnv-intel 
 +module load PrgEnv-gnu 
 +module unload cray-shmem 
 +module load scons 
 +module load mercurial 
 +module load cmake 
 +module load boost 
 +module load gsl 
 +./scons -j 10 
 +./scons auto=all/ -j 15</code> 
 + 
 +On Mira/Cetus@ALCF: 
 +  * <code bash>soft add +bgqtoolchain-gcc484 
 +soft add +mpiwrapper-gcc 
 +soft add +python2.7.9</code> 
 +  * Checkout from ATLAS: <code bash> svn co --username atlas https://openloops.hepforge.org/svn/OpenLoops/branches/public_collier atlas_ol</code> 
 +    * ''pmg4711'' 
 +  * <code bash>cd atlas_ol</code> 
 +  * Make these changes:<code diff>Index: pyol/config/default.cfg 
 +=================================================================== 
 +--- pyol/config/default.cfg (revision 1831) 
 ++++ pyol/config/default.cfg (working copy) 
 +@@ -8,8 +8,8 @@ 
 + 
 + [OpenLoops] 
 + 
 +-supported_compilers = gfortran ifort 
 +-fortran_compiler = gfortran 
 ++supported_compilers = gfortran ifort mpif90 
 ++fortran_compiler = mpif90 
 + fortran_tool = auto 
 + cc = gcc 
 + cxx = g++ 
 +Index: lib_src/olcommon/src/kind_types.F90 
 +=================================================================== 
 +--- lib_src/olcommon/src/kind_types.F90 (revision 1831) 
 ++++ lib_src/olcommon/src/kind_types.F90 (working copy) 
 +@@ -18,6 +18,7 @@ 
 + 
 + 
 + module kind_types 
 ++  use ISO_FORTRAN_ENV 
 +   implicit none 
 + 
 +   integer, parameter :: intkind1 = selected_int_kind(2) 
 +@@ -35,7 +36,8 @@ 
 +   complex(ep), parameter :: cI_ep = (0._ep, 1._ep) 
 + #endif 
 + ! #ifdef USE_qp 
 +-  integer, parameter :: qp = selected_real_kind(33) 
 ++!  integer, parameter :: qp = selected_real_kind(33) 
 ++  integer, parameter :: qp = REAL128 
 +   complex(qp), parameter :: cI_qp = (0._qp, 1._qp) 
 + ! #endif 
 + 
 +Index: lib_src/openloops/src/ol_interface.F90 
 +=================================================================== 
 +--- lib_src/openloops/src/ol_interface.F90 (revision 1831) 
 ++++ lib_src/openloops/src/ol_interface.F90 (working copy) 
 +@@ -1108,7 +1108,7 @@ 
 +       if (index(trim(infofilename),"."//trim(info_file_suffix)) == 0) then 
 +         cycle 
 +       else 
 +-        infofilename = trim(install_path) // "/proclib/" // trim(infofilename) 
 ++        infofilename = trim(install_path) // "/proclib/" // infofilename(2:len(infofilename)) 
 +       end if 
 + 
 +       inquire(gf_info, opened=iqopen) 
 +</code> 
 +  * To build: <code bash>./scons -j 20 </code> 
 +  * To download and build all processes: <code bash>./scons proc=all/ -j 20</code> 
 + 
 + 
 + 
 +Setup:
     * On Tukey only <code bash>soft add +gcc-4.8.1</code>     * On Tukey only <code bash>soft add +gcc-4.8.1</code>
     * On SLC6 machine: scons needs gcc-4.6+ so use ATLAS compiler:     * On SLC6 machine: scons needs gcc-4.6+ so use ATLAS compiler:
hpc/sherpa.1443638254.txt.gz · Last modified: 2015/09/30 18:37 by jchilders