Updates
This commit is contained in:
30
fftw-3.3.10/tools/Makefile.am
Normal file
30
fftw-3.3.10/tools/Makefile.am
Normal file
@@ -0,0 +1,30 @@
|
||||
AM_CPPFLAGS = -I $(top_srcdir)
|
||||
bin_SCRIPTS = fftw-wisdom-to-conf
|
||||
bin_PROGRAMS = fftw@PREC_SUFFIX@-wisdom
|
||||
|
||||
BUILT_SOURCES = fftw-wisdom-to-conf fftw@PREC_SUFFIX@-wisdom.1
|
||||
EXTRA_DIST = fftw-wisdom-to-conf.in
|
||||
|
||||
dist_man_MANS = fftw-wisdom-to-conf.1 fftw@PREC_SUFFIX@-wisdom.1
|
||||
EXTRA_MANS = fftw_wisdom.1.in
|
||||
fftw@PREC_SUFFIX@-wisdom.1: fftw_wisdom.1
|
||||
rm -f $@
|
||||
cp fftw_wisdom.1 $@
|
||||
|
||||
if THREADS
|
||||
fftw@PREC_SUFFIX@_wisdom_CFLAGS = $(PTHREAD_CFLAGS)
|
||||
if !COMBINED_THREADS
|
||||
LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la
|
||||
endif
|
||||
else
|
||||
if OPENMP
|
||||
fftw@PREC_SUFFIX@_wisdom_CFLAGS = $(OPENMP_CFLAGS)
|
||||
LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la
|
||||
endif
|
||||
endif
|
||||
|
||||
fftw@PREC_SUFFIX@_wisdom_SOURCES = fftw-wisdom.c
|
||||
fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench-bench.o \
|
||||
$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS) \
|
||||
$(top_builddir)/libfftw3@PREC_SUFFIX@.la \
|
||||
$(top_builddir)/libbench2/libbench2.a $(THREADLIBS)
|
||||
782
fftw-3.3.10/tools/Makefile.in
Normal file
782
fftw-3.3.10/tools/Makefile.in
Normal file
@@ -0,0 +1,782 @@
|
||||
# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = fftw@PREC_SUFFIX@-wisdom$(EXEEXT)
|
||||
subdir = tools
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_mpi.m4 \
|
||||
$(top_srcdir)/m4/acx_pthread.m4 \
|
||||
$(top_srcdir)/m4/ax_cc_maxopt.m4 \
|
||||
$(top_srcdir)/m4/ax_check_compiler_flags.m4 \
|
||||
$(top_srcdir)/m4/ax_compiler_vendor.m4 \
|
||||
$(top_srcdir)/m4/ax_gcc_aligns_stack.m4 \
|
||||
$(top_srcdir)/m4/ax_gcc_version.m4 \
|
||||
$(top_srcdir)/m4/ax_openmp.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = fftw_wisdom.1 fftw-wisdom-to-conf
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
|
||||
"$(DESTDIR)$(man1dir)"
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_fftw@PREC_SUFFIX@_wisdom_OBJECTS = \
|
||||
fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.$(OBJEXT)
|
||||
fftw@PREC_SUFFIX@_wisdom_OBJECTS = \
|
||||
$(am_fftw@PREC_SUFFIX@_wisdom_OBJECTS)
|
||||
am__DEPENDENCIES_1 =
|
||||
fftw@PREC_SUFFIX@_wisdom_DEPENDENCIES = \
|
||||
$(top_builddir)/tests/bench-bench.o \
|
||||
$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS) \
|
||||
$(top_builddir)/libfftw3@PREC_SUFFIX@.la \
|
||||
$(top_builddir)/libbench2/libbench2.a $(am__DEPENDENCIES_1)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
fftw@PREC_SUFFIX@_wisdom_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||
$(fftw@PREC_SUFFIX@_wisdom_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
SCRIPTS = $(bin_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__maybe_remake_depfiles = depfiles
|
||||
am__depfiles_remade = \
|
||||
./$(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Po
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(fftw@PREC_SUFFIX@_wisdom_SOURCES)
|
||||
DIST_SOURCES = $(fftw@PREC_SUFFIX@_wisdom_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(dist_man_MANS)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
|
||||
$(srcdir)/fftw-wisdom-to-conf.in $(srcdir)/fftw_wisdom.1.in \
|
||||
$(top_srcdir)/depcomp
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOCA = @ALLOCA@
|
||||
ALTIVEC_CFLAGS = @ALTIVEC_CFLAGS@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AVX2_CFLAGS = @AVX2_CFLAGS@
|
||||
AVX512_CFLAGS = @AVX512_CFLAGS@
|
||||
AVX_128_FMA_CFLAGS = @AVX_128_FMA_CFLAGS@
|
||||
AVX_CFLAGS = @AVX_CFLAGS@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHECK_PL_OPTS = @CHECK_PL_OPTS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
C_FFTW_R2R_KIND = @C_FFTW_R2R_KIND@
|
||||
C_MPI_FINT = @C_MPI_FINT@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
FGREP = @FGREP@
|
||||
FLIBS = @FLIBS@
|
||||
GREP = @GREP@
|
||||
INDENT = @INDENT@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KCVI_CFLAGS = @KCVI_CFLAGS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBQUADMATH = @LIBQUADMATH@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPICC = @MPICC@
|
||||
MPILIBS = @MPILIBS@
|
||||
MPIRUN = @MPIRUN@
|
||||
NEON_CFLAGS = @NEON_CFLAGS@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OCAMLBUILD = @OCAMLBUILD@
|
||||
OPENMP_CFLAGS = @OPENMP_CFLAGS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
POW_LIB = @POW_LIB@
|
||||
PRECISION = @PRECISION@
|
||||
PREC_SUFFIX = @PREC_SUFFIX@
|
||||
PTHREAD_CC = @PTHREAD_CC@
|
||||
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
|
||||
PTHREAD_LIBS = @PTHREAD_LIBS@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
|
||||
SHELL = @SHELL@
|
||||
SSE2_CFLAGS = @SSE2_CFLAGS@
|
||||
STACK_ALIGN_CFLAGS = @STACK_ALIGN_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
THREADLIBS = @THREADLIBS@
|
||||
VERSION = @VERSION@
|
||||
VSX_CFLAGS = @VSX_CFLAGS@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
acx_pthread_config = @acx_pthread_config@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AM_CPPFLAGS = -I $(top_srcdir)
|
||||
bin_SCRIPTS = fftw-wisdom-to-conf
|
||||
BUILT_SOURCES = fftw-wisdom-to-conf fftw@PREC_SUFFIX@-wisdom.1
|
||||
EXTRA_DIST = fftw-wisdom-to-conf.in
|
||||
dist_man_MANS = fftw-wisdom-to-conf.1 fftw@PREC_SUFFIX@-wisdom.1
|
||||
EXTRA_MANS = fftw_wisdom.1.in
|
||||
@OPENMP_TRUE@@THREADS_FALSE@fftw@PREC_SUFFIX@_wisdom_CFLAGS = $(OPENMP_CFLAGS)
|
||||
@THREADS_TRUE@fftw@PREC_SUFFIX@_wisdom_CFLAGS = $(PTHREAD_CFLAGS)
|
||||
@COMBINED_THREADS_FALSE@@THREADS_TRUE@LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la
|
||||
@OPENMP_TRUE@@THREADS_FALSE@LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la
|
||||
fftw@PREC_SUFFIX@_wisdom_SOURCES = fftw-wisdom.c
|
||||
fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench-bench.o \
|
||||
$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS) \
|
||||
$(top_builddir)/libfftw3@PREC_SUFFIX@.la \
|
||||
$(top_builddir)/libbench2/libbench2.a $(THREADLIBS)
|
||||
|
||||
all: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu tools/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
fftw_wisdom.1: $(top_builddir)/config.status $(srcdir)/fftw_wisdom.1.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
fftw-wisdom-to-conf: $(top_builddir)/config.status $(srcdir)/fftw-wisdom-to-conf.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed 's/$(EXEEXT)$$//' | \
|
||||
while read p p1; do if test -f $$p \
|
||||
|| test -f $$p1 \
|
||||
; then echo "$$p"; echo "$$p"; else :; fi; \
|
||||
done | \
|
||||
sed -e 'p;s,.*/,,;n;h' \
|
||||
-e 's|.*|.|' \
|
||||
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
|
||||
sed 'N;N;N;s,\n, ,g' | \
|
||||
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
|
||||
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
||||
if ($$2 == $$4) files[d] = files[d] " " $$1; \
|
||||
else { print "f", $$3 "/" $$4, $$1; } } \
|
||||
END { for (d in files) print "f", d, files[d] }' | \
|
||||
while read type dir files; do \
|
||||
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
|
||||
} \
|
||||
; done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
files=`for p in $$list; do echo "$$p"; done | \
|
||||
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
|
||||
-e 's/$$/$(EXEEXT)/' \
|
||||
`; \
|
||||
test -n "$$list" || exit 0; \
|
||||
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(bindir)" && rm -f $$files
|
||||
|
||||
clean-binPROGRAMS:
|
||||
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list || exit $$?; \
|
||||
test -n "$(EXEEXT)" || exit 0; \
|
||||
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list
|
||||
|
||||
fftw@PREC_SUFFIX@-wisdom$(EXEEXT): $(fftw@PREC_SUFFIX@_wisdom_OBJECTS) $(fftw@PREC_SUFFIX@_wisdom_DEPENDENCIES) $(EXTRA_fftw@PREC_SUFFIX@_wisdom_DEPENDENCIES)
|
||||
@rm -f fftw@PREC_SUFFIX@-wisdom$(EXEEXT)
|
||||
$(AM_V_CCLD)$(fftw@PREC_SUFFIX@_wisdom_LINK) $(fftw@PREC_SUFFIX@_wisdom_OBJECTS) $(fftw@PREC_SUFFIX@_wisdom_LDADD) $(LIBS)
|
||||
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
|
||||
done | \
|
||||
sed -e 'p;s,.*/,,;n' \
|
||||
-e 'h;s|.*|.|' \
|
||||
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
|
||||
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
|
||||
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
||||
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
|
||||
if (++n[d] == $(am__install_max)) { \
|
||||
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
|
||||
else { print "f", d "/" $$4, $$1 } } \
|
||||
END { for (d in files) print "f", d, files[d] }' | \
|
||||
while read type dir files; do \
|
||||
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
|
||||
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
|
||||
} \
|
||||
; done
|
||||
|
||||
uninstall-binSCRIPTS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
|
||||
files=`for p in $$list; do echo "$$p"; done | \
|
||||
sed -e 's,.*/,,;$(transform)'`; \
|
||||
dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Po@am__quote@ # am--include-marker
|
||||
|
||||
$(am__depfiles_remade):
|
||||
@$(MKDIR_P) $(@D)
|
||||
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
||||
|
||||
am--depfiles: $(am__depfiles_remade)
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.o: fftw-wisdom.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fftw@PREC_SUFFIX@_wisdom_CFLAGS) $(CFLAGS) -MT fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.o -MD -MP -MF $(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Tpo -c -o fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.o `test -f 'fftw-wisdom.c' || echo '$(srcdir)/'`fftw-wisdom.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Tpo $(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fftw-wisdom.c' object='fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fftw@PREC_SUFFIX@_wisdom_CFLAGS) $(CFLAGS) -c -o fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.o `test -f 'fftw-wisdom.c' || echo '$(srcdir)/'`fftw-wisdom.c
|
||||
|
||||
fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.obj: fftw-wisdom.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fftw@PREC_SUFFIX@_wisdom_CFLAGS) $(CFLAGS) -MT fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.obj -MD -MP -MF $(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Tpo -c -o fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.obj `if test -f 'fftw-wisdom.c'; then $(CYGPATH_W) 'fftw-wisdom.c'; else $(CYGPATH_W) '$(srcdir)/fftw-wisdom.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Tpo $(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fftw-wisdom.c' object='fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fftw@PREC_SUFFIX@_wisdom_CFLAGS) $(CFLAGS) -c -o fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.obj `if test -f 'fftw-wisdom.c'; then $(CYGPATH_W) 'fftw-wisdom.c'; else $(CYGPATH_W) '$(srcdir)/fftw-wisdom.c'; fi`
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-man1: $(dist_man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list1=''; \
|
||||
list2='$(dist_man_MANS)'; \
|
||||
test -n "$(man1dir)" \
|
||||
&& test -n "`echo $$list1$$list2`" \
|
||||
|| exit 0; \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
|
||||
{ for i in $$list1; do echo "$$i"; done; \
|
||||
if test -n "$$list2"; then \
|
||||
for i in $$list2; do echo "$$i"; done \
|
||||
| sed -n '/\.1[a-z]*$$/p'; \
|
||||
fi; \
|
||||
} | while read p; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; echo "$$p"; \
|
||||
done | \
|
||||
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
|
||||
sed 'N;N;s,\n, ,g' | { \
|
||||
list=; while read file base inst; do \
|
||||
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
|
||||
fi; \
|
||||
done; \
|
||||
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
|
||||
done; }
|
||||
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
files=`{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-am
|
||||
all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-am
|
||||
install-exec: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f ./$(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Po
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS install-binSCRIPTS
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f ./$(DEPDIR)/fftw@PREC_SUFFIX@_wisdom-fftw-wisdom.Po
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.MAKE: all check install install-am install-exec install-strip
|
||||
|
||||
.PHONY: all all-am am--depfiles check check-am clean clean-binPROGRAMS \
|
||||
clean-generic clean-libtool cscopelist-am ctags-am distclean \
|
||||
distclean-compile distclean-generic distclean-libtool distdir \
|
||||
dvi dvi-am html html-am info info-am install install-am \
|
||||
install-binPROGRAMS install-binSCRIPTS install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-man1 install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags-am uninstall uninstall-am uninstall-binPROGRAMS \
|
||||
uninstall-binSCRIPTS uninstall-man uninstall-man1
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
fftw@PREC_SUFFIX@-wisdom.1: fftw_wisdom.1
|
||||
rm -f $@
|
||||
cp fftw_wisdom.1 $@
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
91
fftw-3.3.10/tools/fftw-wisdom-to-conf.1
Normal file
91
fftw-3.3.10/tools/fftw-wisdom-to-conf.1
Normal file
@@ -0,0 +1,91 @@
|
||||
.\"
|
||||
.\" Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
.\" Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
.\"
|
||||
.\" This program 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 2 of the License, or
|
||||
.\" (at your option) any later version.
|
||||
.\"
|
||||
.\" This program 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 this program; if not, write to the Free Software
|
||||
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
.\"
|
||||
.TH FFTW-WISDOM-TO-CONF 1 "February, 2003" "fftw" "fftw"
|
||||
.SH NAME
|
||||
fftw\-wisdom\-to\-conf \- generate FFTW wisdom (pre-planned transforms)
|
||||
.SH SYNOPSIS
|
||||
\fBfftw\-wisdom\-to\-conf\fR [< \fIINPUT\fR] [> \fIOUTPUT\fR]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" Add any additional description here
|
||||
.I fftw\-wisdom\-to\-conf
|
||||
is a utility to generate C
|
||||
.B configuration
|
||||
routines from FFTW
|
||||
.B wisdom
|
||||
files, where the latter contain saved information about how to
|
||||
optimally compute (Fourier) transforms of various sizes. A
|
||||
configuration routine is a C subroutine that you link into your
|
||||
program, replacing a routine of the same name in the FFTW library,
|
||||
that determines which parts of FFTW are callable by your program.
|
||||
|
||||
The reason to do this is that, if you only need transforms of a
|
||||
limited set of sizes and types, and if you are statically linking your
|
||||
program, then using a configuration file generated from wisdom for
|
||||
those types can substantially reduce the size of your executable.
|
||||
(Otherwise, because of FFTW's dynamic nature, all of FFTW's transform
|
||||
code must be linked into any program using FFTW.)
|
||||
|
||||
FFTW is a free library to compute discrete Fourier transforms in one
|
||||
or more dimensions, for arbitrary sizes, and of both real and complex
|
||||
data, among other related operations. More information on FFTW can be
|
||||
found at the FFTW home page:
|
||||
.I http://www.fftw.org
|
||||
|
||||
.I fftw\-wisdom\-to\-conf
|
||||
reads wisdom from standard input and writes the configuration to
|
||||
standard output. It can easily be combined with the
|
||||
.I fftw\-wisdom
|
||||
tool, for example:
|
||||
|
||||
fftw\-wisdom \-n \-o wisdom cof1024 cob1024
|
||||
.br
|
||||
fftw\-wisdom\-to\-conf < wisdom > conf.c
|
||||
|
||||
will create a configuration "conf.c" containing only those parts of
|
||||
FFTW needed for the optimized complex forwards and backwards
|
||||
out-of-place transforms of size 1024 (also saving the wisdom itself in
|
||||
"wisdom").
|
||||
|
||||
Alternatively, you can run your actual program, export wisdom for all
|
||||
plans that were created (ideally in FFTW_PATIENT or FFTW_EXHAUSTIVE
|
||||
mode), use this as input for \fIfftw\-wisdom\-to\-conf\fR,
|
||||
and then re-link your program with the resulting configuration routine.
|
||||
|
||||
Note that the configuration routine does not contain the wisdom, only
|
||||
the routines necessary to implement the wisdom, so your program should
|
||||
also import the wisdom in order to benefit from the pre-optimized
|
||||
plans.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
Display help on the command-line options and usage.
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print the version number and copyright information.
|
||||
.SH BUGS
|
||||
Send bug reports to fftw@fftw.org.
|
||||
.SH AUTHORS
|
||||
Written by Steven G. Johnson and Matteo Frigo.
|
||||
|
||||
Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
.br
|
||||
Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
.SH "SEE ALSO"
|
||||
fftw-wisdom(1)
|
||||
82
fftw-3.3.10/tools/fftw-wisdom-to-conf.in
Executable file
82
fftw-3.3.10/tools/fftw-wisdom-to-conf.in
Executable file
@@ -0,0 +1,82 @@
|
||||
#! /bin/sh
|
||||
|
||||
if test "x$1" = "x--help" || test "x$1" = "x-h"; then
|
||||
cat <<EOF
|
||||
Usage: fftw-wisdom-to-conf [OPTIONS] [< INPUT] [> OUTPUT]
|
||||
Convert wisdom (stdin) to C configuration routine (stdout).
|
||||
|
||||
Options:
|
||||
-h, --help: print this help
|
||||
-V, --version: print version/copyright info
|
||||
EOF
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test "x$1" = "x--version" || test "x$1" = "x-V"; then
|
||||
cat <<EOF
|
||||
fftw-wisdom-to-conf from FFTW version @VERSION@
|
||||
|
||||
Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
|
||||
This program 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 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
EOF
|
||||
exit 0
|
||||
fi
|
||||
|
||||
read preamble fftw_wisdom
|
||||
|
||||
case "$preamble $fftw_wisdom" in
|
||||
\(@PACKAGE@-@VERSION@\ *_wisdom*)
|
||||
prefix=`echo $fftw_wisdom | cut -d_ -f1`_
|
||||
;;
|
||||
*)
|
||||
echo "fftw-wisdom-to-conf: invalid wisdom" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
cat <<EOF
|
||||
/* Automatically generated by fftw-wisdom-to-conf from @PACKAGE@ @VERSION@.
|
||||
DO NOT EDIT! (Unless you really, really want to. Then it's okay.) */
|
||||
void ${prefix}configure_planner(void *plnr)
|
||||
{
|
||||
struct solvtab_s { void (*reg)(void *); const char *reg_nam; };
|
||||
extern void ${prefix}solvtab_exec(const struct solvtab_s s[], void *);
|
||||
|
||||
#define DECLARE(name) extern void name(void *);
|
||||
#define STRINGIZEx(x) #x
|
||||
#define STRINGIZE(x) STRINGIZEx(x)
|
||||
#define SOLVTAB(s) { s, STRINGIZE(s) },
|
||||
#define DO(X) \\
|
||||
EOF
|
||||
|
||||
sed 's/ *(//' | cut -d" " -f1 | grep -v -- - | egrep -v '^ *\)*$' | sort | uniq | while read reg_nam; do
|
||||
printf ' X(%s)\\\n' "$reg_nam"
|
||||
done
|
||||
|
||||
cat <<EOF
|
||||
/* end DO(X) */
|
||||
|
||||
DO(DECLARE)
|
||||
|
||||
const struct solvtab_s s[] = {
|
||||
DO(SOLVTAB)
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
${prefix}solvtab_exec(s, plnr);
|
||||
}
|
||||
EOF
|
||||
360
fftw-3.3.10/tools/fftw-wisdom.c
Normal file
360
fftw-3.3.10/tools/fftw-wisdom.c
Normal file
@@ -0,0 +1,360 @@
|
||||
/* Re-use libbench2 and the test program, but override bench_main so that
|
||||
we can have different command-line syntax. */
|
||||
#include "libbench2/my-getopt.h"
|
||||
#include "libbench2/bench.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include "api/fftw3.h"
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(HAVE_THREADS) || defined(HAVE_OPENMP)
|
||||
# define HAVE_SMP
|
||||
extern int threads_ok;
|
||||
#endif
|
||||
|
||||
#define CONCAT(prefix, name) prefix ## name
|
||||
#if defined(BENCHFFT_SINGLE)
|
||||
#define FFTW(x) CONCAT(fftwf_, x)
|
||||
#elif defined(BENCHFFT_LDOUBLE)
|
||||
#define FFTW(x) CONCAT(fftwl_, x)
|
||||
#elif defined(BENCHFFT_QUAD)
|
||||
#define FFTW(x) CONCAT(fftwq_, x)
|
||||
#else
|
||||
#define FFTW(x) CONCAT(fftw_, x)
|
||||
#endif
|
||||
|
||||
/* from bench.c: */
|
||||
extern unsigned the_flags;
|
||||
extern int usewisdom;
|
||||
extern int nthreads;
|
||||
|
||||
/* dummy routines to replace those in hook.c */
|
||||
void install_hook(void) {}
|
||||
void uninstall_hook(void) {}
|
||||
|
||||
int verbose;
|
||||
|
||||
static void do_problem(bench_problem *p)
|
||||
{
|
||||
if (verbose)
|
||||
printf("Planning transform: %s\n", p->pstring);
|
||||
/* BENCH_ASSERT(can_do(p)); */
|
||||
problem_alloc(p);
|
||||
setup(p);
|
||||
done(p);
|
||||
}
|
||||
|
||||
static void add_problem(const char *pstring,
|
||||
bench_problem ***p, int *ip, int *np)
|
||||
{
|
||||
if (*ip >= *np) {
|
||||
*np = *np * 2 + 1;
|
||||
*p = (bench_problem **) realloc(*p, sizeof(bench_problem *) * *np);
|
||||
}
|
||||
(*p)[(*ip)++] = problem_parse(pstring);
|
||||
}
|
||||
|
||||
static int sz(const bench_problem *p)
|
||||
{
|
||||
return tensor_sz(p->sz) * tensor_sz(p->vecsz);
|
||||
}
|
||||
|
||||
static int prob_size_cmp(const void *p1_, const void *p2_)
|
||||
{
|
||||
const bench_problem * const *p1 = (const bench_problem * const *) p1_;
|
||||
const bench_problem * const *p2 = (const bench_problem * const *) p2_;
|
||||
return (sz(*p1) - sz(*p2));
|
||||
}
|
||||
|
||||
static struct my_option options[] =
|
||||
{
|
||||
{"help", NOARG, 'h'},
|
||||
{"version", NOARG, 'V'},
|
||||
{"verbose", NOARG, 'v'},
|
||||
|
||||
{"canonical", NOARG, 'c'},
|
||||
{"time-limit", REQARG, 't'},
|
||||
|
||||
{"output-file", REQARG, 'o'},
|
||||
|
||||
{"impatient", NOARG, 'i'},
|
||||
{"measure", NOARG, 'm'},
|
||||
{"estimate", NOARG, 'e'},
|
||||
{"exhaustive", NOARG, 'x'},
|
||||
|
||||
{"no-system-wisdom", NOARG, 'n'},
|
||||
{"wisdom-file", REQARG, 'w'},
|
||||
|
||||
#ifdef HAVE_SMP
|
||||
{"threads", REQARG, 'T'},
|
||||
#endif
|
||||
|
||||
/* options to restrict configuration to rdft-only, etcetera? */
|
||||
|
||||
{0, NOARG, 0}
|
||||
};
|
||||
|
||||
static void help(FILE *f, const char *program_name)
|
||||
{
|
||||
fprintf(
|
||||
f,
|
||||
"Usage: %s [options] [sizes]\n"
|
||||
" Create wisdom (pre-planned/optimized transforms) for specified sizes,\n"
|
||||
" writing wisdom to stdout (or to a file, using -o).\n"
|
||||
"\nOptions:\n"
|
||||
" -h, --help: print this help\n"
|
||||
" -V, --version: print version/copyright info\n"
|
||||
" -v, --verbose: verbose output\n"
|
||||
" -c, --canonical: plan/optimize canonical set of sizes\n"
|
||||
" -t <h>, --time-limit=<h>: time limit in hours (default: 0, no limit)\n"
|
||||
" -o FILE, --output-file=FILE: output to FILE instead of stdout\n"
|
||||
" -m, --measure: plan in MEASURE mode (PATIENT is default)\n"
|
||||
" -e, --estimate: plan in ESTIMATE mode (not recommended)\n"
|
||||
" -x, --exhaustive: plan in EXHAUSTIVE mode (may be slow)\n"
|
||||
" -n, --no-system-wisdom: don't read /etc/fftw/ system wisdom file\n"
|
||||
" -w FILE, --wisdom-file=FILE: read wisdom from FILE (stdin if -)\n"
|
||||
#ifdef HAVE_SMP
|
||||
" -T N, --threads=N: plan with N threads\n"
|
||||
#endif
|
||||
"\nSize syntax: <type><inplace><direction><geometry>\n"
|
||||
" <type> = c/r/k for complex/real(r2c,c2r)/r2r\n"
|
||||
" <inplace> = i/o for in/out-of place\n"
|
||||
" <direction> = f/b for forward/backward, omitted for k transforms\n"
|
||||
" <geometry> = <n1>[x<n2>[x...]], e.g. 10x12x14\n"
|
||||
" -- for k transforms, after each dimension is a <kind>:\n"
|
||||
" <kind> = f/b/h/e00/e01/e10/e11/o00/o01/o10/o11\n"
|
||||
" for R2HC/HC2R/DHT/REDFT00/.../RODFT11\n"
|
||||
, program_name);
|
||||
}
|
||||
|
||||
/* powers of two and ten up to 2^20, for now */
|
||||
static char canonical_sizes[][32] = {
|
||||
"1", "2", "4", "8", "16", "32", "64", "128", "256", "512", "1024",
|
||||
"2048", "4096", "8192", "16384", "32768", "65536", "131072",
|
||||
"262144", "524288", "1048576",
|
||||
|
||||
"10", "100", "1000", "10000", "100000", "1000000",
|
||||
|
||||
"2x2", "4x4", "8x8", "10x10", "16x16", "32x32", "64x64", "100x100",
|
||||
"128x128", "256x256", "512x512", "1000x1000", "1024x1024",
|
||||
|
||||
"2x2x2", "4x4x4", "8x8x8", "10x10x10", "16x16x16", "32x32x32",
|
||||
"64x64x64", "100x100x100"
|
||||
};
|
||||
|
||||
#define NELEM(array)(sizeof(array) / sizeof((array)[0]))
|
||||
|
||||
int bench_main(int argc, char *argv[])
|
||||
{
|
||||
int c;
|
||||
unsigned i;
|
||||
int impatient = 0;
|
||||
int system_wisdom = 1;
|
||||
int canonical = 0;
|
||||
double hours = 0;
|
||||
FILE *output_file;
|
||||
char *output_fname = 0;
|
||||
bench_problem **problems = 0;
|
||||
int nproblems = 0, iproblem = 0;
|
||||
time_t begin;
|
||||
|
||||
verbose = 0;
|
||||
usewisdom = 0;
|
||||
|
||||
bench_srand(1);
|
||||
#ifdef HAVE_SMP
|
||||
/* do not configure FFTW with threads, unless the
|
||||
user requests -T */
|
||||
threads_ok = 0;
|
||||
#endif
|
||||
|
||||
while ((c = my_getopt(argc, argv, options)) != -1) {
|
||||
switch (c) {
|
||||
case 'h':
|
||||
help(stdout, argv[0]);
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
|
||||
case 'V':
|
||||
printf("fftw-wisdom tool for FFTW version " VERSION ".\n");
|
||||
printf(
|
||||
"\n"
|
||||
"Copyright (c) 2003, 2007-14 Matteo Frigo\n"
|
||||
"Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology\n"
|
||||
"\n"
|
||||
"This program is free software; you can redistribute it and/or modify\n"
|
||||
"it under the terms of the GNU General Public License as published by\n"
|
||||
"the Free Software Foundation; either version 2 of the License, or\n"
|
||||
"(at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will be useful,\n"
|
||||
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
|
||||
"GNU General Public License for more details.\n"
|
||||
"\n"
|
||||
"You should have received a copy of the GNU General Public License\n"
|
||||
"along with this program; if not, write to the Free Software\n"
|
||||
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n"
|
||||
);
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
verbose = 1;
|
||||
break;
|
||||
|
||||
case 'c':
|
||||
canonical = 1;
|
||||
break;
|
||||
|
||||
case 't':
|
||||
hours = atof(my_optarg);
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
if (output_fname)
|
||||
bench_free(output_fname);
|
||||
|
||||
if (!strcmp(my_optarg, "-"))
|
||||
output_fname = 0;
|
||||
else {
|
||||
output_fname = (char *) bench_malloc(sizeof(char) *
|
||||
(strlen(my_optarg) + 1));
|
||||
strcpy(output_fname, my_optarg);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
case 'i':
|
||||
impatient = 1;
|
||||
break;
|
||||
|
||||
case 'e':
|
||||
the_flags |= FFTW_ESTIMATE;
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
the_flags |= FFTW_EXHAUSTIVE;
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
system_wisdom = 0;
|
||||
break;
|
||||
|
||||
case 'w': {
|
||||
FILE *w = stdin;
|
||||
if (strcmp(my_optarg, "-") && !(w = fopen(my_optarg, "r"))) {
|
||||
fprintf(stderr,
|
||||
"fftw-wisdom: error opening \"%s\": ", my_optarg);
|
||||
perror("");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (!FFTW(import_wisdom_from_file)(w)) {
|
||||
fprintf(stderr, "fftw_wisdom: error reading wisdom "
|
||||
"from \"%s\"\n", my_optarg);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (w != stdin)
|
||||
fclose(w);
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef HAVE_SMP
|
||||
case 'T':
|
||||
nthreads = atoi(my_optarg);
|
||||
if (nthreads < 1) nthreads = 1;
|
||||
threads_ok = 1;
|
||||
BENCH_ASSERT(FFTW(init_threads)());
|
||||
break;
|
||||
#endif
|
||||
|
||||
case '?':
|
||||
/* `my_getopt' already printed an error message. */
|
||||
cleanup();
|
||||
return EXIT_FAILURE;
|
||||
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
|
||||
if (!impatient)
|
||||
the_flags |= FFTW_PATIENT;
|
||||
|
||||
if (system_wisdom)
|
||||
if (!FFTW(import_system_wisdom)() && verbose)
|
||||
fprintf(stderr, "fftw-wisdom: system-wisdom import failed\n");
|
||||
|
||||
if (canonical) {
|
||||
for (i = 0; i < NELEM(canonical_sizes); ++i) {
|
||||
unsigned j;
|
||||
char types[][8] = {
|
||||
"cof", "cob", "cif", "cib", "rof", "rob", "rif", "rib"
|
||||
};
|
||||
|
||||
for (j = 0; j < NELEM(types); ++j) {
|
||||
char ps[64];
|
||||
if (!strchr(canonical_sizes[i],'x')
|
||||
|| !strchr(types[j],'o')) {
|
||||
#ifdef HAVE_SNPRINTF
|
||||
snprintf(ps, sizeof(ps), "%s%s", types[j], canonical_sizes[i]);
|
||||
#else
|
||||
sprintf(ps, "%s%s", types[j], canonical_sizes[i]);
|
||||
#endif
|
||||
add_problem(ps, &problems, &iproblem, &nproblems);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while (my_optind < argc) {
|
||||
if (!strcmp(argv[my_optind], "-")) {
|
||||
char s[1025];
|
||||
while (1 == fscanf(stdin, "%1024s", s))
|
||||
add_problem(s, &problems, &iproblem, &nproblems);
|
||||
}
|
||||
else
|
||||
add_problem(argv[my_optind], &problems, &iproblem, &nproblems);
|
||||
++my_optind;
|
||||
}
|
||||
|
||||
nproblems = iproblem;
|
||||
qsort(problems, nproblems, sizeof(bench_problem *), prob_size_cmp);
|
||||
|
||||
if (!output_fname)
|
||||
output_file = stdout;
|
||||
else
|
||||
if (!(output_file = fopen(output_fname, "w"))) {
|
||||
fprintf(stderr,
|
||||
"fftw-wisdom: error creating \"%s\"", output_fname);
|
||||
perror("");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
begin = time((time_t*)0);
|
||||
for (iproblem = 0; iproblem < nproblems; ++iproblem) {
|
||||
if (hours <= 0
|
||||
|| hours > (time((time_t*)0) - begin) / 3600.0)
|
||||
do_problem(problems[iproblem]);
|
||||
problem_destroy(problems[iproblem]);
|
||||
|
||||
}
|
||||
free(problems);
|
||||
|
||||
if (verbose && hours > 0
|
||||
&& hours < (time((time_t*)0) - begin) / 3600.0)
|
||||
fprintf(stderr, "EXCEEDED TIME LIMIT OF %g HOURS.\n", hours);
|
||||
|
||||
FFTW(export_wisdom_to_file)(output_file);
|
||||
if (output_file != stdout)
|
||||
fclose(output_file);
|
||||
if (output_fname)
|
||||
bench_free(output_fname);
|
||||
|
||||
cleanup();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
196
fftw-3.3.10/tools/fftw_wisdom.1.in
Normal file
196
fftw-3.3.10/tools/fftw_wisdom.1.in
Normal file
@@ -0,0 +1,196 @@
|
||||
.\"
|
||||
.\" Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
.\" Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
.\"
|
||||
.\" This program 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 2 of the License, or
|
||||
.\" (at your option) any later version.
|
||||
.\"
|
||||
.\" This program 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 this program; if not, write to the Free Software
|
||||
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
.\"
|
||||
.TH FFTW-WISDOM 1 "February, 2003" "fftw" "fftw"
|
||||
.SH NAME
|
||||
fftw@PREC_SUFFIX@\-wisdom \- create wisdom (pre-optimized FFTs)
|
||||
.SH SYNOPSIS
|
||||
.B fftw@PREC_SUFFIX@\-wisdom
|
||||
[\fIOPTION\fR]... [\fISIZE\fR]...
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" Add any additional description here
|
||||
.I fftw@PREC_SUFFIX@\-wisdom
|
||||
is a utility to generate FFTW
|
||||
.B wisdom
|
||||
files, which contain saved information about how to optimally compute
|
||||
(Fourier) transforms of various sizes. FFTW is a free library to
|
||||
compute discrete Fourier transforms in one or more dimensions, for
|
||||
arbitrary sizes, and of both real and complex data, among other
|
||||
related operations. More information on FFTW can be found at the FFTW
|
||||
home page:
|
||||
.I http://www.fftw.org
|
||||
|
||||
Programs using FFTW can be written to load wisdom from an arbitrary file,
|
||||
string, or other source. Moreover, it is likely that many FFTW-using
|
||||
programs will load the \fBsystem wisdom\fR file, which is stored in
|
||||
.I /etc/fftw/wisdom@PREC_SUFFIX@
|
||||
by default.
|
||||
.I fftw@PREC_SUFFIX@\-wisdom
|
||||
can be used to create or add to such wisdom files. In its most
|
||||
typical usage, the wisdom file can be created to pre-plan a canonical
|
||||
set of sizes (see below) via:
|
||||
|
||||
.ce
|
||||
fftw@PREC_SUFFIX@\-wisdom \-v \-c \-o wisdom@PREC_SUFFIX@
|
||||
|
||||
(this will take many hours, which can be limited by the
|
||||
.B \-t
|
||||
option) and the output
|
||||
.I wisdom@PREC_SUFFIX@
|
||||
file can then be copied (as root) to
|
||||
.I /etc/fftw/
|
||||
or whatever.
|
||||
|
||||
The
|
||||
.I fftw@PREC_SUFFIX@\-wisdom
|
||||
program normally writes the wisdom directly to standard output, but this
|
||||
can be changed via the
|
||||
.B \-o
|
||||
option, as in the example above.
|
||||
|
||||
If the system wisdom file
|
||||
.I /etc/fftw/wisdom@PREC_SUFFIX@
|
||||
already exists, then
|
||||
.I fftw@PREC_SUFFIX@\-wisdom
|
||||
reads this existing wisdom (unless the
|
||||
.B \-n
|
||||
option is specified) and outputs both the old wisdom and any
|
||||
newly created wisdom. In this way, it can be used to add new transform
|
||||
sizes to the existing system wisdom (or other wisdom file, with the
|
||||
.B \-w
|
||||
option).
|
||||
.SH SPECIFYING SIZES
|
||||
Although a canonical set of sizes to optimize is specified by the
|
||||
.B \-c
|
||||
option, the user can also specify zero or more non-canonical transform
|
||||
sizes and types to optimize, via the
|
||||
.I SIZE
|
||||
arguments following the option flags. Alternatively, the sizes to
|
||||
optimize can be read from standard input (whitespace-separated), if a
|
||||
.I SIZE
|
||||
argument of "\-" is supplied.
|
||||
|
||||
Sizes are specified by the syntax:
|
||||
|
||||
.ce
|
||||
<\fItype\fR><\fIinplace\fR><\fIdirection\fR><\fIgeometry\fR>
|
||||
|
||||
<\fItype\fR> is either \'c\' (complex), \'r\' (real, r2c/c2r), or
|
||||
\'k\' (r2r, per-dimension kinds, specified in the geometry, below).
|
||||
|
||||
<\fIinplace\fR> is either \'i\' (in place) or \'o\' (out of place).
|
||||
|
||||
<\fIdirection\fR> is either \'f\' (forward) or \'b\' (backward). The
|
||||
<\fIdirection\fR> should be omitted for \'k\' transforms, where it is
|
||||
specified via the geometry instead.
|
||||
|
||||
<\fIgeometry\fR> is the size and dimensionality of the transform,
|
||||
where different dimensions are separated by \'x\' (e.g. \'16x32\' for
|
||||
a two-dimensional 16 by 32 transform). In the case of \'k\'
|
||||
transforms, the size of each dimension is followed by a "type" string,
|
||||
which can be one of f/b/h/e00/e01/e10/e11/o00/o01/o10/o11 for
|
||||
R2HC/HC2R/DHT/REDFT00/.../RODFT11, respectively, as defined in the
|
||||
FFTW manual.
|
||||
|
||||
For example, \'cif12x13x14\' is a three-dimensional 12 by 13 x 14
|
||||
complex DFT operating in-place. \'rob65536\' is a one-dimensional
|
||||
size-65536 out-of-place complex-to-real (backwards) transform
|
||||
operating on Hermitian-symmetry input. \'ki10hx20e01\' is a
|
||||
two-dimensional 10 by 20 r2r transform where the first dimension is a
|
||||
DHT and the second dimension is an REDFT01 (DCT-III).
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
Display help on the command-line options and usage.
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print the version number and copyright information.
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Verbose output. (You can specify this multiple times, or supply a numeric
|
||||
argument greater than 1, to increase the verbosity level.) Note that the
|
||||
verbose output will be mixed with the wisdom output (making it impossible
|
||||
to import), unless you write the wisdom to a file via the
|
||||
.B \-o
|
||||
option.
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-\-canonical\fR
|
||||
Optimize/pre-plan a canonical set of sizes: all powers of two and ten
|
||||
up to 2^20 (1048576), including both real and complex, forward and
|
||||
backwards, in-place and out-of-place transforms. Also includes two-
|
||||
and three-dimensional transforms of equal-size dimensions
|
||||
(e.g. 16x16x16).
|
||||
.TP
|
||||
\fB\-t\fR \fIhours\fR, \fB\-\-time\-limit\fR=\fIhours\fR
|
||||
Stop after a time of
|
||||
.I hours
|
||||
(hours) has elapsed, outputting accumulated wisdom. (The problems are planned
|
||||
in increasing order of size.) Defaults to 0, indicating no time limit.
|
||||
.TP
|
||||
\fB\-o\fR \fIfile\fR, \fB\-\-output-file\fR=\fIfile\fR
|
||||
Send wisdom output to
|
||||
.I file
|
||||
rather than to standard output (the default).
|
||||
.TP
|
||||
\fB\-m\fR, \fB\-\-measure\fR; \fB\-e\fR, \fB\-\-estimate\fR; \fB\-x\fR, \fB\-\-exhaustive\fR
|
||||
Normally,
|
||||
.I fftw@PREC_SUFFIX@\-wisdom
|
||||
creates plans in FFTW_PATIENT mode, but with these options you can instead
|
||||
use FFTW_MEASURE, FFTW_ESTIMATE, or FFTW_EXHAUSTIVE modes, respectively,
|
||||
as described in more detail by the FFTW manual.
|
||||
|
||||
Note that wisdom is tagged with the planning patience level, and a
|
||||
single file can mix different levels of wisdom (e.g. you can mostly
|
||||
use the patient default, but plan a few sizes that you especially care
|
||||
about in
|
||||
.B \-\-exhaustive
|
||||
mode).
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-no\-system\-wisdom\fR
|
||||
Do not import the system wisdom from
|
||||
.I /etc/fftw/wisdom@PREC_SUFFIX@
|
||||
(which is normally read by default).
|
||||
.TP
|
||||
\fB\-w\fR \fIfile\fR, \fB\-\-wisdom\-file\fR=\fIfile\fR
|
||||
Import wisdom from
|
||||
.I file
|
||||
(in addition to the system wisdom, unless
|
||||
.B \-n
|
||||
is specified). Multiple wisdom files can be read via multiple
|
||||
.B \-w
|
||||
options. If
|
||||
.I file
|
||||
is "\-", then read wisdom from standard input.
|
||||
.TP
|
||||
\fB\-T\fR \fIN\fR, \fB\--threads\fR=\fIN\fR
|
||||
Plan with
|
||||
.I N
|
||||
threads. This option is only present if FFTW was configured with
|
||||
thread support.
|
||||
.SH BUGS
|
||||
Send bug reports to fftw@fftw.org.
|
||||
.SH AUTHORS
|
||||
Written by Steven G. Johnson and Matteo Frigo.
|
||||
|
||||
Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
.br
|
||||
Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
.SH "SEE ALSO"
|
||||
fftw-wisdom-to-conf(1)
|
||||
196
fftw-3.3.10/tools/fftwf-wisdom.1
Normal file
196
fftw-3.3.10/tools/fftwf-wisdom.1
Normal file
@@ -0,0 +1,196 @@
|
||||
.\"
|
||||
.\" Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
.\" Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
.\"
|
||||
.\" This program 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 2 of the License, or
|
||||
.\" (at your option) any later version.
|
||||
.\"
|
||||
.\" This program 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 this program; if not, write to the Free Software
|
||||
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
.\"
|
||||
.TH FFTW-WISDOM 1 "February, 2003" "fftw" "fftw"
|
||||
.SH NAME
|
||||
fftwf\-wisdom \- create wisdom (pre-optimized FFTs)
|
||||
.SH SYNOPSIS
|
||||
.B fftwf\-wisdom
|
||||
[\fIOPTION\fR]... [\fISIZE\fR]...
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" Add any additional description here
|
||||
.I fftwf\-wisdom
|
||||
is a utility to generate FFTW
|
||||
.B wisdom
|
||||
files, which contain saved information about how to optimally compute
|
||||
(Fourier) transforms of various sizes. FFTW is a free library to
|
||||
compute discrete Fourier transforms in one or more dimensions, for
|
||||
arbitrary sizes, and of both real and complex data, among other
|
||||
related operations. More information on FFTW can be found at the FFTW
|
||||
home page:
|
||||
.I http://www.fftw.org
|
||||
|
||||
Programs using FFTW can be written to load wisdom from an arbitrary file,
|
||||
string, or other source. Moreover, it is likely that many FFTW-using
|
||||
programs will load the \fBsystem wisdom\fR file, which is stored in
|
||||
.I /etc/fftw/wisdomf
|
||||
by default.
|
||||
.I fftwf\-wisdom
|
||||
can be used to create or add to such wisdom files. In its most
|
||||
typical usage, the wisdom file can be created to pre-plan a canonical
|
||||
set of sizes (see below) via:
|
||||
|
||||
.ce
|
||||
fftwf\-wisdom \-v \-c \-o wisdomf
|
||||
|
||||
(this will take many hours, which can be limited by the
|
||||
.B \-t
|
||||
option) and the output
|
||||
.I wisdomf
|
||||
file can then be copied (as root) to
|
||||
.I /etc/fftw/
|
||||
or whatever.
|
||||
|
||||
The
|
||||
.I fftwf\-wisdom
|
||||
program normally writes the wisdom directly to standard output, but this
|
||||
can be changed via the
|
||||
.B \-o
|
||||
option, as in the example above.
|
||||
|
||||
If the system wisdom file
|
||||
.I /etc/fftw/wisdomf
|
||||
already exists, then
|
||||
.I fftwf\-wisdom
|
||||
reads this existing wisdom (unless the
|
||||
.B \-n
|
||||
option is specified) and outputs both the old wisdom and any
|
||||
newly created wisdom. In this way, it can be used to add new transform
|
||||
sizes to the existing system wisdom (or other wisdom file, with the
|
||||
.B \-w
|
||||
option).
|
||||
.SH SPECIFYING SIZES
|
||||
Although a canonical set of sizes to optimize is specified by the
|
||||
.B \-c
|
||||
option, the user can also specify zero or more non-canonical transform
|
||||
sizes and types to optimize, via the
|
||||
.I SIZE
|
||||
arguments following the option flags. Alternatively, the sizes to
|
||||
optimize can be read from standard input (whitespace-separated), if a
|
||||
.I SIZE
|
||||
argument of "\-" is supplied.
|
||||
|
||||
Sizes are specified by the syntax:
|
||||
|
||||
.ce
|
||||
<\fItype\fR><\fIinplace\fR><\fIdirection\fR><\fIgeometry\fR>
|
||||
|
||||
<\fItype\fR> is either \'c\' (complex), \'r\' (real, r2c/c2r), or
|
||||
\'k\' (r2r, per-dimension kinds, specified in the geometry, below).
|
||||
|
||||
<\fIinplace\fR> is either \'i\' (in place) or \'o\' (out of place).
|
||||
|
||||
<\fIdirection\fR> is either \'f\' (forward) or \'b\' (backward). The
|
||||
<\fIdirection\fR> should be omitted for \'k\' transforms, where it is
|
||||
specified via the geometry instead.
|
||||
|
||||
<\fIgeometry\fR> is the size and dimensionality of the transform,
|
||||
where different dimensions are separated by \'x\' (e.g. \'16x32\' for
|
||||
a two-dimensional 16 by 32 transform). In the case of \'k\'
|
||||
transforms, the size of each dimension is followed by a "type" string,
|
||||
which can be one of f/b/h/e00/e01/e10/e11/o00/o01/o10/o11 for
|
||||
R2HC/HC2R/DHT/REDFT00/.../RODFT11, respectively, as defined in the
|
||||
FFTW manual.
|
||||
|
||||
For example, \'cif12x13x14\' is a three-dimensional 12 by 13 x 14
|
||||
complex DFT operating in-place. \'rob65536\' is a one-dimensional
|
||||
size-65536 out-of-place complex-to-real (backwards) transform
|
||||
operating on Hermitian-symmetry input. \'ki10hx20e01\' is a
|
||||
two-dimensional 10 by 20 r2r transform where the first dimension is a
|
||||
DHT and the second dimension is an REDFT01 (DCT-III).
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
Display help on the command-line options and usage.
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print the version number and copyright information.
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Verbose output. (You can specify this multiple times, or supply a numeric
|
||||
argument greater than 1, to increase the verbosity level.) Note that the
|
||||
verbose output will be mixed with the wisdom output (making it impossible
|
||||
to import), unless you write the wisdom to a file via the
|
||||
.B \-o
|
||||
option.
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-\-canonical\fR
|
||||
Optimize/pre-plan a canonical set of sizes: all powers of two and ten
|
||||
up to 2^20 (1048576), including both real and complex, forward and
|
||||
backwards, in-place and out-of-place transforms. Also includes two-
|
||||
and three-dimensional transforms of equal-size dimensions
|
||||
(e.g. 16x16x16).
|
||||
.TP
|
||||
\fB\-t\fR \fIhours\fR, \fB\-\-time\-limit\fR=\fIhours\fR
|
||||
Stop after a time of
|
||||
.I hours
|
||||
(hours) has elapsed, outputting accumulated wisdom. (The problems are planned
|
||||
in increasing order of size.) Defaults to 0, indicating no time limit.
|
||||
.TP
|
||||
\fB\-o\fR \fIfile\fR, \fB\-\-output-file\fR=\fIfile\fR
|
||||
Send wisdom output to
|
||||
.I file
|
||||
rather than to standard output (the default).
|
||||
.TP
|
||||
\fB\-m\fR, \fB\-\-measure\fR; \fB\-e\fR, \fB\-\-estimate\fR; \fB\-x\fR, \fB\-\-exhaustive\fR
|
||||
Normally,
|
||||
.I fftwf\-wisdom
|
||||
creates plans in FFTW_PATIENT mode, but with these options you can instead
|
||||
use FFTW_MEASURE, FFTW_ESTIMATE, or FFTW_EXHAUSTIVE modes, respectively,
|
||||
as described in more detail by the FFTW manual.
|
||||
|
||||
Note that wisdom is tagged with the planning patience level, and a
|
||||
single file can mix different levels of wisdom (e.g. you can mostly
|
||||
use the patient default, but plan a few sizes that you especially care
|
||||
about in
|
||||
.B \-\-exhaustive
|
||||
mode).
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-no\-system\-wisdom\fR
|
||||
Do not import the system wisdom from
|
||||
.I /etc/fftw/wisdomf
|
||||
(which is normally read by default).
|
||||
.TP
|
||||
\fB\-w\fR \fIfile\fR, \fB\-\-wisdom\-file\fR=\fIfile\fR
|
||||
Import wisdom from
|
||||
.I file
|
||||
(in addition to the system wisdom, unless
|
||||
.B \-n
|
||||
is specified). Multiple wisdom files can be read via multiple
|
||||
.B \-w
|
||||
options. If
|
||||
.I file
|
||||
is "\-", then read wisdom from standard input.
|
||||
.TP
|
||||
\fB\-T\fR \fIN\fR, \fB\--threads\fR=\fIN\fR
|
||||
Plan with
|
||||
.I N
|
||||
threads. This option is only present if FFTW was configured with
|
||||
thread support.
|
||||
.SH BUGS
|
||||
Send bug reports to fftw@fftw.org.
|
||||
.SH AUTHORS
|
||||
Written by Steven G. Johnson and Matteo Frigo.
|
||||
|
||||
Copyright (c) 2003, 2007-14 Matteo Frigo
|
||||
.br
|
||||
Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
|
||||
.SH "SEE ALSO"
|
||||
fftw-wisdom-to-conf(1)
|
||||
Reference in New Issue
Block a user