| 
 | 
 
偶在作HPC高性能计算集群的测试, 需要安装HPL测试套间, ATLAS 3.7.3已经安装完成.现在要安装HPL了,但是需要先编写一个Makefile文件, HPL本身带了一些参考范例,但是我不清除具体需要改动哪些东西, 希望大家能帮帮忙. 
我的硬件 P4 2.4G, 512DDR, ST40G. 
我的ATLAS 的Make.Linux_P4: 
 Make.ARCH for ATLAS3.7.3 
# ----------------------------- 
 
# ---------------------------------- 
# Make sure we get the correct shell 
# ---------------------------------- 
SHELL = /bin/sh 
 
# ------------------------------------------------- 
# Name indicating the platform to configure BLAS to 
# ------------------------------------------------- 
ARCH = Linux_P4 
# ------------------- 
# Various directories 
# ------------------- 
TOPdir = /home/wjm/temp/ATLAS 
INCdir = $(TOPdir)/include/$(ARCH) 
SYSdir = $(TOPdir)/tune/sysinfo/$(ARCH) 
GMMdir = $(TOPdir)/src/blas/gemm/$(ARCH) 
UMMdir = $(GMMdir) 
GMVdir = $(TOPdir)/src/blas/gemv/$(ARCH) 
GR1dir = $(TOPdir)/src/blas/ger/$(ARCH) 
L1Bdir = $(TOPdir)/src/blas/level1/$(ARCH) 
L2Bdir = $(TOPdir)/src/blas/level2/$(ARCH) 
L3Bdir = $(TOPdir)/src/blas/level3/$(ARCH) 
TSTdir = $(TOPdir)/src/testing/$(ARCH) 
AUXdir = $(TOPdir)/src/auxil/$(ARCH) 
CBLdir = $(TOPdir)/interfaces/blas/C/src/$(ARCH) 
FBLdir = $(TOPdir)/interfaces/blas/F77/src/$(ARCH) 
BINdir = $(TOPdir)/bin/$(ARCH) 
LIBdir = $(TOPdir)/lib/$(ARCH) 
PTSdir = $(TOPdir)/src/pthreads 
MMTdir = $(TOPdir)/tune/blas/gemm/$(ARCH) 
MVTdir = $(TOPdir)/tune/blas/gemv/$(ARCH) 
R1Tdir = $(TOPdir)/tune/blas/ger/$(ARCH) 
L1Tdir = $(TOPdir)/tune/blas/level1/$(ARCH) 
L3Tdir = $(TOPdir)/tune/blas/level3/$(ARCH) 
#Name and location of scripts for running executables during tuning 
# --------------------------------------------------------------------- 
ATLRUN = $(BINdir)/ATLrun.sh 
ATLFWAIT = $(BINdir)/xatlas_waitfile 
 
# --------------------- 
# Libraries to be built 
# --------------------- 
ATLASlib = $(LIBdir)/libatlas.a 
CBLASlib = $(LIBdir)/libcblas.a 
F77BLASlib = $(LIBdir)/libf77blas.a 
LAPACKlib = $(LIBdir)/liblapack.a 
# ------------------------------------------- 
# Upper bound on largest cache size, in bytes 
# ------------------------------------------- 
L2SIZE = -DL2SIZE=524288 
 
# --------------------------------------- 
# Command setting up correct include path 
# --------------------------------------- 
INCLUDES = -I$(TOPdir)/include -I$(TOPdir)/include/$(ARCH) \ 
-I$(TOPdir)/include/contrib 
# ------------------------------------------- 
# Defines for setting up F77/C interoperation 
# ------------------------------------------- 
F2CDEFS = -DAdd__ -DStringSunStyle 
 
# -------------------------------------- 
# Special defines for user-supplied GEMM 
# -------------------------------------- 
UMMDEFS = 
 
# ------------------------------ 
# Architecture identifying flags 
# ------------------------------ 
ARCHDEFS = -DATL_OS_Linux -DATL_ARCH_P4 -DATL_SSE2 -DATL_SSE1 -DATL_GAS_x8632 
 
# ------------------------------------------------------------------- 
# NM is the flag required to name a compiled object/executable 
# OJ is the flag required to compile to object rather than executable 
# These flags are used by all compilers. 
# ------------------------------------------------------------------- 
NM = -o 
OJ = -c 
 
 
# --------------------------------------------------------------------------- 
# Fortran 77 compiler and the flags to use. Presently, ATLAS does not itself 
# use any Fortran 77, but vendor BLAS are typically written for Fortran, so 
# any links that include non-ATLAS BLAS will use FLINKER instead of CLINKER 
# --------------------------------------------------------------------------- 
F77 = /usr/bin/g77 
F77FLAGS = -fomit-frame-pointer -O 
FLINKER = $(F77) 
FLINKFLAGS = $(F77FLAGS) 
FCLINKFLAGS = $(FLINKFLAGS) 
 
 
# --------------------------------------------------------------------------- 
# Various C compilers, and the linker to be used when we are not linking in 
# non-ATLAS BLAS (which usually necessitate using the Fortran linker). 
# The C compilers recognized by ATLAS are: 
# CC : Compiler to use to compile regular, non-generated code 
# MCC : Compiler to use to compile generated, highly-optimized code 
# XCC : Compiler to be used on the compile engine of a cross-compiler 
# These will typically all be the same. An example of where this is not 
# the case would be DEC ALPHA 21164, where you want to use gcc for MCC, 
# because DEC's cc does not allow the programmer access to all 32 floating 
# point registers. However, on normal C code, DEC's cc produces much faster 
# code than gcc, so you CC set to cc. Of course, any system where you are 
# cross-compiling, you will need to set XCC differently than CC & MCC. 
# --------------------------------------------------------------------------- 
CDEFS = $(L2SIZE) $(INCLUDES) $(F2CDEFS) $(ARCHDEFS) 
 
GCCdir = /usr/bin 
GOODGCC = /usr/bin/gcc 
CC = /usr/bin/gcc 
CCFLAG0 = -fomit-frame-pointer -O3 -funroll-all-loops 
CCFLAGS = $(CDEFS) $(CCFLAG0) 
MCC = /usr/bin/gcc 
MMFLAGS = -fomit-frame-pointer -O 
XCC = /usr/bin/gcc 
XCCFLAGS = $(CDEFS) -fomit-frame-pointer -O3 -funroll-all-loops 
CLINKER = $(CC) 
CLINKFLAGS = $(CCFLAGS) 
BC = $(CC) 
BCFLAGS = $(CCFLAGS) 
ARCHIVER = ar 
ARFLAGS = r 
RANLIB = echo 
 
# ------------------------------------- 
# tar, gzip, gunzip, and parallel make 
# ------------------------------------- 
TAR = /bin/tar 
GZIP = /bin/gzip 
GUNZIP = /bin/gunzip 
PMAKE = $(MAKE) -j 2 
 
# ------------------------------------ 
# Reference and system libraries 
# ------------------------------------ 
BLASlib = 
FBLASlib = 
FLAPACKlib = 
LIBS = -lm 
 
# ---------------------------------------------------------- 
# ATLAS install resources (include arch default directories) 
# ---------------------------------------------------------- 
ARCHDEF = $(TOPdir)/CONFIG/ARCHS/P4SSE2/gcc/misc 
MMDEF = $(TOPdir)/CONFIG/ARCHS/P4SSE2/gcc/gemm 
INSTFLAGS = 
 
# --------------------------------------- 
# Generic targets needed by all makefiles 
# --------------------------------------- 
waitfile: 
 
希望高手能帮忙把详悉的HPL的Makefile贴出来. 
在线等~~~~~~ |   
 
 
 
 |