diff options
Diffstat (limited to 'kaldi_io/src/tools/ATLAS/include/atlas_ptlvl3.h')
-rw-r--r-- | kaldi_io/src/tools/ATLAS/include/atlas_ptlvl3.h | 389 |
1 files changed, 0 insertions, 389 deletions
diff --git a/kaldi_io/src/tools/ATLAS/include/atlas_ptlvl3.h b/kaldi_io/src/tools/ATLAS/include/atlas_ptlvl3.h deleted file mode 100644 index 916afd0..0000000 --- a/kaldi_io/src/tools/ATLAS/include/atlas_ptlvl3.h +++ /dev/null @@ -1,389 +0,0 @@ - -/* --------------------------------------------------------------------- - * - * -- Automatically Tuned Linear Algebra Software (ATLAS) - * (C) Copyright 2000 All Rights Reserved - * - * -- ATLAS routine -- Version 3.2 -- December 25, 2000 - * - * Author : Antoine P. Petitet - * Originally developed at the University of Tennessee, - * Innovative Computing Laboratory, Knoxville TN, 37996-1301, USA. - * - * --------------------------------------------------------------------- - * - * -- Copyright notice and Licensing terms: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions, and the following disclaimer in - * the documentation and/or other materials provided with the distri- - * bution. - * 3. The name of the University, the ATLAS group, or the names of its - * contributors may not be used to endorse or promote products deri- - * ved from this software without specific written permission. - * - * -- Disclaimer: - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- - * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEO- - * RY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (IN- - * CLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * --------------------------------------------------------------------- - */ -#ifndef ATLAS_PTLVL3_H -#define ATLAS_PTLVL3_H -/* - * ===================================================================== - * Include files - * ===================================================================== - */ -#include "atlas_ptmisc.h" -#include "atlas_level3.h" -#include "atlas_rblas3.h" -/* - * ===================================================================== - * macro constants - * ===================================================================== - */ -#ifdef TREAL -#define ATL_XOVER_L3_DEFAULT 8 /* number of NB x NB blocks */ -#else -#define ATL_XOVER_L3_DEFAULT 4 -#endif -/* - * ===================================================================== - * macro functions - * ===================================================================== - */ -#define Mpt3( a_, i_, siz_ ) ( ( (char*)(a_) + ( (i_) * (siz_) ) ) ) -#define Mvpt3( a_, i_, siz_ ) ( (void *)(Mpt3( (a_), (i_), (siz_) ))) -/* - * ===================================================================== - * typedef definitions - * ===================================================================== - */ -typedef PT_TREE_T (*PT_GEMM_FUN_T) -( - const unsigned int, pthread_attr_t *, - const enum ATLAS_TRANS, const enum ATLAS_TRANS, - const int, const int, const int, const void *, - const void *, const int, const void *, const int, - const void *, void *, const int -); - -typedef PT_TREE_T (*PT_TRMM_FUN_T) -( - const unsigned int, pthread_attr_t *, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const void *, const void *, - const int, void *, const int -); - -typedef int (*PT_SYR2K_FUN_T) -( - const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const enum ATLAS_TRANS, const int, const int, - const void *, const void *, const int, const void *, - const int, const void *, void *, const int -); - - -typedef struct -{ - size_t size; - void * negone, * one, * zero; - PT_FUN_T geadd0, gemm0, symm0, hemm0, syrk0, syr2k0, - herk0, her2k0, trmm0, trsm0; - PT_GEMM_FUN_T ptgemm; - PT_TRMM_FUN_T pttrmm; - PT_SYR2K_FUN_T ptsyr2k0, pther2k0; -} PT_LVL3_TYPE_T; - -typedef struct -{ - const void * a, * al, * b, * be; - void * c; - enum ATLAS_TRANS ta, tb; - int k, la, lb, lc, m, n; -} PT_GEMM_ARGS_T; - -typedef struct -{ - const void * a, * al, * b, * be; - void * c; - enum ATLAS_SIDE si; - enum ATLAS_UPLO up; - int la, lb, lc, m, n; -} PT_SYMM_ARGS_T; - -typedef struct -{ - const void * a, * al, * be; - void * c; - enum ATLAS_UPLO up; - enum ATLAS_TRANS tr; - int l, la, lc, m, n, k; -} PT_SYRK_ARGS_T; - -typedef struct -{ - const void * a, * al, * ac, * b, * be; - void * c; - enum ATLAS_UPLO up; - enum ATLAS_TRANS tr; - int l, la, lb, lc, m, n, k; -} PT_SYR2K_ARGS_T; - -typedef struct -{ - const void * a, * al; - void * b; - enum ATLAS_SIDE si; - enum ATLAS_UPLO up; - enum ATLAS_TRANS tr; - enum ATLAS_DIAG di; - int la, lb, m, n; -} PT_TRMM_ARGS_T; - -typedef struct -{ - const void * a, * al; - void * b; - enum ATLAS_SIDE si; - enum ATLAS_UPLO up; - enum ATLAS_TRANS tr; - enum ATLAS_DIAG di; - int la, lb, m, n; -} PT_TRSM_ARGS_T; - -/* - * ===================================================================== - * Function prototypes - * ===================================================================== - */ -PT_TREE_T ATL_Sgemm -( const PT_LVL3_TYPE_T *, const unsigned int, - const unsigned int, pthread_attr_t *, const int, - const enum ATLAS_TRANS, const enum ATLAS_TRANS, - const int, const int, const int, const void *, - const void *, const int, const void *, const int, - const void *, void *, const int ); -PT_TREE_T ATL_Ssymm -( const PT_LVL3_TYPE_T *, const unsigned int, - const unsigned int, pthread_attr_t *, const int, - const enum ATLAS_TRANS, const enum ATLAS_SIDE, - const enum ATLAS_UPLO, const int, const int, - const void *, const void *, const int, const void *, - const int, const void *, void *, const int ); -PT_TREE_T ATL_Ssyrk -( const PT_LVL3_TYPE_T *, const unsigned int, - const unsigned int, pthread_attr_t *, const int, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const enum ATLAS_TRANS, const int, const int, - const int, const int, const void *, const void *, - const int, const void *, void *, const int ); -PT_TREE_T ATL_Ssyr2k -( const PT_LVL3_TYPE_T *, const unsigned int, - const unsigned int, pthread_attr_t *, const int, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const enum ATLAS_TRANS, const int, const int, - const int, const int, const void *, const void *, - const void *, const int, const void *, const int, - const void *, void *, const int ); -PT_TREE_T ATL_Strmm -( const PT_LVL3_TYPE_T *, const unsigned int, - const unsigned int, pthread_attr_t *, const int, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const void *, const void *, - const int, void *, const int ); -PT_TREE_T ATL_Strsm -( const PT_LVL3_TYPE_T *, const unsigned int, - const unsigned int, pthread_attr_t *, const int, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const void *, const void *, - const int, void *, const int ); - -#if defined( TREAL ) || defined( TCPLX ) - -int Mjoin( PATL, GetNB ) ( void ); - -void Mjoin( PATL, ptl3settype ) ( PT_LVL3_TYPE_T * ); - -void Mjoin( PATL, gemmNN ) -( const int, const int, const int, const SCALAR, - const TYPE *, const int, const TYPE *, const int, - const SCALAR, TYPE *, const int ); -void Mjoin( PATL, gemmNT ) -( const int, const int, const int, const SCALAR, - const TYPE *, const int, const TYPE *, const int, - const SCALAR, TYPE *, const int ); -void Mjoin( PATL, gemmTN ) -( const int, const int, const int, const SCALAR, - const TYPE *, const int, const TYPE *, const int, - const SCALAR, TYPE *, const int ); - -#if defined( TCPLX ) -void Mjoin( PATL, gemmNC ) -( const int, const int, const int, const SCALAR, - const TYPE *, const int, const TYPE *, const int, - const SCALAR, TYPE *, const int ); -void Mjoin( PATL, gemmCN ) -( const int, const int, const int, const SCALAR, - const TYPE *, const int, const TYPE *, const int, - const SCALAR, TYPE *, const int ); -#endif - -PT_FUN_ARG_T Mjoin( PATL, ptgemm0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, ptsymm0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, ptsyr2k0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, ptsyrk0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, pttrmm0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, pttrsm0 ) ( PT_FUN_ARG_T ); - -#if defined( TCPLX ) -PT_FUN_ARG_T Mjoin( PATL, pthemm0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, pther2k0 ) ( PT_FUN_ARG_T ); -PT_FUN_ARG_T Mjoin( PATL, ptherk0 ) ( PT_FUN_ARG_T ); -#endif -/* - * ===================================================================== - * Prototypes for the Level 3 multi-threaded ATLAS BLAS routines - * ===================================================================== - */ -PT_TREE_T Mjoin( PATL, ptgemm_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_TRANS, const enum ATLAS_TRANS, - const int, const int, const int, const void *, - const void *, const int, const void *, const int, - const void *, void *, const int ); -PT_TREE_T Mjoin( PATL, ptsymm_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const int, const int, const void *, const void *, - const int, const void *, const int, const void *, - void *, const int ); -PT_TREE_T Mjoin( PATL, ptsyr2k_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const void *, const void *, - const void *, const int, const void *, const int, - const void *, void *, const int ); -int Mjoin( PATL, ptsyr2k0_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const enum ATLAS_TRANS, const int, const int, - const void *, const void *, const int, const void *, - const int, const void *, void *, const int ); -PT_TREE_T Mjoin( PATL, ptsyrk_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const void *, const void *, - const int, const void *, void *, const int ); -PT_TREE_T Mjoin( PATL, pttrmm_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const void *, const void *, - const int, void *, const int ); -PT_TREE_T Mjoin( PATL, pttrsm_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const void *, const void *, - const int, void *, const int ); - -void Mjoin( PATL, ptgemm ) -( const enum ATLAS_TRANS, const enum ATLAS_TRANS, - const int, const int, const int, const SCALAR, - const TYPE *, const int, const TYPE *, const int, - const SCALAR, TYPE *, const int ); -void Mjoin( PATL, ptsymm ) -( const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const int, const int, const SCALAR, const TYPE *, - const int, const TYPE *, const int, const SCALAR, - TYPE *, const int ); -void Mjoin( PATL, ptsyr2k ) -( const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const SCALAR, const TYPE *, - const int, const TYPE *, const int, const SCALAR, - TYPE *, const int ); -void Mjoin( PATL, ptsyrk ) -( const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const SCALAR, const TYPE *, - const int, const SCALAR, TYPE *, const int ); -void Mjoin( PATL, pttrmm ) -( const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const SCALAR, const TYPE *, - const int, TYPE *, const int ); -void Mjoin( PATL, pttrsm ) -( const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const enum ATLAS_TRANS, const enum ATLAS_DIAG, - const int, const int, const SCALAR, const TYPE *, - const int, TYPE *, const int ); - -#if defined( TCPLX ) -PT_TREE_T Mjoin( PATL, pthemm_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const int, const int, const void *, const void *, - const int, const void *, const int, const void *, - void *, const int ); -PT_TREE_T Mjoin( PATL, pther2k_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const void *, const void *, - const void *, const int, const void *, const int, - const void *, void *, const int ); -int Mjoin( PATL, pther2k0_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const enum ATLAS_TRANS, const int, const int, - const void *, const void *, const int, const void *, - const int, const void *, void *, const int ); -PT_TREE_T Mjoin( PATL, ptherk_nt ) -( const unsigned int, pthread_attr_t *, - const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const void *, const void *, - const int, const void *, void *, const int ); - -void Mjoin( PATL, pthemm ) -( const enum ATLAS_SIDE, const enum ATLAS_UPLO, - const int, const int, const SCALAR, const TYPE *, - const int, const TYPE *, const int, const SCALAR, - TYPE *, const int ); -void Mjoin( PATL, pther2k ) -( const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const SCALAR, const TYPE *, - const int, const TYPE *, const int, const TYPE, - TYPE *, const int ); -void Mjoin( PATL, ptherk ) -( const enum ATLAS_UPLO, const enum ATLAS_TRANS, - const int, const int, const TYPE, const TYPE *, - const int, const TYPE, TYPE *, const int ); -#endif - -#endif - -#endif -/* - * End of atlas_ptlvl3.h - */ |