annotate src/fftw-3.3.5/mpi/Makefile.am @ 83:ae30d91d2ffe

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