diff --git a/baselibs.conf b/baselibs.conf index b2b250f..4f0dece 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,2 +1,4 @@ fftw3 fftw3-threads +fftw3-omp +fftw3-mpi diff --git a/fftw-3.2.2.tar.bz2 b/fftw-3.2.2.tar.bz2 deleted file mode 100644 index 974efb6..0000000 --- a/fftw-3.2.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e11892c45ad3aa418f0f08eaebb486f78cdb28d5dfcf88dd29aca41ded2c483a -size 2555789 diff --git a/fftw-3.3.tar.bz2 b/fftw-3.3.tar.bz2 new file mode 100644 index 0000000..d4e9a27 --- /dev/null +++ b/fftw-3.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f704c2fc1060849ea7467b479c62476c28d97e54211d2505831ca383b88e9b1e +size 2945530 diff --git a/fftw3.changes b/fftw3.changes index a0f225d..09c2c50 100644 --- a/fftw3.changes +++ b/fftw3.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Aug 3 13:58:49 UTC 2011 - dhall@wustl.edu + +- updated to version 3.3: + * Compiling OpenMP support (--enable-openmp) now installs a fftw3_omp + library, instead of fftw3_threads, so that OpenMP and POSIX threads + (--enable-threads) libraries can be built and installed at the same time. + * Add support for the AVX extensions to x86 and x86-64 + * Added Fortran 2003 interface + * Added MPI distributed-memory transforms + * Add support for quad-precision __float128 in gcc 4.6 or later (on x86. + x86-64, and Itanium). The new routines use the fftwq_ prefix. + * New convenience functions fftw_alloc_real and fftw_alloc_complex to use + fftw_malloc for real and complex arrays without typecasts or sizeof. + * New convenience functions fftw_export_wisdom_to_filename and + fftw_import_wisdom_from_filename that export/import wisdom to a file, which + don't require you to open/close the file yourself. + * New function fftw_cost to return FFTW's internal cost metric for a given plan + * Remove --enable-portable-binary flag: we new produce portable binaries by default. + * Fixed build problem failure when srand48 declaration is missing + * Fixed bug in fftw_set_timelimit: ensure that a negative timelimit is equivalent + to no timelimit in all cases + * Fixed stack-overflow problem on OpenBSD caused by using alloca with too + large a buffer. +- added openmp library support +- added mpi library support + ------------------------------------------------------------------- Sun Apr 24 12:59:34 UTC 2011 - toddrme2178@gmail.com diff --git a/fftw3.spec b/fftw3.spec index 670a441..2479f54 100644 --- a/fftw3.spec +++ b/fftw3.spec @@ -19,9 +19,9 @@ Name: fftw3 -BuildRequires: fdupes gcc-fortran pkgconfig +BuildRequires: fdupes gcc-fortran pkgconfig openmpi-devel Summary: Discrete Fourier Transform (DFT) C Subroutine Library -Version: 3.2.2 +Version: 3.3 Release: 12 License: GPLv2+ Group: Productivity/Scientific/Math @@ -94,6 +94,82 @@ data, and of arbitrary input size. +Authors: +-------- + Matteo Frigo + Stevenj G. Johnson + +%package openmp +License: GPLv2+ +Summary: Discrete Fourier Transform (DFT) C subroutine library +Group: Productivity/Scientific/Math +Requires: fftw3 = %{version} + +%description openmp +FFTW is a C subroutine library for computing the Discrete Fourier +Transform (DFT) in one or more dimensions, of both real and complex +data, and of arbitrary input size. + + + +Authors: +-------- + Matteo Frigo + Stevenj G. Johnson + +%package openmp-devel +License: GPLv2+ +Summary: Discrete Fourier Transform (DFT) C subroutine library +Group: Development/Libraries/C and C++ +Requires: fftw3-openmp = %{version} +Requires: fftw3-devel = %{version} glibc-devel + +%description openmp-devel +FFTW is a C subroutine library for computing the Discrete Fourier +Transform (DFT) in one or more dimensions, of both real and complex +data, and of arbitrary input size. + + + +Authors: +-------- + Matteo Frigo + Stevenj G. Johnson + +%package mpi +License: GPLv2+ +Summary: Discrete Fourier Transform (DFT) C subroutine library +Group: Productivity/Scientific/Math +Requires: fftw3 = %{version} +Requires: openmpi + +%description mpi +FFTW is a C subroutine library for computing the Discrete Fourier +Transform (DFT) in one or more dimensions, of both real and complex +data, and of arbitrary input size. + + + +Authors: +-------- + Matteo Frigo + Stevenj G. Johnson + +%package mpi-devel +License: GPLv2+ +Summary: Discrete Fourier Transform (DFT) C subroutine library +Group: Development/Libraries/C and C++ +Requires: fftw3-mpi = %{version} +Requires: fftw3-devel = %{version} glibc-devel +Requires: openmpi-devel + +%description mpi-devel +FFTW is a C subroutine library for computing the Discrete Fourier +Transform (DFT) in one or more dimensions, of both real and complex +data, and of arbitrary input size. + + + Authors: -------- Matteo Frigo @@ -105,7 +181,7 @@ Authors: # autoreconf --force --install %build -%configure --enable-shared --enable-threads --disable-static +%configure --enable-shared --enable-threads --enable-openmp --enable-mpi --disable-static make %{?jobs:-j %jobs} %install @@ -114,7 +190,7 @@ make DESTDIR=$RPM_BUILD_ROOT install rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a # hack to also compile/install single-precision version: make distclean -%configure --enable-shared --enable-threads --enable-float --disable-static +%configure --enable-shared --enable-threads --enable-float --enable-openmp --enable-mpi --disable-static make %{?jobs:-j %jobs} make DESTDIR=$RPM_BUILD_ROOT install # remove unneeded files @@ -139,6 +215,14 @@ find doc -name 'Makefile*' | xargs rm %postun threads -p /sbin/ldconfig +%post openmp -p /sbin/ldconfig + +%postun openmp -p /sbin/ldconfig + +%post mpi -p /sbin/ldconfig + +%postun mpi -p /sbin/ldconfig + %clean test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT @@ -169,4 +253,24 @@ test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT %{_libdir}/libfftw3_threads.so %{_libdir}/libfftw3f_threads.so +%files openmp +%defattr(-,root,root) +%{_libdir}/libfftw3_omp.so.* +%{_libdir}/libfftw3f_omp.so.* + +%files openmp-devel +%defattr(-,root,root) +%{_libdir}/libfftw3_omp.so +%{_libdir}/libfftw3f_omp.so + +%files mpi +%defattr(-,root,root) +%{_libdir}/libfftw3_mpi.so.* +%{_libdir}/libfftw3f_mpi.so.* + +%files mpi-devel +%defattr(-,root,root) +%{_libdir}/libfftw3_mpi.so +%{_libdir}/libfftw3f_mpi.so + %changelog