annotate src/fftw-3.3.8/mpi/Makefile.am @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents bd3cc4d1df30
children
rev   line source
cannam@167 1 # -I $(top_srcdir)/api is necessary because fftw3-mpi.h includes
cannam@167 2 # "fftw3.h", and we cannot change the latter to "api/fftw3.h" because
cannam@167 3 # fftw3-mpi.h is installed in /usr/include.
cannam@167 4 AM_CPPFLAGS = -I $(top_srcdir) -I $(top_srcdir)/api
cannam@167 5
cannam@167 6 if MPI
cannam@167 7 lib_LTLIBRARIES = libfftw3@PREC_SUFFIX@_mpi.la
cannam@167 8 include_HEADERS = fftw3-mpi.h
cannam@167 9 nodist_include_HEADERS = fftw3-mpi.f03 fftw3l-mpi.f03
cannam@167 10 noinst_PROGRAMS = mpi-bench
cannam@167 11 endif
cannam@167 12
cannam@167 13 CC=@MPICC@
cannam@167 14
cannam@167 15 EXTRA_DIST = testsched.c f03api.sh f03-wrap.sh genf03-wrap.pl fftw3-mpi.f03.in fftw3l-mpi.f03.in
cannam@167 16 BUILT_SOURCES = fftw3-mpi.f03.in fftw3-mpi.f03 fftw3l-mpi.f03.in fftw3l-mpi.f03 f03-wrap.c
cannam@167 17 CLEANFILES = fftw3-mpi.f03 fftw3l-mpi.f03
cannam@167 18
cannam@167 19 TRANSPOSE_SRC = transpose-alltoall.c transpose-pairwise.c transpose-recurse.c transpose-problem.c transpose-solve.c mpi-transpose.h
cannam@167 20 DFT_SRC = dft-serial.c dft-rank-geq2.c dft-rank-geq2-transposed.c dft-rank1.c dft-rank1-bigvec.c dft-problem.c dft-solve.c mpi-dft.h
cannam@167 21 RDFT_SRC = rdft-serial.c rdft-rank-geq2.c rdft-rank-geq2-transposed.c rdft-rank1-bigvec.c rdft-problem.c rdft-solve.c mpi-rdft.h
cannam@167 22 RDFT2_SRC = rdft2-serial.c rdft2-rank-geq2.c rdft2-rank-geq2-transposed.c rdft2-problem.c rdft2-solve.c mpi-rdft2.h
cannam@167 23 SRC = any-true.c api.c block.c choose-radix.c conf.c dtensor.c fftw3-mpi.h ifftw-mpi.h rearrange.c wisdom-api.c f03-wrap.c
cannam@167 24
cannam@167 25 libfftw3@PREC_SUFFIX@_mpi_la_SOURCES = $(SRC) $(TRANSPOSE_SRC) $(DFT_SRC) $(RDFT_SRC) $(RDFT2_SRC)
cannam@167 26
cannam@167 27 libfftw3@PREC_SUFFIX@_mpi_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
cannam@167 28 libfftw3@PREC_SUFFIX@_mpi_la_LIBADD = ../libfftw3@PREC_SUFFIX@.la @MPILIBS@
cannam@167 29
cannam@167 30 if THREADS
cannam@167 31 mpi_bench_CFLAGS = $(PTHREAD_CFLAGS)
cannam@167 32 if !COMBINED_THREADS
cannam@167 33 LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la
cannam@167 34 endif
cannam@167 35 else
cannam@167 36 if OPENMP
cannam@167 37 mpi_bench_CFLAGS = $(OPENMP_CFLAGS)
cannam@167 38 LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la
cannam@167 39 endif
cannam@167 40 endif
cannam@167 41
cannam@167 42 mpi_bench_SOURCES = mpi-bench.c $(top_srcdir)/tests/fftw-bench.c $(top_srcdir)/tests/hook.c
cannam@167 43 mpi_bench_LDADD = libfftw3@PREC_SUFFIX@_mpi.la $(LIBFFTWTHREADS) $(top_builddir)/libfftw3@PREC_SUFFIX@.la $(top_builddir)/libbench2/libbench2.a $(MPILIBS) $(THREADLIBS)
cannam@167 44
cannam@167 45 CHECK = $(top_srcdir)/tests/check.pl
cannam@167 46 NUMCHECK=10
cannam@167 47 CHECKSIZE=10000
cannam@167 48 CHECKOPTS = --verbose --random --maxsize=$(CHECKSIZE) -c=$(NUMCHECK) $(CHECK_PL_OPTS)
cannam@167 49
cannam@167 50 if MPI
cannam@167 51
cannam@167 52 check-local: mpi-bench$(EXEEXT)
cannam@167 53 perl -w $(CHECK) $(CHECKOPTS) --mpi "$(MPIRUN) -np 1 `pwd`/mpi-bench"
cannam@167 54 @echo "--------------------------------------------------------------"
cannam@167 55 @echo " MPI FFTW transforms passed "$(NUMCHECK)" tests, 1 CPU"
cannam@167 56 @echo "--------------------------------------------------------------"
cannam@167 57 perl -w $(CHECK) $(CHECKOPTS) --mpi "$(MPIRUN) -np 2 `pwd`/mpi-bench"
cannam@167 58 @echo "--------------------------------------------------------------"
cannam@167 59 @echo " MPI FFTW transforms passed "$(NUMCHECK)" tests, 2 CPUs"
cannam@167 60 @echo "--------------------------------------------------------------"
cannam@167 61 perl -w $(CHECK) $(CHECKOPTS) --mpi "$(MPIRUN) -np 3 `pwd`/mpi-bench"
cannam@167 62 @echo "--------------------------------------------------------------"
cannam@167 63 @echo " MPI FFTW transforms passed "$(NUMCHECK)" tests, 3 CPUs"
cannam@167 64 @echo "--------------------------------------------------------------"
cannam@167 65 perl -w $(CHECK) $(CHECKOPTS) --mpi "$(MPIRUN) -np 4 `pwd`/mpi-bench"
cannam@167 66 @echo "--------------------------------------------------------------"
cannam@167 67 @echo " MPI FFTW transforms passed "$(NUMCHECK)" tests, 4 CPUs"
cannam@167 68 @echo "--------------------------------------------------------------"
cannam@167 69 if SMP
cannam@167 70 perl -w $(CHECK) $(CHECKOPTS) --mpi --nthreads=2 "$(MPIRUN) -np 3 `pwd`/mpi-bench"
cannam@167 71 @echo "--------------------------------------------------------------"
cannam@167 72 @echo " MPI FFTW threaded transforms passed "$(NUMCHECK)" tests!"
cannam@167 73 @echo "--------------------------------------------------------------"
cannam@167 74 endif
cannam@167 75
cannam@167 76 bigcheck: mpi-bench$(EXEEXT)
cannam@167 77 $(MAKE) $(AM_MAKEFLAGS) NUMCHECK=100 CHECKSIZE=60000 check-local
cannam@167 78
cannam@167 79 smallcheck: mpi-bench$(EXEEXT)
cannam@167 80 $(MAKE) $(AM_MAKEFLAGS) NUMCHECK=2 check-local
cannam@167 81
cannam@167 82 endif
cannam@167 83
cannam@167 84 fftw3-mpi.f03: fftw3-mpi.f03.in Makefile
cannam@167 85 sed 's/C_MPI_FINT/@C_MPI_FINT@/' $(srcdir)/fftw3-mpi.f03.in > $@
cannam@167 86
cannam@167 87 fftw3l-mpi.f03: fftw3l-mpi.f03.in Makefile
cannam@167 88 sed 's/C_MPI_FINT/@C_MPI_FINT@/' $(srcdir)/fftw3l-mpi.f03.in > $@
cannam@167 89
cannam@167 90 if MAINTAINER_MODE
cannam@167 91
cannam@167 92 fftw3-mpi.f03.in: fftw3-mpi.h f03api.sh $(top_srcdir)/api/genf03.pl
cannam@167 93 sh $(srcdir)/f03api.sh d f > $@
cannam@167 94
cannam@167 95 fftw3l-mpi.f03.in: fftw3-mpi.h f03api.sh $(top_srcdir)/api/genf03.pl
cannam@167 96 sh $(srcdir)/f03api.sh l | grep -v parameter | sed 's/fftw3.f03/fftw3l.f03/' > $@
cannam@167 97
cannam@167 98 f03-wrap.c: fftw3-mpi.h f03-wrap.sh genf03-wrap.pl
cannam@167 99 sh $(srcdir)/f03-wrap.sh > $@
cannam@167 100
cannam@167 101 endif