Beispiel #1
0
extern void X(codelet_hc2cbdft_8)(planner *);
extern void X(codelet_hc2cbdft_10)(planner *);
extern void X(codelet_hc2cbdft_12)(planner *);
extern void X(codelet_hc2cbdft_16)(planner *);
extern void X(codelet_hc2cbdft_32)(planner *);
extern void X(codelet_hc2cbdft_20)(planner *);
extern void X(codelet_hc2cbdft2_4)(planner *);
extern void X(codelet_hc2cbdft2_8)(planner *);
extern void X(codelet_hc2cbdft2_16)(planner *);
extern void X(codelet_hc2cbdft2_32)(planner *);
extern void X(codelet_hc2cbdft2_20)(planner *);


extern const solvtab X(solvtab_rdft_r2cb);
const solvtab X(solvtab_rdft_r2cb) = {
   SOLVTAB(X(codelet_r2cb_2)),
   SOLVTAB(X(codelet_r2cb_3)),
   SOLVTAB(X(codelet_r2cb_4)),
   SOLVTAB(X(codelet_r2cb_5)),
   SOLVTAB(X(codelet_r2cb_6)),
   SOLVTAB(X(codelet_r2cb_7)),
   SOLVTAB(X(codelet_r2cb_8)),
   SOLVTAB(X(codelet_r2cb_9)),
   SOLVTAB(X(codelet_r2cb_10)),
   SOLVTAB(X(codelet_r2cb_11)),
   SOLVTAB(X(codelet_r2cb_12)),
   SOLVTAB(X(codelet_r2cb_13)),
   SOLVTAB(X(codelet_r2cb_14)),
   SOLVTAB(X(codelet_r2cb_15)),
   SOLVTAB(X(codelet_r2cb_16)),
   SOLVTAB(X(codelet_r2cb_32)),
Beispiel #2
0
/*
 * Copyright (c) 2003, 2007-8 Matteo Frigo
 * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology
 *
 * See the file COPYING for license information.
 *
 */


#include "dft.h"

static const solvtab s =
{
     SOLVTAB(X(dft_indirect_register)),
     SOLVTAB(X(dft_indirect_transpose_register)),
     SOLVTAB(X(dft_rank_geq2_register)),
     SOLVTAB(X(dft_vrank_geq1_register)),
     SOLVTAB(X(dft_buffered_register)),
     SOLVTAB(X(dft_generic_register)),
     SOLVTAB(X(dft_rader_register)),
     SOLVTAB(X(dft_bluestein_register)),
     SOLVTAB(X(dft_nop_register)),
     SOLVTAB(X(ct_generic_register)),
     SOLVTAB(X(ct_genericbuf_register)),
     SOLVTAB_END
};

void X(dft_conf_standard)(planner *p)
{
     X(solvtab_exec)(s, p);
     X(solvtab_exec)(X(solvtab_dft_standard), p);
Beispiel #3
0
 * 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
 *
 */


#include "rdft.h"

static const solvtab s =
{
     SOLVTAB(X(rdft_indirect_register)),
     SOLVTAB(X(rdft_rank0_register)),
     SOLVTAB(X(rdft_vrank3_transpose_register)),
     SOLVTAB(X(rdft_vrank_geq1_register)),

     SOLVTAB(X(rdft_nop_register)),
     SOLVTAB(X(rdft_buffered_register)),
     SOLVTAB(X(rdft_generic_register)),
     SOLVTAB(X(rdft_rank_geq2_register)),

     SOLVTAB(X(dft_r2hc_register)),

     SOLVTAB(X(rdft_dht_register)),
     SOLVTAB(X(dht_r2hc_register)),
     SOLVTAB(X(dht_rader_register)),
Beispiel #4
0
 *
 * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */


#include "mpi-transpose.h"
#include "mpi-dft.h"
#include "mpi-rdft.h"
#include "mpi-rdft2.h"

static const solvtab s =
{
     SOLVTAB(XM(transpose_pairwise_register)),
     SOLVTAB(XM(transpose_alltoall_register)),
     SOLVTAB(XM(transpose_recurse_register)),
     SOLVTAB(XM(dft_rank_geq2_register)),
     SOLVTAB(XM(dft_rank_geq2_transposed_register)),
     SOLVTAB(XM(dft_serial_register)),
     SOLVTAB(XM(dft_rank1_bigvec_register)),
     SOLVTAB(XM(dft_rank1_register)),
     SOLVTAB(XM(rdft_rank_geq2_register)),
     SOLVTAB(XM(rdft_rank_geq2_transposed_register)),
     SOLVTAB(XM(rdft_serial_register)),
     SOLVTAB(XM(rdft_rank1_bigvec_register)),
     SOLVTAB(XM(rdft2_rank_geq2_register)),
     SOLVTAB(XM(rdft2_rank_geq2_transposed_register)),
     SOLVTAB(XM(rdft2_serial_register)),
     SOLVTAB_END
Beispiel #5
0
extern void XSIMD(codelet_hc2cfdftv_32)(planner *);
extern void XSIMD(codelet_hc2cfdftv_20)(planner *);
extern void XSIMD(codelet_hc2cbdftv_2)(planner *);
extern void XSIMD(codelet_hc2cbdftv_4)(planner *);
extern void XSIMD(codelet_hc2cbdftv_6)(planner *);
extern void XSIMD(codelet_hc2cbdftv_8)(planner *);
extern void XSIMD(codelet_hc2cbdftv_10)(planner *);
extern void XSIMD(codelet_hc2cbdftv_12)(planner *);
extern void XSIMD(codelet_hc2cbdftv_16)(planner *);
extern void XSIMD(codelet_hc2cbdftv_32)(planner *);
extern void XSIMD(codelet_hc2cbdftv_20)(planner *);


extern const solvtab XSIMD(solvtab_rdft);
const solvtab XSIMD(solvtab_rdft) = {
   SOLVTAB(XSIMD(codelet_hc2cfdftv_2)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_4)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_6)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_8)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_10)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_12)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_16)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_32)),
   SOLVTAB(XSIMD(codelet_hc2cfdftv_20)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_2)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_4)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_6)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_8)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_10)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_12)),
   SOLVTAB(XSIMD(codelet_hc2cbdftv_16)),
 * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

/* $Id: conf.c,v 1.6 2003/04/08 20:19:39 stevenj Exp $ */

#include "reodft.h"

static const solvtab s =
{
     /* SOLVTAB(X(redft00e_r2hc_register)),
	SOLVTAB(X(rodft00e_r2hc_register)), */
     SOLVTAB(X(redft00e_r2hc_pad_register)),
     SOLVTAB(X(rodft00e_r2hc_pad_register)),
     SOLVTAB(X(reodft010e_r2hc_register)),
     /* SOLVTAB(X(reodft11e_r2hc_register)), */
     SOLVTAB(X(reodft11e_radix2_r2hc_register)),
     SOLVTAB(X(reodft11e_r2hc_odd_register)),

     SOLVTAB_END
};

void X(reodft_conf_standard)(planner *p)
{
     X(solvtab_exec)(s, p);
}
Beispiel #7
0
extern void X(codelet_t2sv_8)(planner *);
extern void X(codelet_t2sv_16)(planner *);
extern void X(codelet_t2sv_32)(planner *);
extern void X(codelet_q1fv_2)(planner *);
extern void X(codelet_q1fv_4)(planner *);
extern void X(codelet_q1fv_5)(planner *);
extern void X(codelet_q1fv_8)(planner *);
extern void X(codelet_q1bv_2)(planner *);
extern void X(codelet_q1bv_4)(planner *);
extern void X(codelet_q1bv_5)(planner *);
extern void X(codelet_q1bv_8)(planner *);


extern const solvtab X(solvtab_dft_simd);
const solvtab X(solvtab_dft_simd) = {
   SOLVTAB(X(codelet_n1fv_2)),
   SOLVTAB(X(codelet_n1fv_3)),
   SOLVTAB(X(codelet_n1fv_4)),
   SOLVTAB(X(codelet_n1fv_5)),
   SOLVTAB(X(codelet_n1fv_6)),
   SOLVTAB(X(codelet_n1fv_7)),
   SOLVTAB(X(codelet_n1fv_8)),
   SOLVTAB(X(codelet_n1fv_9)),
   SOLVTAB(X(codelet_n1fv_10)),
   SOLVTAB(X(codelet_n1fv_11)),
   SOLVTAB(X(codelet_n1fv_12)),
   SOLVTAB(X(codelet_n1fv_13)),
   SOLVTAB(X(codelet_n1fv_14)),
   SOLVTAB(X(codelet_n1fv_15)),
   SOLVTAB(X(codelet_n1fv_16)),
   SOLVTAB(X(codelet_n1fv_32)),
Beispiel #8
0
extern void X(codelet_t1bv_12)(planner *);
extern void X(codelet_t1bv_15)(planner *);
extern void X(codelet_t1bv_16)(planner *);
extern void X(codelet_t1bv_32)(planner *);
extern void X(codelet_t1bv_64)(planner *);
extern void X(codelet_q1fv_2)(planner *);
extern void X(codelet_q1fv_4)(planner *);
extern void X(codelet_q1fv_8)(planner *);
extern void X(codelet_q1bv_2)(planner *);
extern void X(codelet_q1bv_4)(planner *);
extern void X(codelet_q1bv_8)(planner *);


extern const solvtab X(solvtab_dft_simd);
const solvtab X(solvtab_dft_simd) = {
   SOLVTAB(X(codelet_n1fv_2)),
   SOLVTAB(X(codelet_n1fv_3)),
   SOLVTAB(X(codelet_n1fv_4)),
   SOLVTAB(X(codelet_n1fv_5)),
   SOLVTAB(X(codelet_n1fv_6)),
   SOLVTAB(X(codelet_n1fv_7)),
   SOLVTAB(X(codelet_n1fv_8)),
   SOLVTAB(X(codelet_n1fv_9)),
   SOLVTAB(X(codelet_n1fv_10)),
   SOLVTAB(X(codelet_n1fv_11)),
   SOLVTAB(X(codelet_n1fv_12)),
   SOLVTAB(X(codelet_n1fv_13)),
   SOLVTAB(X(codelet_n1fv_14)),
   SOLVTAB(X(codelet_n1fv_15)),
   SOLVTAB(X(codelet_n1fv_16)),
   SOLVTAB(X(codelet_n1bv_2)),
Beispiel #9
0
 * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

#include "dft.h"

#if HAVE_CELL

#include "fftw-cell.h"

static const solvtab s =
{
     SOLVTAB(X(dft_direct_cell_register)),
     SOLVTAB(X(ct_cell_direct_register)),
     SOLVTAB_END
};

void X(dft_conf_cell)(planner *p)
{
     X(solvtab_exec)(s, p);
}

#endif /* HAVE_CELL */
Beispiel #10
0
extern void X(codelet_t2_64)(planner *);
extern void X(codelet_t2_5)(planner *);
extern void X(codelet_t2_10)(planner *);
extern void X(codelet_t2_20)(planner *);
extern void X(codelet_t2_25)(planner *);
extern void X(codelet_q1_2)(planner *);
extern void X(codelet_q1_4)(planner *);
extern void X(codelet_q1_8)(planner *);
extern void X(codelet_q1_3)(planner *);
extern void X(codelet_q1_5)(planner *);
extern void X(codelet_q1_6)(planner *);


extern const solvtab X(solvtab_dft_standard);
const solvtab X(solvtab_dft_standard) = {
   SOLVTAB(X(codelet_n1_2)),
   SOLVTAB(X(codelet_n1_3)),
   SOLVTAB(X(codelet_n1_4)),
   SOLVTAB(X(codelet_n1_5)),
   SOLVTAB(X(codelet_n1_6)),
   SOLVTAB(X(codelet_n1_7)),
   SOLVTAB(X(codelet_n1_8)),
   SOLVTAB(X(codelet_n1_9)),
   SOLVTAB(X(codelet_n1_10)),
   SOLVTAB(X(codelet_n1_11)),
   SOLVTAB(X(codelet_n1_12)),
   SOLVTAB(X(codelet_n1_13)),
   SOLVTAB(X(codelet_n1_14)),
   SOLVTAB(X(codelet_n1_15)),
   SOLVTAB(X(codelet_n1_16)),
   SOLVTAB(X(codelet_n1_32)),
Beispiel #11
0
extern void fftwf_codelet_hc2cbdft_8(planner *);
extern void fftwf_codelet_hc2cbdft_10(planner *);
extern void fftwf_codelet_hc2cbdft_12(planner *);
extern void fftwf_codelet_hc2cbdft_16(planner *);
extern void fftwf_codelet_hc2cbdft_32(planner *);
extern void fftwf_codelet_hc2cbdft_20(planner *);
extern void fftwf_codelet_hc2cbdft2_4(planner *);
extern void fftwf_codelet_hc2cbdft2_8(planner *);
extern void fftwf_codelet_hc2cbdft2_16(planner *);
extern void fftwf_codelet_hc2cbdft2_32(planner *);
extern void fftwf_codelet_hc2cbdft2_20(planner *);


extern const solvtab fftwf_solvtab_rdft_r2cb;
const solvtab fftwf_solvtab_rdft_r2cb = {
   SOLVTAB(fftwf_codelet_r2cb_2),
   SOLVTAB(fftwf_codelet_r2cb_3),
   SOLVTAB(fftwf_codelet_r2cb_4),
   SOLVTAB(fftwf_codelet_r2cb_5),
   SOLVTAB(fftwf_codelet_r2cb_6),
   SOLVTAB(fftwf_codelet_r2cb_7),
   SOLVTAB(fftwf_codelet_r2cb_8),
   SOLVTAB(fftwf_codelet_r2cb_9),
   SOLVTAB(fftwf_codelet_r2cb_10),
   SOLVTAB(fftwf_codelet_r2cb_11),
   SOLVTAB(fftwf_codelet_r2cb_12),
   SOLVTAB(fftwf_codelet_r2cb_13),
   SOLVTAB(fftwf_codelet_r2cb_14),
   SOLVTAB(fftwf_codelet_r2cb_15),
   SOLVTAB(fftwf_codelet_r2cb_16),
   SOLVTAB(fftwf_codelet_r2cb_32),
Beispiel #12
0
extern void X(codelet_r2hcII_6)(planner *);
extern void X(codelet_r2hcII_7)(planner *);
extern void X(codelet_r2hcII_8)(planner *);
extern void X(codelet_r2hcII_9)(planner *);
extern void X(codelet_r2hcII_10)(planner *);
extern void X(codelet_r2hcII_12)(planner *);
extern void X(codelet_r2hcII_15)(planner *);
extern void X(codelet_r2hcII_16)(planner *);
extern void X(codelet_r2hcII_32)(planner *);
extern void X(codelet_mr2hcII_32)(planner *);
extern void X(codelet_mr2hcII_64)(planner *);


extern const solvtab X(solvtab_rdft_r2hc);
const solvtab X(solvtab_rdft_r2hc) = {
   SOLVTAB(X(codelet_r2hc_2)),
   SOLVTAB(X(codelet_r2hc_3)),
   SOLVTAB(X(codelet_r2hc_4)),
   SOLVTAB(X(codelet_r2hc_5)),
   SOLVTAB(X(codelet_r2hc_6)),
   SOLVTAB(X(codelet_r2hc_7)),
   SOLVTAB(X(codelet_r2hc_8)),
   SOLVTAB(X(codelet_r2hc_9)),
   SOLVTAB(X(codelet_r2hc_10)),
   SOLVTAB(X(codelet_r2hc_11)),
   SOLVTAB(X(codelet_r2hc_12)),
   SOLVTAB(X(codelet_r2hc_13)),
   SOLVTAB(X(codelet_r2hc_14)),
   SOLVTAB(X(codelet_r2hc_15)),
   SOLVTAB(X(codelet_r2hc_16)),
   SOLVTAB(X(codelet_r2hc_32)),
Beispiel #13
0
extern void X(codelet_hc2rIII_5)(planner *);
extern void X(codelet_hc2rIII_6)(planner *);
extern void X(codelet_hc2rIII_7)(planner *);
extern void X(codelet_hc2rIII_8)(planner *);
extern void X(codelet_hc2rIII_9)(planner *);
extern void X(codelet_hc2rIII_10)(planner *);
extern void X(codelet_hc2rIII_12)(planner *);
extern void X(codelet_hc2rIII_15)(planner *);
extern void X(codelet_hc2rIII_16)(planner *);
extern void X(codelet_hc2rIII_32)(planner *);
extern void X(codelet_hc2rIII_64)(planner *);


extern const solvtab X(solvtab_rdft_hc2r);
const solvtab X(solvtab_rdft_hc2r) = {
   SOLVTAB(X(codelet_hc2r_3)),
   SOLVTAB(X(codelet_hc2r_4)),
   SOLVTAB(X(codelet_hc2r_5)),
   SOLVTAB(X(codelet_hc2r_6)),
   SOLVTAB(X(codelet_hc2r_7)),
   SOLVTAB(X(codelet_hc2r_8)),
   SOLVTAB(X(codelet_hc2r_9)),
   SOLVTAB(X(codelet_hc2r_10)),
   SOLVTAB(X(codelet_hc2r_11)),
   SOLVTAB(X(codelet_hc2r_12)),
   SOLVTAB(X(codelet_hc2r_13)),
   SOLVTAB(X(codelet_hc2r_14)),
   SOLVTAB(X(codelet_hc2r_15)),
   SOLVTAB(X(codelet_hc2r_16)),
   SOLVTAB(X(codelet_hc2r_32)),
   SOLVTAB(X(codelet_hc2r_64)),