Why compile?
hpcc
hpcc: error while loading shared libraries: libatlas.so.3gf: cannot open shared object file: No such file or directoryDoing
aptitude show hpcc
Depends: libatlas3gf-base, libc6 (>= 2.7), libopenmpi1.3, mpi-default-binapt-cache search libatlas.so.3gf
libatlas3-base - Automatically Tuned Linear Algebra Software, generic shared
libatlas3gf-base - Transitional package to libatlas3-base
and doing
 aptitude search atlas|grep ^i
i libatlas-dev - Automatically Tuned Linear Algebra Softwarbut
i A libatlas3gf-base - Transitional package to libatlas3-base
locate libatlas.so.3gf
comes up empty.
So build your own:
sudo mkdir /opt/hpcc
sudo chown $USER /opt/hpcc
cd /opt/hpcc
wget http://ftp.de.debian.org/debian/pool/main/h/hpcc/hpcc_1.4.1.orig.tar.gz
tar xvf hpcc_1.4.1.orig.tar.gz
cd hpcc-1.4.1/
wget http://ftp.de.debian.org/debian/pool/main/h/hpcc/hpcc_1.4.1-2.debian.tar.gz
tar xvf hpcc_1.4.1-2.debian.tar.gz
patch -i debian/patches/add-Make.Debian.patch
Edit Make.Debian. For some reason LAdir is ignored, hence the -L option in LAlib
78 # ---------------------------------------------------------------------- 79 # - MPI directories - library ------------------------------------------ 80 # ---------------------------------------------------------------------- 81 # MPinc tells the C compiler where to find the Message Passing library 82 # header files, MPlib is defined to be the name of the library to be 83 # used. The variable MPdir is only used for defining MPinc and MPlib. 84 # 85 MPdir =/usr/lib/openmpi/lib/ 86 MPinc = 87 MPlib =-lmpi 88 # 89 # ---------------------------------------------------------------------- 90 # - Linear Algebra library (BLAS or VSIPL) ----------------------------- 91 # ---------------------------------------------------------------------- 92 # LAinc tells the C compiler where to find the Linear Algebra library 93 # header files, LAlib is defined to be the name of the library to be 94 # used. The variable LAdir is only used for defining LAinc and LAlib. 95 # 96 LAdir = /opt/ATLAS/lib 97 LAinc = 98 LAlib = -L/opt/ATLAS/lib -ltatlas 99 #
The above assumes that you've compiled your own openblas as shown elsewhere on this blog. You can use whatever math libs you want. Again, there are a couple described on this blog (acml, netlib blas/lapack, openblas, ATLAS). I've had success with the netlib blas/lapack and atlas (built with netlib lapack).
mv Make.Debian hpl/
make arch=Debian
Hopefully everything went well. Now you need an input file.
cp _hpccinf.txt hpccinf.txt
Edit hpccinf.txt:
HPLinpack benchmark input file
Innovative Computing Laboratory, University of Tennessee
HPL.out      output file name (if any)
8            device out (6=stdout,7=stderr,file)
1            # of problems sizes (N)
1000         Ns
1            # of NBs
80           NBs
0            PMAP process mapping (0=Row-,1=Column-major)
1            # of process grids (P x Q)
3            Ps
1            Qs
16.0         threshold
1            # of panel fact
2            PFACTs (0=left, 1=Crout, 2=Right)
1            # of recursive stopping criterium
4            NBMINs (>= 1)
1            # of panels in recursion
2            NDIVs
1            # of recursive panel fact.
1            RFACTs (0=left, 1=Crout, 2=Right)
1            # of broadcast
1            BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
1            # of lookahead depth
1            DEPTHs (>=0)
2            SWAP (0=bin-exch,1=long,2=mix)
64           swapping threshold
0            L1 in (0=transposed,1=no-transposed) form
0            U  in (0=transposed,1=no-transposed) form
1            Equilibration (0=no,1=yes)
8            memory alignment in double (> 0)
##### This line (no. 32) is ignored (it serves as a separator). ######
0                               Number of additional problem sizes for PTRANS
1200 10000 30000                values of N
0                               number of additional blocking sizes for PTRANS
40 9 8 13 13 20 16 32 64        values of NB
Launch by doingmpirun -n X ./hpcc
where X=Ps times Qs (e.g. 3 in the example above).
I put the hpccinf.txt in a shared (nfs) folder (~/jobs), created a file called myhost
tantalum slots=2 max_slots=4and then launched using
boron slots=2 max_slots=6
neon slots=2 max_slots=8
mpirun -n 4 -hostfile myhost /opt/hpcc/hpcc-1.4.1/./hpcc
 
 
No comments:
Post a Comment