xref: /petsc/src/benchmarks/streams/makefile (revision 5f27b2e0c8edfb1ef569c6410896c6c6e4830c4d)
1d8c74875SBarry Smith
2d8c74875SBarry SmithALL:
3d8c74875SBarry Smith
40dad66eaSBarry SmithCFLAGS	      =
5d8c74875SBarry SmithFFLAGS	      =
6d8c74875SBarry SmithCPPFLAGS      =
7d8c74875SBarry SmithFPPFLAGS      =
840eeca14SSatish BalayLOCDIR        = src/benchmarks/streams/
9d3ae85c4SBarry SmithEXAMPLESC     = BasicVersion.c MPIVersion.c OpenMPVersion.c SSEVersion.c PthreadVersion.c
10d8c74875SBarry SmithEXAMPLESF     =
11d8c74875SBarry SmithTESTS         = BasicVersion OpenMPVersion
12d8c74875SBarry SmithMANSEC        = Sys
13d8c74875SBarry Smith
14af0996ceSBarry Smithinclude ${PETSC_DIR}/lib/petsc/conf/variables
15af0996ceSBarry Smithinclude ${PETSC_DIR}/lib/petsc/conf/rules
16af0996ceSBarry Smithinclude ${PETSC_DIR}/lib/petsc/conf/test
17d8c74875SBarry Smith
18d8c74875SBarry SmithBasicVersion: BasicVersion.o  chkopts
1980094aa7SBarry Smith	-@${CLINKER} -o BasicVersion BasicVersion.o ${PETSC_LIB}
2080094aa7SBarry Smith	@${RM} -f BasicVersion.o
21d8c74875SBarry Smith
22d3ae85c4SBarry SmithMPIVersion: MPIVersion.o  chkopts
23d3ae85c4SBarry Smith	-@${CLINKER} -o MPIVersion MPIVersion.o ${PETSC_LIB}
24d3ae85c4SBarry Smith	@${RM} -f MPIVersion.o
25d3ae85c4SBarry Smith
26d8c74875SBarry SmithOpenMPVersion: OpenMPVersion.o  chkopts
2780094aa7SBarry Smith	-@${CLINKER} -o OpenMPVersion OpenMPVersion.o ${PETSC_LIB}
2880094aa7SBarry Smith	@${RM} -f OpenMPVersion.o
29d8c74875SBarry Smith
30b8a1809bSJed BrownSSEVersion: SSEVersion.o chkopts
31b8a1809bSJed Brown	-${CLINKER} -o $@ $< ${PETSC_LIB}
32b8a1809bSJed Brown	${RM} -f $<
33d3ae85c4SBarry Smith
3493af4de9SShri AbhyankarPthreadVersion: PthreadVersion.o  chkopts
3593af4de9SShri Abhyankar	-@${CLINKER} -o PthreadVersion PthreadVersion.o ${PETSC_LIB}
3693af4de9SShri Abhyankar	@${RM} -f PthreadVersion.o
37b8a1809bSJed Brown
38dc32dc79SSatish Balay# make streams [NPMAX=integer_number_of_MPI_processes_to_use] [MPI_BINDING='binding options']
395fabf859SBarry Smithstream:  MPIVersion
40*5f27b2e0SBarry Smith	@if [ "${NPMAX}foo" = "foo" ]; then echo "---------"; printf " Run with [PETSC_OPTIONS=-process_view] make streams NPMAX=<integer number of MPI processes> [MPI_BINDING='-bind-to core -map-by numa']\n or       [I_MPI_PIN_PROCESSOR_LIST=:map=scatter] [PETSC_OPTIONS=-process_view] make streams NPMAX=<integer number of MPI processes>\n"; exit 1 ; fi
41a6cca095SBarry Smith	-@printf "" > scaling.log
42*5f27b2e0SBarry Smith	-@printf "Running streams with '${MPIEXEC} ${MPI_BINDING}' using 'NPMAX=${NPMAX}' "
43372a53e9SSatish Balay	-@i=0; while [ $${i} -lt ${NPMAX} ]; do i=`expr $${i} + 1`; \
447115ffacSBarry Smith	  ${MPIEXEC} ${MPI_BINDING} -n $${i} ./MPIVersion | tee -a scaling.log; \
45d3ae85c4SBarry Smith        done
46d8c74875SBarry Smith	-@echo "------------------------------------------------"
47db52c0afSBarry Smith	-@${PYTHON} process.py createfile
48a6cca095SBarry Smith
49c40481a3SBarry Smithhwloc:
5077fe4bf7SBarry Smith	-@if [ "${LSTOPO}foo" != "foo" ]; then ${MPIEXEC} ${MPI_BINDING} -n 1 ${LSTOPO} --no-icaches --no-io --ignore PU ; fi
51c40481a3SBarry Smith
52c40481a3SBarry Smithstreams: stream hwloc
53db52c0afSBarry Smith	-@${PYTHON} process.py
54d3ae85c4SBarry Smith
55d3ae85c4SBarry Smith
56