annotate fft/fftw/fftw-3.3.4/mpi/Makefile.am @ 40:223f770b5341 kissfft-double tip

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