User Tools

Site Tools


hpc:alpgenbuildingnotes

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
hpc:alpgenbuildingnotes [2014/01/09 16:01] jchildershpc:alpgenbuildingnotes [2014/01/09 16:17] – old revision restored (2014/01/09 10:01) jchilders
Line 1: Line 1:
 ===== Building ALPGEN ===== ===== Building ALPGEN =====
  
- +=== For BG/P ===  
-==== Compile and Fix Asinh Bug ==== +----  
------ +For now, use the IBM compiler. That requires ''compile.mk''
-=== For BG/P & BG/Q ===  +
-  +
-For now, use the IBM compiler. That requires <html><span style="color:red">''compile.mk''</span></html>+
 to have the following changes to have the following changes
 <code fortran> <code fortran>
Line 18: Line 15:
 endif endif
 </code> </code>
-After  +Doing ''make gen'' or ''make gen90'' will fail at the linking stage because it must be linked with the MPI linker''mpixlf77''. One needs to do 
-<code>make gen</code> +<code bash>
-or +
-<code>make gen90</code> +
-failsone needs to do the following: +
-<code>+
 mpixlf77  -o wqqgen ./wqqusr.o ../wqqlib/wqq.o \ mpixlf77  -o wqqgen ./wqqusr.o ../wqqlib/wqq.o \
 ../alplib/alpgen.o ../alplib/alputi.o ../alplib/alppdf.o \ ../alplib/alpgen.o ../alplib/alputi.o ../alplib/alppdf.o \
Line 29: Line 22:
 </code> </code>
 (or similar) to pass the linking phase. (or similar) to pass the linking phase.
- 
  
 ===For BG/Q=== ===For BG/Q===
- +---- 
-Run on the command line: +On the command line, run \\ 
-<code>soft add  +mpiwrapper-xl</code> +''soft add  +mpiwrapper-xl'' \\ 
-and change +and change the following in the file ''compile.mk'' \\
-<code>compile.mk</code> +
-to+
 <code fortran> <code fortran>
 ifeq ($(shell uname),Linux) ifeq ($(shell uname),Linux)
Line 48: Line 38:
 endif endif
 </code> </code>
 +
 On line 182 of the file ''alplib/alpgen.f'' change \\ On line 182 of the file ''alplib/alpgen.f'' change \\
-''access='append' '' to ''position='append' ''+''access='append' '' \\ 
 +to \\ 
 +''position='append' '' \\
  
-There's no getting around the bug by switching compilers on the Q. +Now, Alpgen creates its own ''asinh()'' function. Alternating versions of Fortran have an asinh() function or does not have it. The version installed on the BGP does not have it, so there is no conflictHowever, the BGQ version has the ''asinh()'' defined so we need to replace every mention of ''asinh()'' in Alpgen to some unique nameIn this case, we chose ''argsignh()''Use this command: 
-Replace asinh with argsinh whenever it appears: +<code bash>
-  - alpgen.+
-  - zjet.+
-can use this command:+
 find . -exec grep -l "asinh" {} \; | xargs -I GGGG sh -c 'sed "s/asinh/argsinh/g" GGGG > GGGG.tmp; mv GGGG.tmp GGGG' find . -exec grep -l "asinh" {} \; | xargs -I GGGG sh -c 'sed "s/asinh/argsinh/g" GGGG > GGGG.tmp; mv GGGG.tmp GGGG'
 +</code>
  
-ran into error: +You will get error: \\ 
-ld: -f may not be used without -shared +''ld: -f may not be used without -shared'' \\ 
-to fix it one needs to do the following: +to fix it one needs to do the following: \\ 
 +<code bash>
 mpixlf77  -o wqqgen ./wqqusr.o ../wqqlib/wqq.o \ mpixlf77  -o wqqgen ./wqqusr.o ../wqqlib/wqq.o \
 ../alplib/alpgen.o ../alplib/alputi.o ../alplib/alppdf.o \ ../alplib/alpgen.o ../alplib/alputi.o ../alplib/alppdf.o \
 ../alplib/Acp.o ../alplib/Asu3.o ../alplib/Aint.o ../alplib/Acp.o ../alplib/Asu3.o ../alplib/Aint.o
 +</code>
 (or similar) to pass the linking phase. (or similar) to pass the linking phase.
  
- +=== Carver === 
-Carver:  +---- 
-Change compile.mk to have the following changes: +Change ''compile.mk'' to have the following changes: 
 +<code make>
 module swap pgi gcc module swap pgi gcc
 module swap openmpi openmpi-gcc module swap openmpi openmpi-gcc
 +</code>
 Then everything is fine. Then everything is fine.
  
-Hopper: +=== Hopper === 
- +----
-module swap PrgEnv-pgi PrgEnv-gnu+
  
-That requires compile.mk to have the following changes 
  
 +module swap PrgEnv-pgi PrgEnv-gnu \\
 +That requires ''compile.mk'' to have the following changes
 +<code make>
 ifeq ($(shell uname),Linux) ifeq ($(shell uname),Linux)
 #  FFF = gfortran -fno-automatic #  FFF = gfortran -fno-automatic
Line 91: Line 83:
 #        -ffast-math #        -ffast-math
 endif endif
 +</code>
  
- +=== Edison === 
-Edison+----
  
 module swap PrgEnv-intel PrgEnv-gnu module swap PrgEnv-intel PrgEnv-gnu
hpc/alpgenbuildingnotes.txt · Last modified: 2014/03/24 13:08 by jchilders