| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*******************************************************************************
- * Copyright 2010-2022 Intel Corporation.
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you (License). Unless the License provides otherwise, you may not
- * use, modify, copy, publish, distribute, disclose or transmit this software or
- * the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- *******************************************************************************/
- /*
- *
- * Definitions for MPI FFTW3 wrappers to Intel(R) oneAPI Math Kernel Library (Intel(R) oneMKL).
- *
- ******************************************************************************
- */
- #ifndef FFTW3_MPI_MKL_H
- #define FFTW3_MPI_MKL_H
- #include "fftw3-mpi.h"
- #if defined(MKL_SINGLE)
- typedef float real_t;
- typedef fftwf_complex complex_t;
- #define MPI_PREC MPI_FLOAT
- #define MKL_PREC DFTI_SINGLE
- #define FFTW_MPI_MANGLE(name) FFTW_MPI_MANGLE_FLOAT(name)
- #define FFTW_MANGLE(name) FFTW_MANGLE_FLOAT(name)
- #else
- typedef double real_t;
- typedef fftw_complex complex_t;
- #define MPI_PREC MPI_DOUBLE
- #define MKL_PREC DFTI_DOUBLE
- #define FFTW_MPI_MANGLE(name) FFTW_MPI_MANGLE_DOUBLE(name)
- #define FFTW_MANGLE(name) FFTW_MANGLE_DOUBLE(name)
- #endif
- #include "fftw3_mkl.h"
- #include "mkl_cdft.h"
- #define WANT_FAST_INPLACE_CLUSTER_FFT 1
- /* if WANT_FAST_INPLACE_CLUSTER_FFT set to 1, FFTW3 MPI wrappers internally
- * allocate additional memory(workspace) needed for fast inplace Intel(R) oneMKL CDFT
- * otherwise, no additional memory is used, though the perfomance would be
- * worse, because of many MPI communications */
- #endif /* FFTW3_MPI_MKL_H */
|