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 sharedand doing aptitude search atlas|grep ^i
libatlas3gf-base - Transitional package to libatlas3-base
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 fileInnovative Computing Laboratory, University of TennesseeHPL.out output file name (if any)8 device out (6=stdout,7=stderr,file)1 # of problems sizes (N)1000 Ns1 # of NBs80 NBs0 PMAP process mapping (0=Row-,1=Column-major)1 # of process grids (P x Q)3 Ps1 Qs16.0 threshold1 # of panel fact2 PFACTs (0=left, 1=Crout, 2=Right)1 # of recursive stopping criterium4 NBMINs (>= 1)1 # of panels in recursion2 NDIVs1 # of recursive panel fact.1 RFACTs (0=left, 1=Crout, 2=Right)1 # of broadcast1 BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)1 # of lookahead depth1 DEPTHs (>=0)2 SWAP (0=bin-exch,1=long,2=mix)64 swapping threshold0 L1 in (0=transposed,1=no-transposed) form0 U in (0=transposed,1=no-transposed) form1 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 PTRANS1200 10000 30000 values of N0 number of additional blocking sizes for PTRANS40 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
Hiç yorum yok:
Yorum Gönder