Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.00 KB | None | 0 0
  1. #
  2. # -- High Performance Computing Linpack Benchmark (HPL)
  3. # HPL - 2.2 - February 24, 2016
  4. # Antoine P. Petitet
  5. # University of Tennessee, Knoxville
  6. # Innovative Computing Laboratory
  7. # (C) Copyright 2000-2008 All Rights Reserved
  8. #
  9. # -- Copyright notice and Licensing terms:
  10. #
  11. # Redistribution and use in source and binary forms, with or without
  12. # modification, are permitted provided that the following conditions
  13. # are met:
  14. #
  15. # 1. Redistributions of source code must retain the above copyright
  16. # notice, this list of conditions and the following disclaimer.
  17. #
  18. # 2. Redistributions in binary form must reproduce the above copyright
  19. # notice, this list of conditions, and the following disclaimer in the
  20. # documentation and/or other materials provided with the distribution.
  21. #
  22. # 3. All advertising materials mentioning features or use of this
  23. # software must display the following acknowledgement:
  24. # This product includes software developed at the University of
  25. # Tennessee, Knoxville, Innovative Computing Laboratory.
  26. #
  27. # 4. The name of the University, the name of the Laboratory, or the
  28. # names of its contributors may not be used to endorse or promote
  29. # products derived from this software without specific written
  30. # permission.
  31. #
  32. # -- Disclaimer:
  33. #
  34. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  35. # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  36. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  37. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY
  38. # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  39. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  40. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  41. # DATA OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  42. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  43. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  44. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  45. # ######################################################################
  46. #
  47. # ----------------------------------------------------------------------
  48. # - shell --------------------------------------------------------------
  49. # ----------------------------------------------------------------------
  50. #
  51. SHELL = /bin/sh
  52. #
  53. CD = cd
  54. CP = cp
  55. LN_S = ln -s
  56. MKDIR = mkdir
  57. RM = /bin/rm -f
  58. TOUCH = touch
  59. #
  60. # ----------------------------------------------------------------------
  61. # - Platform identifier ------------------------------------------------
  62. # ----------------------------------------------------------------------
  63. #
  64. ARCH = my1
  65. #
  66. # ----------------------------------------------------------------------
  67. # - HPL Directory Structure / HPL library ------------------------------
  68. # ----------------------------------------------------------------------
  69. #
  70. TOPdir = $(HOME)/hpl
  71. INCdir = $(TOPdir)/include
  72. BINdir = $(TOPdir)/bin/$(ARCH)
  73. LIBdir = $(TOPdir)/lib/$(ARCH)
  74. #
  75. HPLlib = $(LIBdir)/libhpl.a
  76. #
  77. # ----------------------------------------------------------------------
  78. # - Message Passing library (MPI) --------------------------------------
  79. # ----------------------------------------------------------------------
  80. # MPinc tells the C compiler where to find the Message Passing library
  81. # header files, MPlib is defined to be the name of the library to be
  82. # used. The variable MPdir is only used for defining MPinc and MPlib.
  83. #
  84. #MPdir = /home/etc/bin_open_mpi/
  85. #MPinc = -I$(MPdir)/include
  86. #MPlib = $(MPdir)/lib/libmpich.a
  87. #
  88. # ----------------------------------------------------------------------
  89. # - Linear Algebra library (BLAS or VSIPL) -----------------------------
  90. # ----------------------------------------------------------------------
  91. # LAinc tells the C compiler where to find the Linear Algebra library
  92. # header files, LAlib is defined to be the name of the library to be
  93. # used. The variable LAdir is only used for defining LAinc and LAlib.
  94. #
  95. LAdir = $(HOME)/netlib/ARCHIVES/Linux_PII
  96. LAinc =
  97. LAlib = -lblas
  98. #LAlib = $(LAdir)/libcblas.a $(LAdir)/libatlas.a
  99. #
  100. # ----------------------------------------------------------------------
  101. # - F77 / C interface --------------------------------------------------
  102. # ----------------------------------------------------------------------
  103. # You can skip this section if and only if you are not planning to use
  104. # a BLAS library featuring a Fortran 77 interface. Otherwise, it is
  105. # necessary to fill out the F2CDEFS variable with the appropriate
  106. # options. **One and only one** option should be chosen in **each** of
  107. # the 3 following categories:
  108. #
  109. # 1) name space (How C calls a Fortran 77 routine)
  110. #
  111. # -DAdd_ : all lower case and a suffixed underscore (Suns,
  112. # Intel, ...), [default]
  113. # -DNoChange : all lower case (IBM RS6000),
  114. # -DUpCase : all upper case (Cray),
  115. # -DAdd__ : the FORTRAN compiler in use is f2c.
  116. #
  117. # 2) C and Fortran 77 integer mapping
  118. #
  119. # -DF77_INTEGER=int : Fortran 77 INTEGER is a C int, [default]
  120. # -DF77_INTEGER=long : Fortran 77 INTEGER is a C long,
  121. # -DF77_INTEGER=short : Fortran 77 INTEGER is a C short.
  122. #
  123. # 3) Fortran 77 string handling
  124. #
  125. # -DStringSunStyle : The string address is passed at the string loca-
  126. # tion on the stack, and the string length is then
  127. # passed as an F77_INTEGER after all explicit
  128. # stack arguments, [default]
  129. # -DStringStructPtr : The address of a structure is passed by a
  130. # Fortran 77 string, and the structure is of the
  131. # form: struct {char *cp; F77_INTEGER len;},
  132. # -DStringStructVal : A structure is passed by value for each Fortran
  133. # 77 string, and the structure is of the form:
  134. # struct {char *cp; F77_INTEGER len;},
  135. # -DStringCrayStyle : Special option for Cray machines, which uses
  136. # Cray fcd (fortran character descriptor) for
  137. # interoperation.
  138. #
  139. F2CDEFS =
  140. #
  141. # ----------------------------------------------------------------------
  142. # - HPL includes / libraries / specifics -------------------------------
  143. # ----------------------------------------------------------------------
  144. #
  145. HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
  146. HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)
  147. #
  148. # - Compile time options -----------------------------------------------
  149. #
  150. # -DHPL_COPY_L force the copy of the panel L before bcast;
  151. # -DHPL_CALL_CBLAS call the cblas interface;
  152. # -DHPL_CALL_VSIPL call the vsip library;
  153. # -DHPL_DETAILED_TIMING enable detailed timers;
  154. #
  155. # By default HPL will:
  156. # *) not copy L before broadcast,
  157. # *) call the BLAS Fortran 77 interface,
  158. # *) not display detailed timing information.
  159. #
  160. HPL_OPTS =
  161. #-DHPL_CALL_CBLAS
  162. #
  163. # ----------------------------------------------------------------------
  164. #
  165. HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
  166. #
  167. # ----------------------------------------------------------------------
  168. # - Compilers / linkers - Optimization flags ---------------------------
  169. # ----------------------------------------------------------------------
  170. #
  171. CC = mpicc -lblas
  172. CCNOOPT = $(HPL_DEFS)
  173. CCFLAGS = $(HPL_DEFS)
  174. # -fomit-frame-pointer -O3 -funroll-loops
  175. #
  176. # On some platforms, it is necessary to use the Fortran linker to find
  177. # the Fortran internals used in the BLAS library.
  178. #
  179. LINKER = mpicc
  180. #mpif77
  181. LINKFLAGS = $(CCFLAGS)
  182. #
  183. ARCHIVER = ar
  184. ARFLAGS = r
  185. RANLIB = echo
  186. #
  187. # ----------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement