libflame  revision_anchor
blis1.h
Go to the documentation of this file.
00001 /*
00002 
00003     Copyright (C) 2014, The University of Texas at Austin
00004 
00005     This file is part of libflame and is available under the 3-Clause
00006     BSD license, which can be found in the LICENSE file at the top-level
00007     directory, or at http://opensource.org/licenses/BSD-3-Clause
00008 
00009 */
00010 
00011 #ifndef BLIS1_H
00012 #define BLIS1_H
00013 
00014 #include <stdio.h>
00015 #include <stdlib.h>
00016 #include <math.h>
00017 
00018 // Determine whether or not we are using BLIS from libflame.
00019 //#define BLIS1_FROM_LIBFLAME
00020 
00021 #ifdef BLIS1_FROM_LIBFLAME
00022 
00023   // If using libflame, pull in its header files so that
00024   // vector intrinsics-related macro constants are set properly.
00025   //#include "FLAME.h"
00026   #include "FLA_config.h"
00027   #include "FLA_macro_defs.h"
00028   #include "FLA_type_defs.h"
00029 
00030   // --- Pass-through macros for BLIS ---
00031   #ifdef FLA_ENABLE_CBLAS_INTERFACES
00032     #define BLIS1_ENABLE_CBLAS_INTERFACES
00033   #endif
00034   #ifdef FLA_ENABLE_WINDOWS_BUILD
00035     #define BLIS1_ENABLE_WINDOWS_BUILD
00036   #endif
00037   #ifdef FLA_ENABLE_UPPERCASE_F77
00038     #define BLIS1_ENABLE_UPPERCASE_F77
00039   #endif
00040   #ifdef FLA_ENABLE_VECTOR_INTRINSICS
00041     #define BLIS1_ENABLE_VECTOR_INTRINSICS
00042   #endif
00043 
00044   #define BLIS1_VECTOR_INTRINSIC_TYPE FLA_VECTOR_INTRINSIC_TYPE
00045 
00046 #else
00047 
00048   // --- BLIS configuration options ---
00049 
00050   // #define BLIS1_ENABLE_USE_OF_FLA_MALLOC
00051   // #define BLIS1_ENABLE_CBLAS_INTERFACES
00052   // #define BLIS1_ENABLE_WINDOWS_BUILD
00053   // #define BLIS1_ENABLE_UPPERCASE_F77
00054   // #define BLIS1_ENABLE_VECTOR_INTRINSICS
00055   //   #define BLIS1_VECTOR_INTRINSIC_TYPE BLIS1_NO_INTRINSICS
00056   //   #define BLIS1_VECTOR_INTRINSIC_TYPE BLIS1_SSE_INTRINSICS
00057 
00058 #endif
00059 
00060 #include "blis_macro_defs.h"
00061 #include "blis_type_defs.h"
00062 
00063 #include "blis_prototypes_util.h"
00064 #include "blis_prototypes_query.h"
00065 #include "blis_prototypes_misc.h"
00066 
00067 #include "blis_prototypes_level1.h"
00068 #include "blis_prototypes_level2.h"
00069 #include "blis_prototypes_level3.h"
00070 
00071 #include "blis_prototypes_fused1.h"
00072 
00073 #include "blis_f77_name_mangling.h"
00074 
00075 #ifdef BLIS1_ENABLE_CBLAS_INTERFACES
00076   #include "blis_prototypes_cblas.h"
00077 #else
00078   #include "blis_prototypes_blas.h"
00079 #endif
00080 
00081 #endif