...
 
Commits (2)
<?xml version="1.0" encoding="UTF-8"?>
<jube>
<!-- ***************************************************************** -->
<!--
####################################
# HydroC99_2DMpi #
####################################
-->
<!-- BENCHMARK: Conjugate Gradient From BQCD -->
<benchmark name="bqcd" outpath="benchmarks">
<!-- source data -->
<fileset name="source">
<copy>../src</copy>
<copy>./makefile.in</copy>
<copy>./input.in</copy>
</fileset>
<!-- compilation -->
<step name="compile">
<use>source</use>
<use from="specs-hydro.xml">parameters_make</use>
<use from="specs-hydro.xml">parameters_inputfile</use>
<use>inputfile_sub</use>
<use>make_sub</use>
<do>mv makefile.in Src/Makefile</do>
<do>mv make.out Src/make.inc</do>
<do>mv input.out Src/input.nml</do>
<do>(cd Src/; make clean hydro)</do>
</step>
<!-- run -->
<step name="run" depend="compile">
<do>(cd compile/Src/; hpcstruct ./hydro)</do>
<do>(cd compile/Src/; env OMP_NUM_THREADS=1 hpcrun --event PAPI_TOT_INS@500000 --event PAPI_TOT_CYC@500000 --event PAPI_L1_DCM@500000 --event PAPI_L2_DCM@500000 ./hydro -i input.nml)</do>
<do>(cd compile/Src/; hpcprof -S hydro.hpcstruct -I ./'*' hpctoolkit-hydro-measurements)</do>
</step>
</benchmark>
</jube>
#===============================================================================
#
# bqcdi.mk
#
#-------------------------------------------------------------------------------
#
# Copyright (C) 2009-2011 Yoshifumi Nakamura
#
# This file is part of BQCD -- Berlin Quantum ChromoDynamics program
#
# BQCD is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# BQCD is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with BQCD. If not, see <http://www.gnu.org/licenses/>.
#
#===============================================================================
-include $(DIR)Makefile.var
#-------------------------------------------------------------------------------
#
# macro
#
M4=m4
#-------------------------------------------------------------------------------
#
# bqcdi options
#
omtdtd =1
# [chroma|chiral|ddhmc|bqcd] empty means bqcd
gamma =
doedeo =
flipsc =
qpace =
BQCD_DDHMC=
# if tune Ration approximation, remove #
FMLIB = ./fmlib
#-------------------------------------------------------------------------------
#
# path for own LIBs. If unnecessary, comment out
#
COMPILER=gnu
ifndef LIME
LIME = #LIME#
endif
ifndef LAPACK
LDFLAGS += #LAPACKFLAGS#
LAPACK = #LAPACK#
endif
ifndef SCALAPACK
ifdef mpi
SCALAPACK = #SCALAPACK#
endif
endif
ifndef ARPACK
#ARPACK = $(HOME)/lib/$(COMPILER)/arpack.a
endif
ifndef PARPACK
#PARPACK = $(HOME)/lib/intel/parpack.a
endif
#LEMON = $(HOME)/opt/lemon
#BAGEL = $(HOME)/chroma/for_bqcd/install_146s
#-------------------------------------------------------------------------------
#
# debug options
#
debug2 =
zero_momentum =
non_reality =
#-------------------------------------------------------------------------------
ifdef LIME
CFLAGS_STD +=-I$(LIME)/include
SYSLIBS += $(LIME)/lib/liblime.a
LIBILDG = libildg.a
endif
ifdef LEMON
CFLAGS_STD +=-I$(LEMON)/include
SYSLIBS += $(LEMON)/src/liblemon.a
MYFLAGS += -DLEMON
endif
ifdef FMLIB
##MODULES_FLAG += -I../../$(FMLIB) # from fermi/rhmc
SYSLIBS += $(FMLIB)/lib_FM.a
MYFLAGS += -DFMLIB
endif
ifdef SCALAPACK
SYSLIBS += $(SCALAPACK)
MYFLAGS += -DSCALAPACK
endif
ifdef ARPACK
SYSLIBS += $(ARPACK)
MYFLAGS += -DARPACK
endif
ifdef PARPACK
SYSLIBS += $(PARPACK)
MYFLAGS += -DPARPACK
endif
ifdef LAPACK
SYSLIBS += $(LAPACK)
MYFLAGS += -DLAPACK
endif
ifdef BAGEL
libd =100
gamma =chroma
qmp =1
flipsc =1
MYFLAGS += -DQMP -DBAGEL
CFLAGS_STD +=-I$(BAGEL)/include
SYSLIBS += $(BAGEL)/lib/libwfm.a \
$(BAGEL)/lib/libbagel.a \
$(BAGEL)/lib/libqmp.a -lstdc++
endif
ifdef BQCD_DDHMC
MYFLAGS += -DBQCD_DDHMC
endif
ifdef DDS
libd =100
gamma = ddhmc
MYFLAGS += -DDDS
endif
ifeq ($(libd),100)
libdi=100
endif
ifeq ($(libd),101)
MYFLAGS += -DLIBDI
endif
ifeq ($(libd),102)
MYFLAGS += -DLIBDI
endif
ifeq ($(libd),103)
MYFLAGS += -DLIBDI
endif
ifeq ($(libd),500)
MYFLAGS += -DD500
endif
ifeq ($(libd),501)
MYFLAGS += -DD500
endif
ifndef FFLAGS_STD32
FFLAGS32 = $(FFLAGS)
endif
ifdef omtdtd
MYFLAGS += -DOMTDTD
endif
ifdef doedeo
MYFLAGS += -DDOEDEO
endif
ifdef flipsc
MYFLAGS += -DFLIPSC
endif
ifdef libdi
ifeq ($(gamma),chroma)
MYFLAGS += -DGAMMA_NOTATION_CHROMA -DGAMMAC
MYFLAGS += -DGAMMA_NOTATION=CHROMA
else
ifeq ($(gamma),chiral)
MYFLAGS += -DGAMMA_NOTATION_CHIRAL -DGAMMAC
MYFLAGS += -DGAMMA_NOTATION=CHIRAL
else
ifeq ($(gamma),ddhmc)
MYFLAGS += -DGAMMA_NOTATION_DDHMC -DGAMMAC
MYFLAGS += -DGAMMA_NOTATION=DDHMC
else
MYFLAGS += -DGAMMA_NOTATION_BQCD
MYFLAGS += -DGAMMA_NOTATION=BQCD
endif
endif
endif
MYFLAGS += -DLIBDI
else
MYFLAGS += -DGAMMA_NOTATION_BQCD
MYFLAGS += -DGAMMA_NOTATION=BQCD
endif
#-------------------------------------------------------------------------------
#
# debug options
#
ifdef debug2
MYFLAGS += -DDEBUG2
endif
ifdef zero_momentum
MYFLAGS += -DZERO_MOMENTUM
endif
ifdef non_reality
MYFLAGS += -DNON_REALITY
endif
#===============================================================================
<?xml version="1.0" encoding="UTF-8"?>
<jube>
<!--
####################################
# Makefile Parameters #
####################################
-->
<parameterset name="parameters_make">
<parameter name="LIME" type="string">/home/akela/software/lime-1.3.2</parameter>
<parameter name="LAPACKFLAGS" type="string">-I$(HOME)/.local/include/ -L$(HOME)/.local/lib</parameter>
<parameter name="LAPACK" type="string">-lopenblas -lpthread -lgfortran</parameter>
<parameter name="SCALAPACK" type="string">/home/akela/software/scalapack-2.0.2/libscalapack.a</parameters>
<parameter name="MAKEPREP" type="string">make prep-gnu</parameters>
</parameterset>