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 revisionBoth sides next revision
hpc:alpgenbuildingnotes [2014/01/09 16:04] 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 BG/P & BG/Q ===  +
- +
 For now, use the IBM compiler. That requires ''compile.mk'' For now, use the IBM compiler. That requires ''compile.mk''
 to have the following changes to have the following changes
Line 19: Line 16:
 </code> </code>
 Doing a ''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 Doing a ''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>+<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 \
Line 27: Line 24:
  
 ===For BG/Q=== ===For BG/Q===
- +---- 
-On the command line, run  +On the command line, run \\ 
-''soft add  +mpiwrapper-xl''  +''soft add  +mpiwrapper-xl'' \\ 
-and change the following in the file ''compile.mk''+and change the following in the file ''compile.mk'' \\
 <code fortran> <code fortran>
 ifeq ($(shell uname),Linux) ifeq ($(shell uname),Linux)
Line 42: Line 39:
 </code> </code>
  
-On line 182 of the file ''alplib/alpgen.f'' change +On line 182 of the file ''alplib/alpgen.f'' change \\ 
-''access='append' '' +''access='append' '' \\ 
-to +to \\ 
-''position='append' ''+''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 87: 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