mirror of
https://github.com/amd/blis.git
synced 2026-04-20 07:38:53 +00:00
Implemented blas2blis compatibility layer.
Details: - Added the blas2blis compatibility layer, located in frame/compat. This includes virtually all of the BLAS, including banded and packed level-2 operations. - Defined bl2_init_safe(), bl2_finalize_safe(). The former allows a conditional initialization, which stores the "exit status" in an err_t, which is then read by the latter function to determine whether finalization should actually take place. - Added calls to bl2_init_safe(), bl2_finalize_safe() to all level-2 and level-3 BLAS-like wrappers. - Added configuration option to instruct BLIS to remain initialized whenever it automatically initializes itself (via bl2_init_safe()), until/unless the application code explicitly calls bl2_finalize(). - Added INSERT_GENTFUNC* and INSERT_GENTPROT* macros to facilitate type templatization of blas2blis wrappers. - Defined level-0 scalar macro bl2_??swaps(). - Defined level-1v operation bl2_swapv(). - Defined some "Fortran" types to bl2_type_defs.h for use with BLAS wrappers.
This commit is contained in:
@@ -90,4 +90,19 @@
|
||||
|
||||
|
||||
|
||||
// -- MISCELLANEOUS OPTIONS ----------------------------------------------------
|
||||
|
||||
// Stay initialized after auto-initialization, unless and until explicitly
|
||||
// finalized.
|
||||
#define BLIS_ENABLE_STAY_AUTO_INITIALIZED
|
||||
|
||||
|
||||
|
||||
// -- BLAS-to-BLIS COMPATIBILITY LAYER -----------------------------------------
|
||||
|
||||
// Enable the BLAS compatibility layer?
|
||||
#define BLIS_ENABLE_BLAS2BLIS
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -326,6 +326,10 @@
|
||||
|
||||
#define SUBV_KERNEL subv_unb_var1
|
||||
|
||||
// -- swapv --
|
||||
|
||||
#define SWAPV_KERNEL swapv_unb_var1
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -90,4 +90,19 @@
|
||||
|
||||
|
||||
|
||||
// -- MISCELLANEOUS OPTIONS ----------------------------------------------------
|
||||
|
||||
// Stay initialized after auto-initialization, unless and until the user
|
||||
// explicitly calls bl2_finalize().
|
||||
#define BLIS_ENABLE_STAY_AUTO_INITIALIZED
|
||||
|
||||
|
||||
|
||||
// -- BLAS-to-BLIS COMPATIBILITY LAYER -----------------------------------------
|
||||
|
||||
// Enable the BLAS compatibility layer?
|
||||
#define BLIS_ENABLE_BLAS2BLIS
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
|
||||
// -- Default cache blocksizes --
|
||||
|
||||
//
|
||||
// Constraints:
|
||||
//
|
||||
// (1) MC must be a multiple of:
|
||||
@@ -315,6 +316,10 @@
|
||||
|
||||
#define SUBV_KERNEL subv_unb_var1
|
||||
|
||||
// -- swapv --
|
||||
|
||||
#define SWAPV_KERNEL swapv_unb_var1
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
105
frame/1/swapv/bl2_swapv.c
Normal file
105
frame/1/swapv/bl2_swapv.c
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define object-based interface.
|
||||
//
|
||||
#undef GENFRONT
|
||||
#define GENFRONT( opname, varname ) \
|
||||
\
|
||||
void PASTEMAC0(opname)( \
|
||||
obj_t* x, \
|
||||
obj_t* y \
|
||||
) \
|
||||
{ \
|
||||
if ( bl2_error_checking_is_enabled() ) \
|
||||
PASTEMAC(opname,_check)( x, y ); \
|
||||
\
|
||||
PASTEMAC0(varname)( x, \
|
||||
y ); \
|
||||
}
|
||||
|
||||
GENFRONT( swapv, SWAPV_KERNEL )
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-like interfaces with homogeneous-typed operands.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ctype, ch, opname, varname ) \
|
||||
\
|
||||
void PASTEMAC(ch,opname)( \
|
||||
dim_t n, \
|
||||
ctype* x, inc_t incx, \
|
||||
ctype* y, inc_t incy \
|
||||
) \
|
||||
{ \
|
||||
PASTEMAC2(ch,ch,varname)( n, \
|
||||
x, incx, \
|
||||
y, incy ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( swapv, SWAPV_KERNEL )
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-like interfaces with heterogeneous-typed operands.
|
||||
//
|
||||
#undef GENTFUNC2
|
||||
#define GENTFUNC2( ctype_x, ctype_y, chx, chy, opname, varname ) \
|
||||
\
|
||||
void PASTEMAC2(chx,chy,opname)( \
|
||||
dim_t n, \
|
||||
ctype_x* x, inc_t incx, \
|
||||
ctype_y* y, inc_t incy \
|
||||
) \
|
||||
{ \
|
||||
PASTEMAC2(chx,chy,varname)( n, \
|
||||
x, incx, \
|
||||
y, incy ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC2_BASIC( swapv, SWAPV_KERNEL )
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_DOMAIN_SUPPORT
|
||||
INSERT_GENTFUNC2_MIX_D( swapv, SWAPV_KERNEL )
|
||||
#endif
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_PRECISION_SUPPORT
|
||||
INSERT_GENTFUNC2_MIX_P( swapv, SWAPV_KERNEL )
|
||||
#endif
|
||||
|
||||
82
frame/1/swapv/bl2_swapv.h
Normal file
82
frame/1/swapv/bl2_swapv.h
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "bl2_swapv_check.h"
|
||||
#include "bl2_swapv_unb_var1.h"
|
||||
|
||||
|
||||
//
|
||||
// Prototype object-based interface.
|
||||
//
|
||||
void bl2_swapv( obj_t* x,
|
||||
obj_t* y );
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-like interfaces with homogeneous-typed operands.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ctype, ch, opname ) \
|
||||
\
|
||||
void PASTEMAC(ch,opname)( \
|
||||
dim_t n, \
|
||||
ctype* x, inc_t incx, \
|
||||
ctype* y, inc_t incy \
|
||||
);
|
||||
|
||||
INSERT_GENTPROT_BASIC( swapv )
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-like interfaces with heterogeneous-typed operands.
|
||||
//
|
||||
#undef GENTPROT2
|
||||
#define GENTPROT2( ctype_x, ctype_y, chx, chy, opname ) \
|
||||
\
|
||||
void PASTEMAC2(chx,chy,opname)( \
|
||||
dim_t n, \
|
||||
ctype_x* x, inc_t incx, \
|
||||
ctype_y* y, inc_t incy \
|
||||
);
|
||||
|
||||
INSERT_GENTPROT2_BASIC( swapv )
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_DOMAIN_SUPPORT
|
||||
INSERT_GENTPROT2_MIX_D( swapv )
|
||||
#endif
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_PRECISION_SUPPORT
|
||||
INSERT_GENTPROT2_MIX_P( swapv )
|
||||
#endif
|
||||
|
||||
61
frame/1/swapv/bl2_swapv_check.c
Normal file
61
frame/1/swapv/bl2_swapv_check.c
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
void bl2_swapv_check( obj_t* x,
|
||||
obj_t* y )
|
||||
{
|
||||
err_t e_val;
|
||||
|
||||
// Check object datatypes.
|
||||
|
||||
e_val = bl2_check_floating_object( x );
|
||||
bl2_check_error_code( e_val );
|
||||
|
||||
e_val = bl2_check_floating_object( y );
|
||||
bl2_check_error_code( e_val );
|
||||
|
||||
// Check object dimensions.
|
||||
|
||||
e_val = bl2_check_vector_object( x );
|
||||
bl2_check_error_code( e_val );
|
||||
|
||||
e_val = bl2_check_vector_object( y );
|
||||
bl2_check_error_code( e_val );
|
||||
|
||||
e_val = bl2_check_equal_vector_lengths( x, y );
|
||||
bl2_check_error_code( e_val );
|
||||
}
|
||||
|
||||
36
frame/1/swapv/bl2_swapv_check.h
Normal file
36
frame/1/swapv/bl2_swapv_check.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
void bl2_swapv_check( obj_t* x,
|
||||
obj_t* y );
|
||||
125
frame/1/swapv/bl2_swapv_unb_var1.c
Normal file
125
frame/1/swapv/bl2_swapv_unb_var1.c
Normal file
@@ -0,0 +1,125 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
#define FUNCPTR_T swapv_fp
|
||||
|
||||
typedef void (*FUNCPTR_T)(
|
||||
dim_t n,
|
||||
void* x, inc_t incx,
|
||||
void* y, inc_t incy
|
||||
);
|
||||
|
||||
// If some mixed datatype functions will not be compiled, we initialize
|
||||
// the corresponding elements of the function array to NULL.
|
||||
#ifdef BLIS_ENABLE_MIXED_PRECISION_SUPPORT
|
||||
static FUNCPTR_T GENARRAY2_ALL(ftypes,swapv_unb_var1);
|
||||
#else
|
||||
#ifdef BLIS_ENABLE_MIXED_DOMAIN_SUPPORT
|
||||
static FUNCPTR_T GENARRAY2_EXT(ftypes,swapv_unb_var1);
|
||||
#else
|
||||
static FUNCPTR_T GENARRAY2_MIN(ftypes,swapv_unb_var1);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
void bl2_swapv_unb_var1( obj_t* x,
|
||||
obj_t* y )
|
||||
{
|
||||
num_t dt_x = bl2_obj_datatype( *x );
|
||||
num_t dt_y = bl2_obj_datatype( *y );
|
||||
|
||||
dim_t n = bl2_obj_vector_dim( *x );
|
||||
|
||||
inc_t inc_x = bl2_obj_vector_inc( *x );
|
||||
void* buf_x = bl2_obj_buffer_at_off( *x );
|
||||
|
||||
inc_t inc_y = bl2_obj_vector_inc( *y );
|
||||
void* buf_y = bl2_obj_buffer_at_off( *y );
|
||||
|
||||
FUNCPTR_T f;
|
||||
|
||||
// Index into the type combination array to extract the correct
|
||||
// function pointer.
|
||||
f = ftypes[dt_x][dt_y];
|
||||
|
||||
// Invoke the function.
|
||||
f( n,
|
||||
buf_x, inc_x,
|
||||
buf_y, inc_y );
|
||||
}
|
||||
|
||||
|
||||
#undef GENTFUNC2
|
||||
#define GENTFUNC2( ctype_x, ctype_y, chx, chy, opname, varname ) \
|
||||
\
|
||||
void PASTEMAC2(chx,chy,varname)( \
|
||||
dim_t n, \
|
||||
void* x, inc_t incx, \
|
||||
void* y, inc_t incy \
|
||||
) \
|
||||
{ \
|
||||
ctype_x* x_cast = x; \
|
||||
ctype_y* y_cast = y; \
|
||||
ctype_x* chi1; \
|
||||
ctype_y* psi1; \
|
||||
dim_t i; \
|
||||
\
|
||||
if ( bl2_zero_dim1( n ) ) return; \
|
||||
\
|
||||
chi1 = x_cast; \
|
||||
psi1 = y_cast; \
|
||||
\
|
||||
for ( i = 0; i < n; ++i ) \
|
||||
{ \
|
||||
PASTEMAC2(chx,chy,swaps)( *chi1, *psi1 ); \
|
||||
\
|
||||
chi1 += incx; \
|
||||
psi1 += incy; \
|
||||
} \
|
||||
}
|
||||
|
||||
// Define the basic set of functions unconditionally, and then also some
|
||||
// mixed datatype functions if requested.
|
||||
INSERT_GENTFUNC2_BASIC( swapv, swapv_unb_var1 )
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_DOMAIN_SUPPORT
|
||||
INSERT_GENTFUNC2_MIX_D( swapv, swapv_unb_var1 )
|
||||
#endif
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_PRECISION_SUPPORT
|
||||
INSERT_GENTFUNC2_MIX_P( swapv, swapv_unb_var1 )
|
||||
#endif
|
||||
|
||||
56
frame/1/swapv/bl2_swapv_unb_var1.h
Normal file
56
frame/1/swapv/bl2_swapv_unb_var1.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
void bl2_swapv_unb_var1( obj_t* x,
|
||||
obj_t* y );
|
||||
|
||||
|
||||
#undef GENTPROT2
|
||||
#define GENTPROT2( ctype_x, ctype_y, chx, chy, varname ) \
|
||||
\
|
||||
void PASTEMAC2(chx,chy,varname)( \
|
||||
dim_t n, \
|
||||
void* x, inc_t incx, \
|
||||
void* y, inc_t incy \
|
||||
);
|
||||
|
||||
INSERT_GENTPROT2_BASIC( swapv_unb_var1 )
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_DOMAIN_SUPPORT
|
||||
INSERT_GENTPROT2_MIX_D( swapv_unb_var1 )
|
||||
#endif
|
||||
|
||||
#ifdef BLIS_ENABLE_MIXED_PRECISION_SUPPORT
|
||||
INSERT_GENTPROT2_MIX_P( swapv_unb_var1 )
|
||||
#endif
|
||||
@@ -181,6 +181,9 @@ void PASTEMAC(ch,opname)( \
|
||||
dim_t m_y; \
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( BLIS_NO_TRANSPOSE, m, n, m_a, n_a ); \
|
||||
bl2_set_dims_with_trans( transa, m, n, m_y, m_x ); \
|
||||
@@ -203,6 +206,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&xo, \
|
||||
&betao, \
|
||||
&yo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( gemv, gemv )
|
||||
|
||||
@@ -64,7 +64,7 @@ void bl2_ger( obj_t* alpha,
|
||||
dt_targ_y = bl2_obj_target_datatype( *y );
|
||||
dt_targ_a = bl2_obj_target_datatype( *a );
|
||||
|
||||
// Determine whether each operand is stored contiguously.
|
||||
// Determine whether each operand is stored contiguously.
|
||||
x_is_contig = ( bl2_obj_vector_inc( *x ) == 1 );
|
||||
y_is_contig = ( bl2_obj_vector_inc( *y ) == 1 );
|
||||
a_is_contig = ( bl2_obj_is_row_stored( *a ) ||
|
||||
@@ -142,6 +142,9 @@ void PASTEMAC(ch,opname)( \
|
||||
dim_t m_y; \
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( BLIS_NO_TRANSPOSE, m, n, m_x, m_y ); \
|
||||
\
|
||||
@@ -161,6 +164,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&xo, \
|
||||
&yo, \
|
||||
&ao ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( ger, ger )
|
||||
|
||||
@@ -176,6 +176,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
rs_y = incy; cs_y = m * incy; \
|
||||
@@ -196,6 +199,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&xo, \
|
||||
&betao, \
|
||||
&yo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( hemv, hemv )
|
||||
|
||||
@@ -84,18 +84,18 @@ void bl2_her( obj_t* alpha,
|
||||
if ( bl2_obj_is_row_stored( *c ) ) her_cntl = her_cntl_bs_ke_row;
|
||||
else her_cntl = her_cntl_bs_ke_col;
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
// Mark objects with unit stride as already being packed. This prevents
|
||||
// unnecessary packing from happening within the blocked algorithm.
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
|
||||
// Here, we make a similar choice as above, except that (1) we look
|
||||
// at storage tilt, and (2) we choose a tree that performs blocking.
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her_cntl = her_cntl_ge_row;
|
||||
else her_cntl = her_cntl_ge_col;
|
||||
}
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her_cntl = her_cntl_ge_row;
|
||||
else her_cntl = her_cntl_ge_col;
|
||||
}
|
||||
|
||||
|
||||
// Invoke the internal back-end with the copy-cast scalar and the
|
||||
@@ -130,6 +130,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, xo, co; \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
\
|
||||
@@ -144,6 +147,8 @@ void PASTEMAC(ch,opname)( \
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&xo, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNCR_BASIC( her, her )
|
||||
|
||||
@@ -87,30 +87,30 @@ void bl2_her2( obj_t* alpha,
|
||||
&alpha_conj_local );
|
||||
|
||||
|
||||
// If all operands are contiguous, we choose a control tree for calling
|
||||
// the unblocked implementation directly without any blocking.
|
||||
if ( x_is_contig &&
|
||||
y_is_contig &&
|
||||
c_is_contig )
|
||||
{
|
||||
// Use different control trees depending on storage of the matrix
|
||||
// If all operands are contiguous, we choose a control tree for calling
|
||||
// the unblocked implementation directly without any blocking.
|
||||
if ( x_is_contig &&
|
||||
y_is_contig &&
|
||||
c_is_contig )
|
||||
{
|
||||
// Use different control trees depending on storage of the matrix
|
||||
// operand.
|
||||
if ( bl2_obj_is_row_stored( *c ) ) her2_cntl = her2_cntl_bs_ke_row;
|
||||
else her2_cntl = her2_cntl_bs_ke_col;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Mark objects with unit stride as already being packed. This prevents
|
||||
// unnecessary packing from happening within the blocked algorithm.
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( y_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *y );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
if ( bl2_obj_is_row_stored( *c ) ) her2_cntl = her2_cntl_bs_ke_row;
|
||||
else her2_cntl = her2_cntl_bs_ke_col;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Mark objects with unit stride as already being packed. This prevents
|
||||
// unnecessary packing from happening within the blocked algorithm.
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( y_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *y );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
|
||||
// Here, we make a similar choice as above, except that (1) we look
|
||||
// at storage tilt, and (2) we choose a tree that performs blocking.
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her2_cntl = her2_cntl_ge_row;
|
||||
else her2_cntl = her2_cntl_ge_col;
|
||||
}
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her2_cntl = her2_cntl_ge_row;
|
||||
else her2_cntl = her2_cntl_ge_col;
|
||||
}
|
||||
|
||||
|
||||
// Invoke the internal back-end with the copy-cast scalar and the
|
||||
@@ -149,6 +149,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
rs_y = incy; cs_y = m * incy; \
|
||||
@@ -167,6 +170,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&xo, \
|
||||
&yo, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( her2, her2 )
|
||||
|
||||
@@ -176,6 +176,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
rs_y = incy; cs_y = m * incy; \
|
||||
@@ -196,6 +199,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&xo, \
|
||||
&betao, \
|
||||
&yo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( symv, symv )
|
||||
|
||||
@@ -86,18 +86,18 @@ void bl2_syr( obj_t* alpha,
|
||||
if ( bl2_obj_is_row_stored( *c ) ) her_cntl = her_cntl_bs_ke_row;
|
||||
else her_cntl = her_cntl_bs_ke_col;
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
// Mark objects with unit stride as already being packed. This prevents
|
||||
// unnecessary packing from happening within the blocked algorithm.
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
|
||||
// Here, we make a similar choice as above, except that (1) we look
|
||||
// at storage tilt, and (2) we choose a tree that performs blocking.
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her_cntl = her_cntl_ge_row;
|
||||
else her_cntl = her_cntl_ge_col;
|
||||
}
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her_cntl = her_cntl_ge_row;
|
||||
else her_cntl = her_cntl_ge_col;
|
||||
}
|
||||
|
||||
|
||||
// Invoke the internal back-end with the copy-cast scalar and the
|
||||
@@ -126,25 +126,30 @@ void PASTEMAC(ch,opname)( \
|
||||
ctype* c, inc_t rs_c, inc_t cs_c \
|
||||
) \
|
||||
{ \
|
||||
const num_t dt = PASTEMAC(ch,type); \
|
||||
const num_t dt = PASTEMAC(ch,type); \
|
||||
\
|
||||
obj_t alphao, xo, co; \
|
||||
obj_t alphao, xo, co; \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_x, cs_x; \
|
||||
err_t init_result; \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, alpha, &alphao ); \
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
\
|
||||
bl2_obj_create_with_attached_buffer( dt, m, 1, x, rs_x, cs_x, &xo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, m, c, rs_c, cs_c, &co ); \
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, alpha, &alphao ); \
|
||||
\
|
||||
bl2_obj_set_conj( conjx, xo ); \
|
||||
bl2_obj_set_uplo( uploc, co ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, 1, x, rs_x, cs_x, &xo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, m, c, rs_c, cs_c, &co ); \
|
||||
\
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&xo, \
|
||||
&co ); \
|
||||
bl2_obj_set_conj( conjx, xo ); \
|
||||
bl2_obj_set_uplo( uploc, co ); \
|
||||
\
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&xo, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( syr, syr )
|
||||
|
||||
@@ -80,30 +80,30 @@ void bl2_syr2( obj_t* alpha,
|
||||
&alpha_local );
|
||||
|
||||
|
||||
// If all operands are contiguous, we choose a control tree for calling
|
||||
// the unblocked implementation directly without any blocking.
|
||||
if ( x_is_contig &&
|
||||
y_is_contig &&
|
||||
c_is_contig )
|
||||
{
|
||||
// Use different control trees depending on storage of the matrix
|
||||
// If all operands are contiguous, we choose a control tree for calling
|
||||
// the unblocked implementation directly without any blocking.
|
||||
if ( x_is_contig &&
|
||||
y_is_contig &&
|
||||
c_is_contig )
|
||||
{
|
||||
// Use different control trees depending on storage of the matrix
|
||||
// operand.
|
||||
if ( bl2_obj_is_row_stored( *c ) ) her2_cntl = her2_cntl_bs_ke_row;
|
||||
else her2_cntl = her2_cntl_bs_ke_col;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Mark objects with unit stride as already being packed. This prevents
|
||||
// unnecessary packing from happening within the blocked algorithm.
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( y_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *y );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
if ( bl2_obj_is_row_stored( *c ) ) her2_cntl = her2_cntl_bs_ke_row;
|
||||
else her2_cntl = her2_cntl_bs_ke_col;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Mark objects with unit stride as already being packed. This prevents
|
||||
// unnecessary packing from happening within the blocked algorithm.
|
||||
if ( x_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *x );
|
||||
if ( y_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_VECTOR, *y );
|
||||
if ( c_is_contig ) bl2_obj_set_pack_schema( BLIS_PACKED_UNSPEC, *c );
|
||||
|
||||
// Here, we make a similar choice as above, except that (1) we look
|
||||
// at storage tilt, and (2) we choose a tree that performs blocking.
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her2_cntl = her2_cntl_ge_row;
|
||||
else her2_cntl = her2_cntl_ge_col;
|
||||
}
|
||||
if ( bl2_obj_is_row_tilted( *c ) ) her2_cntl = her2_cntl_ge_row;
|
||||
else her2_cntl = her2_cntl_ge_col;
|
||||
}
|
||||
|
||||
|
||||
// Invoke the internal back-end with the copy-cast scalar and the
|
||||
@@ -136,30 +136,35 @@ void PASTEMAC(ch,opname)( \
|
||||
ctype* c, inc_t rs_c, inc_t cs_c \
|
||||
) \
|
||||
{ \
|
||||
const num_t dt = PASTEMAC(ch,type); \
|
||||
const num_t dt = PASTEMAC(ch,type); \
|
||||
\
|
||||
obj_t alphao, xo, yo, co; \
|
||||
obj_t alphao, xo, yo, co; \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
inc_t rs_x, cs_x; \
|
||||
inc_t rs_y, cs_y; \
|
||||
err_t init_result; \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
rs_y = incy; cs_y = m * incy; \
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, alpha, &alphao ); \
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
rs_y = incy; cs_y = m * incy; \
|
||||
\
|
||||
bl2_obj_create_with_attached_buffer( dt, m, 1, x, rs_x, cs_x, &xo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, 1, y, rs_y, cs_y, &yo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, m, c, rs_c, cs_c, &co ); \
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, alpha, &alphao ); \
|
||||
\
|
||||
bl2_obj_set_conj( conjx, xo ); \
|
||||
bl2_obj_set_conj( conjy, yo ); \
|
||||
bl2_obj_set_uplo( uploc, co ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, 1, x, rs_x, cs_x, &xo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, 1, y, rs_y, cs_y, &yo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, m, c, rs_c, cs_c, &co ); \
|
||||
\
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&xo, \
|
||||
&yo, \
|
||||
&co ); \
|
||||
bl2_obj_set_conj( conjx, xo ); \
|
||||
bl2_obj_set_conj( conjy, yo ); \
|
||||
bl2_obj_set_uplo( uploc, co ); \
|
||||
\
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&xo, \
|
||||
&yo, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( syr2, syr2 )
|
||||
|
||||
@@ -147,6 +147,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, ao, xo; \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
\
|
||||
@@ -162,6 +165,8 @@ void PASTEMAC(ch,opname)( \
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&ao, \
|
||||
&xo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( trmv, trmv )
|
||||
|
||||
@@ -144,6 +144,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, ao, xo; \
|
||||
\
|
||||
inc_t rs_x, cs_x; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
rs_x = incx; cs_x = m * incx; \
|
||||
\
|
||||
@@ -159,6 +162,8 @@ void PASTEMAC(ch,opname)( \
|
||||
PASTEMAC0(opname)( &alphao, \
|
||||
&ao, \
|
||||
&xo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( trsv, trsv )
|
||||
|
||||
@@ -194,6 +194,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
dim_t m_a, n_a; \
|
||||
dim_t m_b, n_b; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( transa, m, k, m_a, n_a ); \
|
||||
bl2_set_dims_with_trans( transb, k, n, m_b, n_b ); \
|
||||
@@ -213,6 +216,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( gemm, gemm )
|
||||
|
||||
@@ -148,6 +148,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
dim_t mn_a; \
|
||||
dim_t m_b, n_b; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dim_with_side( side, m, n, mn_a ); \
|
||||
bl2_set_dims_with_trans( transb, m, n, m_b, n_b ); \
|
||||
@@ -171,6 +174,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( hemm, hemm )
|
||||
|
||||
@@ -190,6 +190,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
dim_t m_a, n_a; \
|
||||
dim_t m_b, n_b; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( transa, m, k, m_a, n_a ); \
|
||||
bl2_set_dims_with_trans( transb, m, k, m_b, n_b ); \
|
||||
@@ -212,6 +215,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNCR_BASIC( her2k, her2k )
|
||||
|
||||
@@ -168,6 +168,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, ao, betao, co; \
|
||||
\
|
||||
dim_t m_a, n_a; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( transa, m, k, m_a, n_a ); \
|
||||
\
|
||||
@@ -186,6 +189,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&ao, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNCR_BASIC( herk, herk )
|
||||
@@ -208,7 +213,7 @@ void PASTEMAC2(cha,chc,opname)( \
|
||||
ctype_c* c, inc_t rs_c, inc_t cs_c \
|
||||
) \
|
||||
{ \
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC2R_BASIC( herk, herk )
|
||||
|
||||
@@ -141,35 +141,40 @@ void PASTEMAC(ch,opname)( \
|
||||
ctype* c, inc_t rs_c, inc_t cs_c \
|
||||
) \
|
||||
{ \
|
||||
const num_t dt = PASTEMAC(ch,type); \
|
||||
const num_t dt = PASTEMAC(ch,type); \
|
||||
\
|
||||
obj_t alphao, ao, bo, betao, co; \
|
||||
obj_t alphao, ao, bo, betao, co; \
|
||||
\
|
||||
dim_t mn_a; \
|
||||
dim_t m_b, n_b; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dim_with_side( side, m, n, mn_a ); \
|
||||
bl2_set_dims_with_trans( transb, m, n, m_b, n_b ); \
|
||||
\
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, alpha, &alphao ); \
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, beta, &betao ); \
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, alpha, &alphao ); \
|
||||
bl2_obj_create_scalar_with_attached_buffer( dt, beta, &betao ); \
|
||||
\
|
||||
bl2_obj_create_with_attached_buffer( dt, mn_a, mn_a, a, rs_a, cs_a, &ao ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, mn_a, mn_a, a, rs_a, cs_a, &ao ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m_b, n_b, b, rs_b, cs_b, &bo ); \
|
||||
bl2_obj_create_with_attached_buffer( dt, m, n, c, rs_c, cs_c, &co ); \
|
||||
\
|
||||
bl2_obj_set_uplo( uploa, ao ); \
|
||||
bl2_obj_set_conj( conja, ao ); \
|
||||
bl2_obj_set_uplo( uploa, ao ); \
|
||||
bl2_obj_set_conj( conja, ao ); \
|
||||
bl2_obj_set_conjtrans( transb, bo ); \
|
||||
\
|
||||
bl2_obj_set_struc( BLIS_SYMMETRIC, ao ); \
|
||||
bl2_obj_set_struc( BLIS_SYMMETRIC, ao ); \
|
||||
\
|
||||
PASTEMAC0(opname)( side, \
|
||||
&alphao, \
|
||||
&ao, \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
&alphao, \
|
||||
&ao, \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( symm, symm )
|
||||
|
||||
@@ -184,6 +184,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
dim_t m_a, n_a; \
|
||||
dim_t m_b, n_b; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( transa, m, k, m_a, n_a ); \
|
||||
bl2_set_dims_with_trans( transb, m, k, m_b, n_b ); \
|
||||
@@ -206,6 +209,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( syr2k, syr2k )
|
||||
|
||||
@@ -170,6 +170,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, ao, betao, co; \
|
||||
\
|
||||
dim_t m_a, n_a; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dims_with_trans( transa, m, k, m_a, n_a ); \
|
||||
\
|
||||
@@ -188,6 +191,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&ao, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( syrk, syrk )
|
||||
|
||||
@@ -71,7 +71,7 @@ void bl2_trmm( side_t side,
|
||||
|
||||
// Set each alias as the root object. This makes life easier when
|
||||
// implementing right side and transpose cases because we don't actually
|
||||
// the root objects but rather the root objects after we are done
|
||||
// want the root objects but rather the root objects after we are done
|
||||
// fiddling with them.
|
||||
bl2_obj_set_as_root( a_local );
|
||||
bl2_obj_set_as_root( b_local );
|
||||
@@ -153,6 +153,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, ao, bo; \
|
||||
\
|
||||
dim_t mn_a; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dim_with_side( side, m, n, mn_a ); \
|
||||
\
|
||||
@@ -171,6 +174,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&alphao, \
|
||||
&ao, \
|
||||
&bo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( trmm, trmm )
|
||||
@@ -194,7 +199,7 @@ void PASTEMAC2(cha,chb,opname)( \
|
||||
ctype_b* b, inc_t rs_b, inc_t cs_b \
|
||||
) \
|
||||
{ \
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC2_BASIC( trmm, trmm )
|
||||
|
||||
@@ -76,7 +76,7 @@ void bl2_trmm3( side_t side,
|
||||
|
||||
// Set each alias as the root object. This makes life easier when
|
||||
// implementing right side and transpose cases because we don't actually
|
||||
// the root objects but rather the root objects after we are done
|
||||
// want the root objects but rather the root objects after we are done
|
||||
// fiddling with them.
|
||||
bl2_obj_set_as_root( a_local );
|
||||
bl2_obj_set_as_root( b_local );
|
||||
@@ -171,6 +171,9 @@ void PASTEMAC(ch,opname)( \
|
||||
\
|
||||
dim_t mn_a; \
|
||||
dim_t m_b, n_b; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dim_with_side( side, m, n, mn_a ); \
|
||||
bl2_set_dims_with_trans( transb, m, n, m_b, n_b ); \
|
||||
@@ -195,6 +198,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&bo, \
|
||||
&betao, \
|
||||
&co ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( trmm3, trmm3 )
|
||||
|
||||
@@ -69,7 +69,7 @@ void bl2_trsm( side_t side,
|
||||
|
||||
// Set each alias as the root object. This makes life easier when
|
||||
// implementing right side and transpose cases because we don't actually
|
||||
// the root objects but rather the root objects after we are done
|
||||
// want the root objects but rather the root objects after we are done
|
||||
// fiddling with them.
|
||||
bl2_obj_set_as_root( a_local );
|
||||
bl2_obj_set_as_root( b_local );
|
||||
@@ -149,6 +149,9 @@ void PASTEMAC(ch,opname)( \
|
||||
obj_t alphao, ao, bo; \
|
||||
\
|
||||
dim_t mn_a; \
|
||||
err_t init_result; \
|
||||
\
|
||||
bl2_init_safe( &init_result ); \
|
||||
\
|
||||
bl2_set_dim_with_side( side, m, n, mn_a ); \
|
||||
\
|
||||
@@ -167,6 +170,8 @@ void PASTEMAC(ch,opname)( \
|
||||
&alphao, \
|
||||
&ao, \
|
||||
&bo ); \
|
||||
\
|
||||
bl2_finalize_safe( init_result ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC_BASIC( trsm, trsm )
|
||||
|
||||
@@ -66,6 +66,8 @@ void bl2_finalize( void )
|
||||
bl2_finalize_const();
|
||||
|
||||
bl2_cntl_finalize();
|
||||
|
||||
// Don't need to do anything to finalize error messages.
|
||||
}
|
||||
|
||||
void bl2_init_const( void )
|
||||
@@ -90,3 +92,34 @@ void bl2_finalize_const( void )
|
||||
bl2_obj_free( &BLIS_MINUS_TWO );
|
||||
}
|
||||
|
||||
void bl2_init_safe( err_t* init_result )
|
||||
{
|
||||
if ( bl2_initialized )
|
||||
{
|
||||
*init_result = BLIS_FAILURE;
|
||||
}
|
||||
else
|
||||
{
|
||||
bl2_init();
|
||||
*init_result = BLIS_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
void bl2_finalize_safe( err_t init_result )
|
||||
{
|
||||
#ifdef BLIS_ENABLE_STAY_AUTO_INITIALIZED
|
||||
|
||||
// If BLIS was configured to stay initialized after being automatically
|
||||
// initialized, we honor the configuration request and do nothing.
|
||||
// BLIS will remain initialized unless and until the user explicitly
|
||||
// calls bl2_finalize().
|
||||
|
||||
#else
|
||||
// Only finalize if the corresponding bl2_init_safe() actually
|
||||
// resulted in BLIS being initialized; if it did nothing, we
|
||||
// similarly do nothing here.
|
||||
if ( init_result == BLIS_SUCCESS )
|
||||
bl2_finalize();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
|
||||
void bl2_init( void );
|
||||
void bl2_finalize( void );
|
||||
|
||||
void bl2_init_const( void );
|
||||
void bl2_finalize_const( void );
|
||||
|
||||
void bl2_init_safe( err_t* init_result );
|
||||
void bl2_finalize_safe( err_t init_result );
|
||||
|
||||
98
frame/compat/bl2_blas.h
Normal file
98
frame/compat/bl2_blas.h
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
// -- Level-1 BLAS --
|
||||
|
||||
#include "bla_amax.h"
|
||||
#include "bla_asum.h"
|
||||
#include "bla_axpy.h"
|
||||
#include "bla_copy.h"
|
||||
#include "bla_dot.h"
|
||||
#include "bla_nrm2.h"
|
||||
#include "bla_rot.h"
|
||||
#include "bla_rotg.h"
|
||||
#include "bla_rotm.h"
|
||||
#include "bla_rotmg.h"
|
||||
#include "bla_scal.h"
|
||||
#include "bla_swap.h"
|
||||
|
||||
|
||||
// -- Level-2 BLAS --
|
||||
|
||||
// dense
|
||||
|
||||
#include "bla_gemv.h"
|
||||
#include "bla_ger.h"
|
||||
#include "bla_hemv.h"
|
||||
#include "bla_her.h"
|
||||
#include "bla_her2.h"
|
||||
#include "bla_symv.h"
|
||||
#include "bla_syr.h"
|
||||
#include "bla_syr2.h"
|
||||
#include "bla_trmv.h"
|
||||
#include "bla_trsv.h"
|
||||
|
||||
// packed
|
||||
|
||||
#include "bla_hpmv.h"
|
||||
#include "bla_hpr.h"
|
||||
#include "bla_hpr2.h"
|
||||
#include "bla_spmv.h"
|
||||
#include "bla_spr.h"
|
||||
#include "bla_spr2.h"
|
||||
#include "bla_tpmv.h"
|
||||
#include "bla_tpsv.h"
|
||||
|
||||
// banded
|
||||
|
||||
#include "bla_gbmv.h"
|
||||
#include "bla_hbmv.h"
|
||||
#include "bla_sbmv.h"
|
||||
#include "bla_tbmv.h"
|
||||
#include "bla_tbsv.h"
|
||||
|
||||
|
||||
// -- Level-3 BLAS --
|
||||
|
||||
#include "bla_gemm.h"
|
||||
#include "bla_hemm.h"
|
||||
#include "bla_herk.h"
|
||||
#include "bla_her2k.h"
|
||||
#include "bla_symm.h"
|
||||
#include "bla_syrk.h"
|
||||
#include "bla_syr2k.h"
|
||||
#include "bla_trmm.h"
|
||||
#include "bla_trsm.h"
|
||||
|
||||
|
||||
70
frame/compat/bla_amax.c
Normal file
70
frame/compat/bla_amax.c
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC2I
|
||||
#define GENTFUNC2I( ftype_x, ftype_i, chx, chi, blasname, blisname ) \
|
||||
\
|
||||
ftype_i PASTEF772(chi,chx,blasname)( \
|
||||
fint* n, \
|
||||
ftype_x* x, fint* incx \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype_x* x0; \
|
||||
inc_t incx0; \
|
||||
ftype_i index; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
index = 0; \
|
||||
\
|
||||
return index; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC2I_BLAS( amax, abmaxv )
|
||||
#endif
|
||||
|
||||
50
frame/compat/bla_amax.h
Normal file
50
frame/compat/bla_amax.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT2I
|
||||
#define GENTPROT2I( ftype_x, ftype_i, chx, chi, blasname ) \
|
||||
\
|
||||
ftype_i PASTEF772(chi,chx,blasname)( \
|
||||
fint* n, \
|
||||
ftype_x* x, fint* incx \
|
||||
); \
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT2I_BLAS( amax )
|
||||
#endif
|
||||
|
||||
72
frame/compat/bla_asum.c
Normal file
72
frame/compat/bla_asum.c
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCR2
|
||||
#define GENTFUNCR2( ftype_x, ftype_r, chx, chr, blasname, blisname ) \
|
||||
\
|
||||
ftype_r PASTEF772(chr,chx,blasname)( \
|
||||
fint* n, \
|
||||
ftype_x* x, fint* incx \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype_x* x0; \
|
||||
inc_t incx0; \
|
||||
ftype_r absum; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(chx,absumv)( n0, \
|
||||
x0, incx0, \
|
||||
&absum ); \
|
||||
\
|
||||
return absum; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCR2_BLAS( asum, absumv )
|
||||
#endif
|
||||
|
||||
50
frame/compat/bla_asum.h
Normal file
50
frame/compat/bla_asum.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTR2
|
||||
#define GENTPROTR2( ftype_x, ftype_r, chx, chr, blasname ) \
|
||||
\
|
||||
ftype_r PASTEF772(chr,chx,blasname)( \
|
||||
fint* n, \
|
||||
ftype_x* x, fint* incx \
|
||||
); \
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTR2_BLAS( asum )
|
||||
#endif
|
||||
|
||||
76
frame/compat/bla_axpy.c
Normal file
76
frame/compat/bla_axpy.c
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC3(ch,ch,ch,blisname)( BLIS_NO_CONJUGATE, \
|
||||
n0, \
|
||||
alpha, \
|
||||
x0, incx0, \
|
||||
y0, incy0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( axpy, AXPYV_KERNEL )
|
||||
#endif
|
||||
|
||||
52
frame/compat/bla_axpy.h
Normal file
52
frame/compat/bla_axpy.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( axpy )
|
||||
#endif
|
||||
|
||||
74
frame/compat/bla_copy.c
Normal file
74
frame/compat/bla_copy.c
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC2(ch,ch,blisname)( BLIS_NO_CONJUGATE, \
|
||||
n0, \
|
||||
x0, incx0, \
|
||||
y0, incy0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( copy, COPYV_KERNEL )
|
||||
#endif
|
||||
|
||||
51
frame/compat/bla_copy.h
Normal file
51
frame/compat/bla_copy.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( copy )
|
||||
#endif
|
||||
|
||||
103
frame/compat/bla_dot.c
Normal file
103
frame/compat/bla_dot.c
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCDOT
|
||||
#define GENTFUNCDOT( ftype, chxy, chc, blis_conjx, blasname, blisname ) \
|
||||
\
|
||||
ftype PASTEF772(chxy,blasname,chc)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
ftype rho; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC3(chxy,chxy,chxy,blisname)( blis_conjx, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
n0, \
|
||||
x0, incx0, \
|
||||
y0, incy0, \
|
||||
&rho ); \
|
||||
\
|
||||
return rho; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCDOT_BLAS( dot, DOTV_KERNEL )
|
||||
|
||||
|
||||
// -- "Black sheep" dot product function definitions --
|
||||
|
||||
float PASTEF77(sd,sdot)( fint* n,
|
||||
float* x, fint* incx,
|
||||
float* y, fint* incy
|
||||
)
|
||||
{
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED );
|
||||
|
||||
return 0.0F;
|
||||
}
|
||||
|
||||
double PASTEF77(d,sdot)( fint* n,
|
||||
float* x, fint* incx,
|
||||
float* y, fint* incy
|
||||
)
|
||||
{
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED );
|
||||
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
63
frame/compat/bla_dot.h
Normal file
63
frame/compat/bla_dot.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTDOT
|
||||
#define GENTPROTDOT( ftype, chxy, chc, blasname ) \
|
||||
\
|
||||
ftype PASTEF772(chxy,blasname,chc)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTDOT_BLAS( dot )
|
||||
|
||||
|
||||
// -- "Black sheep" dot product function prototypes --
|
||||
|
||||
float PASTEF77(sd,sdot)( fint* n,
|
||||
float* x, fint* incx,
|
||||
float* y, fint* incy
|
||||
);
|
||||
|
||||
double PASTEF77(d,sdot)( fint* n,
|
||||
float* x, fint* incx,
|
||||
float* y, fint* incy
|
||||
);
|
||||
#endif
|
||||
87
frame/compat/bla_gbmv.c
Normal file
87
frame/compat/bla_gbmv.c
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
fint* kl, \
|
||||
fint* ku, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
trans_t blis_transa; \
|
||||
dim_t m0, n0; \
|
||||
dim_t m_y, n_x; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||
\
|
||||
/* Convert negative values of m and n to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* Determine the dimensions of x and y so we can adjust the increments,
|
||||
if necessary.*/ \
|
||||
bl2_set_dims_with_trans( blis_transa, m0, n0, m_y, n_x ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n_x, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m_y, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( gbmv, gbmv )
|
||||
#endif
|
||||
|
||||
58
frame/compat/bla_gbmv.h
Normal file
58
frame/compat/bla_gbmv.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
fint* kl, \
|
||||
fint* ku, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( gbmv )
|
||||
#endif
|
||||
|
||||
97
frame/compat/bla_gemm.c
Normal file
97
frame/compat/bla_gemm.c
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* transa, \
|
||||
fchar* transb, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
) \
|
||||
{ \
|
||||
trans_t blis_transa; \
|
||||
trans_t blis_transb; \
|
||||
dim_t m0, n0, k0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
inc_t rs_b, cs_b; \
|
||||
inc_t rs_c, cs_c; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||
bl2_param_map_netlib_to_blis_trans( *transb, &blis_transb ); \
|
||||
\
|
||||
/* Convert negative values of m, n, and k to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
bl2_convert_blas_dim1( *k, k0 ); \
|
||||
\
|
||||
/* Set the row and column strides of the matrix operands. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
rs_b = 1; \
|
||||
cs_b = *ldb; \
|
||||
rs_c = 1; \
|
||||
cs_c = *ldc; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_transa, \
|
||||
blis_transb, \
|
||||
m0, \
|
||||
n0, \
|
||||
k0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
b, rs_b, cs_b, \
|
||||
beta, \
|
||||
c, rs_c, cs_c ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( gemm, gemm )
|
||||
#endif
|
||||
|
||||
58
frame/compat/bla_gemm.h
Normal file
58
frame/compat/bla_gemm.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* transa, \
|
||||
fchar* transb, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( gemm )
|
||||
#endif
|
||||
|
||||
99
frame/compat/bla_gemv.c
Normal file
99
frame/compat/bla_gemv.c
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
trans_t blis_transa; \
|
||||
dim_t m0, n0; \
|
||||
dim_t m_y, n_x; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||
\
|
||||
/* Convert negative values of m and n to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* Determine the dimensions of x and y so we can adjust the increments,
|
||||
if necessary.*/ \
|
||||
bl2_set_dims_with_trans( blis_transa, m0, n0, m_y, n_x ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n_x, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m_y, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_transa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
n0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
x0, incx0, \
|
||||
beta, \
|
||||
y0, incy0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( gemv, gemv )
|
||||
#endif
|
||||
|
||||
56
frame/compat/bla_gemv.h
Normal file
56
frame/compat/bla_gemv.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( gemv )
|
||||
#endif
|
||||
|
||||
87
frame/compat/bla_ger.c
Normal file
87
frame/compat/bla_ger.c
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCDOT
|
||||
#define GENTFUNCDOT( ftype, chxy, chc, blis_conjy, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF772(chxy,blasname,chc)( \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a, fint* lda \
|
||||
) \
|
||||
{ \
|
||||
dim_t m0, n0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Convert negative values of m and n to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(chxy,blisname)( BLIS_NO_CONJUGATE, \
|
||||
blis_conjy, \
|
||||
m0, \
|
||||
n0, \
|
||||
alpha, \
|
||||
x0, incx0, \
|
||||
y0, incy0, \
|
||||
a, rs_a, cs_a ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCDOT_BLAS( ger, ger )
|
||||
#endif
|
||||
|
||||
54
frame/compat/bla_ger.h
Normal file
54
frame/compat/bla_ger.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTDOT
|
||||
#define GENTPROTDOT( ftype, chxy, chc, blasname ) \
|
||||
\
|
||||
void PASTEF772(chxy,blasname,chc)( \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a, fint* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTDOT_BLAS( ger )
|
||||
#endif
|
||||
|
||||
79
frame/compat/bla_hbmv.c
Normal file
79
frame/compat/bla_hbmv.c
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( hbmv, hbmv )
|
||||
#endif
|
||||
|
||||
56
frame/compat/bla_hbmv.h
Normal file
56
frame/compat/bla_hbmv.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( hbmv )
|
||||
#endif
|
||||
|
||||
96
frame/compat/bla_hemm.c
Normal file
96
frame/compat/bla_hemm.c
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* side, \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
) \
|
||||
{ \
|
||||
side_t blis_side; \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0, n0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
inc_t rs_b, cs_b; \
|
||||
inc_t rs_c, cs_c; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m and n to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* Set the row and column strides of the matrix operands. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
rs_b = 1; \
|
||||
cs_b = *ldb; \
|
||||
rs_c = 1; \
|
||||
cs_c = *ldc; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_side, \
|
||||
blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
BLIS_NO_TRANSPOSE, \
|
||||
m0, \
|
||||
n0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
b, rs_b, cs_b, \
|
||||
beta, \
|
||||
c, rs_c, cs_c ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( hemm, hemm )
|
||||
#endif
|
||||
|
||||
57
frame/compat/bla_hemm.h
Normal file
57
frame/compat/bla_hemm.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* side, \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( hemm )
|
||||
#endif
|
||||
|
||||
92
frame/compat/bla_hemv.c
Normal file
92
frame/compat/bla_hemv.c
Normal file
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
x0, incx0, \
|
||||
beta, \
|
||||
y0, incy0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( hemv, hemv )
|
||||
#endif
|
||||
|
||||
55
frame/compat/bla_hemv.h
Normal file
55
frame/compat/bla_hemv.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( hemv )
|
||||
#endif
|
||||
|
||||
84
frame/compat/bla_her.c
Normal file
84
frame/compat/bla_her.c
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype_r* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a, fint* lda \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
inc_t incx0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
alpha, \
|
||||
x0, incx0, \
|
||||
a, rs_a, cs_a ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( her, her )
|
||||
#endif
|
||||
|
||||
53
frame/compat/bla_her.h
Normal file
53
frame/compat/bla_her.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype_r* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a, fint* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( her )
|
||||
#endif
|
||||
|
||||
90
frame/compat/bla_her2.c
Normal file
90
frame/compat/bla_her2.c
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a, fint* lda \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
alpha, \
|
||||
x0, incx0, \
|
||||
y0, incy0, \
|
||||
a, rs_a, cs_a ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( her2, her2 )
|
||||
#endif
|
||||
|
||||
54
frame/compat/bla_her2.h
Normal file
54
frame/compat/bla_her2.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a, fint* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( her2 )
|
||||
#endif
|
||||
|
||||
95
frame/compat/bla_her2k.c
Normal file
95
frame/compat/bla_her2k.c
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploc, \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype_r* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploc; \
|
||||
trans_t blis_transa; \
|
||||
dim_t m0, k0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
inc_t rs_b, cs_b; \
|
||||
inc_t rs_c, cs_c; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
||||
bl2_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||
\
|
||||
/* Convert negative values of m and k to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *k, k0 ); \
|
||||
\
|
||||
/* Set the row and column strides of the matrix operands. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
rs_b = 1; \
|
||||
cs_b = *ldb; \
|
||||
rs_c = 1; \
|
||||
cs_c = *ldc; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploc, \
|
||||
blis_transa, \
|
||||
BLIS_NO_TRANSPOSE, \
|
||||
m0, \
|
||||
k0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
b, rs_b, cs_b, \
|
||||
beta, \
|
||||
c, rs_c, cs_c ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( her2k, her2k )
|
||||
#endif
|
||||
|
||||
57
frame/compat/bla_her2k.h
Normal file
57
frame/compat/bla_her2k.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploc, \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype_r* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( her2k )
|
||||
#endif
|
||||
|
||||
89
frame/compat/bla_herk.c
Normal file
89
frame/compat/bla_herk.c
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploc, \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype_r* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype_r* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploc; \
|
||||
trans_t blis_transa; \
|
||||
dim_t m0, k0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
inc_t rs_c, cs_c; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
||||
bl2_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||
\
|
||||
/* Convert negative values of m and k to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *k, k0 ); \
|
||||
\
|
||||
/* Set the row and column strides of the matrix operands. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
rs_c = 1; \
|
||||
cs_c = *ldc; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploc, \
|
||||
blis_transa, \
|
||||
m0, \
|
||||
k0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
beta, \
|
||||
c, rs_c, cs_c ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( herk, herk )
|
||||
#endif
|
||||
|
||||
56
frame/compat/bla_herk.h
Normal file
56
frame/compat/bla_herk.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploc, \
|
||||
fchar* transa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype_r* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype_r* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( herk )
|
||||
#endif
|
||||
|
||||
78
frame/compat/bla_hpmv.c
Normal file
78
frame/compat/bla_hpmv.c
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( hpmv, hpmv )
|
||||
#endif
|
||||
|
||||
55
frame/compat/bla_hpmv.h
Normal file
55
frame/compat/bla_hpmv.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( hpmv )
|
||||
#endif
|
||||
|
||||
73
frame/compat/bla_hpr.c
Normal file
73
frame/compat/bla_hpr.c
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype_r* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
inc_t incx0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( hpr, hpr )
|
||||
#endif
|
||||
|
||||
53
frame/compat/bla_hpr.h
Normal file
53
frame/compat/bla_hpr.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype_r* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( hpr )
|
||||
#endif
|
||||
|
||||
77
frame/compat/bla_hpr2.c
Normal file
77
frame/compat/bla_hpr2.c
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCCO
|
||||
#define GENTFUNCCO( ftype, ftype_r, ch, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCCO_BLAS( hpr2, hpr2 )
|
||||
#endif
|
||||
|
||||
54
frame/compat/bla_hpr2.h
Normal file
54
frame/compat/bla_hpr2.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTCO
|
||||
#define GENTPROTCO( ftype, ftype_r, ch, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTCO_BLAS( hpr2 )
|
||||
#endif
|
||||
|
||||
72
frame/compat/bla_nrm2.c
Normal file
72
frame/compat/bla_nrm2.c
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCR2
|
||||
#define GENTFUNCR2( ftype_x, ftype_r, chx, chr, blasname, blisname ) \
|
||||
\
|
||||
ftype_r PASTEF772(chr,chx,blasname)( \
|
||||
fint* n, \
|
||||
ftype_x* x, fint* incx \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype_x* x0; \
|
||||
inc_t incx0; \
|
||||
ftype_r absum; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(chx,fnormv)( n0, \
|
||||
x0, incx0, \
|
||||
&absum ); \
|
||||
\
|
||||
return absum; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCR2_BLAS( nrm2, fnormv )
|
||||
#endif
|
||||
|
||||
50
frame/compat/bla_nrm2.h
Normal file
50
frame/compat/bla_nrm2.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTR2
|
||||
#define GENTPROTR2( ftype_x, ftype_r, chx, chr, blasname ) \
|
||||
\
|
||||
ftype_r PASTEF772(chr,chx,blasname)( \
|
||||
fint* n, \
|
||||
ftype_x* x, fint* incx \
|
||||
); \
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTR2_BLAS( nrm2 )
|
||||
#endif
|
||||
|
||||
72
frame/compat/bla_rot.c
Normal file
72
frame/compat/bla_rot.c
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCR2
|
||||
#define GENTFUNCR2( ftype_xy, ftype_r, chxy, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF772(chxy,chr,blasname)( \
|
||||
fint* n, \
|
||||
ftype_xy* x, fint* incx, \
|
||||
ftype_xy* y, fint* incy, \
|
||||
ftype_r* c, \
|
||||
ftype_r* s \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype_xy* x0; \
|
||||
ftype_xy* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCR2_BLAS( rot, ROT_KERNEL )
|
||||
#endif
|
||||
|
||||
53
frame/compat/bla_rot.h
Normal file
53
frame/compat/bla_rot.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTR2
|
||||
#define GENTPROTR2( ftype_xy, ftype_r, chxy, chr, blasname ) \
|
||||
\
|
||||
void PASTEF772(chxy,chr,blasname)( \
|
||||
fint* n, \
|
||||
ftype_xy* x, fint* incx, \
|
||||
ftype_xy* y, fint* incy, \
|
||||
ftype_r* c, \
|
||||
ftype_r* s \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTR2_BLAS( rot )
|
||||
#endif
|
||||
|
||||
57
frame/compat/bla_rotg.c
Normal file
57
frame/compat/bla_rotg.c
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCR
|
||||
#define GENTFUNCR( ftype_xy, ftype_r, chxy, chr, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(chxy,blasname)( \
|
||||
ftype_xy* x, \
|
||||
ftype_xy* y, \
|
||||
ftype_r* c, \
|
||||
ftype_r* s \
|
||||
) \
|
||||
{ \
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCR_BLAS( rotg, rotg, ROTG_KERNEL )
|
||||
#endif
|
||||
|
||||
52
frame/compat/bla_rotg.h
Normal file
52
frame/compat/bla_rotg.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTR
|
||||
#define GENTPROTR( ftype_xy, ftype_r, chxy, chr, blasname ) \
|
||||
\
|
||||
void PASTEF77(chxy,blasname)( \
|
||||
ftype_xy* x, \
|
||||
ftype_xy* y, \
|
||||
ftype_r* c, \
|
||||
ftype_r* s \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTR_BLAS( rotg, rotg )
|
||||
#endif
|
||||
|
||||
71
frame/compat/bla_rotm.c
Normal file
71
frame/compat/bla_rotm.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* dparam \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( rotm, ROTM_KERNEL )
|
||||
#endif
|
||||
|
||||
52
frame/compat/bla_rotm.h
Normal file
52
frame/compat/bla_rotm.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* dparam \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( rotm )
|
||||
#endif
|
||||
|
||||
58
frame/compat/bla_rotmg.c
Normal file
58
frame/compat/bla_rotmg.c
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
ftype* d1, \
|
||||
ftype* d2, \
|
||||
ftype* x, \
|
||||
ftype* y, \
|
||||
ftype* dparam \
|
||||
) \
|
||||
{ \
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( rotmg, ROTMG_KERNEL )
|
||||
#endif
|
||||
|
||||
53
frame/compat/bla_rotmg.h
Normal file
53
frame/compat/bla_rotmg.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
ftype* d1, \
|
||||
ftype* d2, \
|
||||
ftype* x, \
|
||||
ftype* y, \
|
||||
ftype* dparam \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( rotmg )
|
||||
#endif
|
||||
|
||||
79
frame/compat/bla_sbmv.c
Normal file
79
frame/compat/bla_sbmv.c
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( sbmv, sbmv )
|
||||
#endif
|
||||
|
||||
56
frame/compat/bla_sbmv.h
Normal file
56
frame/compat/bla_sbmv.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* k, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( sbmv )
|
||||
#endif
|
||||
|
||||
80
frame/compat/bla_scal.c
Normal file
80
frame/compat/bla_scal.c
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCSCAL
|
||||
#define GENTFUNCSCAL( ftype_a, ftype_x, cha, chx, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF772(chx,cha,blasname)( \
|
||||
fint* n, \
|
||||
ftype_a* alpha, \
|
||||
ftype_x* x, fint* incx \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype_x* x0; \
|
||||
inc_t incx0; \
|
||||
ftype_x alpha_cast; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
/* NOTE: We do not natively implement BLAS's csscal/zdscal in BLIS
|
||||
UNLESS mixed domain functionality is enabled at configure-time.
|
||||
However, we don't want to assume that BLIS was configured that
|
||||
way, so we will just always sub-optimally implement those cases
|
||||
by casting alpha to ctype_x (potentially the complex domain) and
|
||||
using the homogeneous datatype instance according to that type. */ \
|
||||
PASTEMAC2(cha,chx,cast)( alpha, alpha_cast ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC2(chx,chx,blisname)( BLIS_NO_CONJUGATE, \
|
||||
n0, \
|
||||
&alpha_cast, \
|
||||
x0, incx0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCSCAL_BLAS( scal, SCALV_KERNEL )
|
||||
#endif
|
||||
|
||||
51
frame/compat/bla_scal.h
Normal file
51
frame/compat/bla_scal.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTSCAL
|
||||
#define GENTPROTSCAL( ftype_a, ftype_x, cha, chx, blasname ) \
|
||||
\
|
||||
void PASTEF772(chx,cha,blasname)( \
|
||||
fint* n, \
|
||||
ftype_a* alpha, \
|
||||
ftype_x* x, fint* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTSCAL_BLAS( scal )
|
||||
#endif
|
||||
|
||||
78
frame/compat/bla_spmv.c
Normal file
78
frame/compat/bla_spmv.c
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( spmv, spmv )
|
||||
#endif
|
||||
|
||||
55
frame/compat/bla_spmv.h
Normal file
55
frame/compat/bla_spmv.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( spmv )
|
||||
#endif
|
||||
|
||||
73
frame/compat/bla_spr.c
Normal file
73
frame/compat/bla_spr.c
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
inc_t incx0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( spr, spr )
|
||||
#endif
|
||||
|
||||
53
frame/compat/bla_spr.h
Normal file
53
frame/compat/bla_spr.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( spr )
|
||||
#endif
|
||||
|
||||
77
frame/compat/bla_spr2.c
Normal file
77
frame/compat/bla_spr2.c
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
bl2_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( spr2, spr2 )
|
||||
#endif
|
||||
|
||||
54
frame/compat/bla_spr2.h
Normal file
54
frame/compat/bla_spr2.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( spr2 )
|
||||
#endif
|
||||
|
||||
73
frame/compat/bla_swap.c
Normal file
73
frame/compat/bla_swap.c
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
dim_t n0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
\
|
||||
/* Convert negative values of n to zero. */ \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( n0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( n0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC2(ch,ch,blisname)( n0, \
|
||||
x0, incx0, \
|
||||
y0, incy0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( swap, SWAPV_KERNEL )
|
||||
#endif
|
||||
|
||||
51
frame/compat/bla_swap.h
Normal file
51
frame/compat/bla_swap.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fint* n, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( swap )
|
||||
#endif
|
||||
|
||||
96
frame/compat/bla_symm.c
Normal file
96
frame/compat/bla_symm.c
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNC
|
||||
#define GENTFUNC( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* side, \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
) \
|
||||
{ \
|
||||
side_t blis_side; \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0, n0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
inc_t rs_b, cs_b; \
|
||||
inc_t rs_c, cs_c; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m and n to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
bl2_convert_blas_dim1( *n, n0 ); \
|
||||
\
|
||||
/* Set the row and column strides of the matrix operands. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
rs_b = 1; \
|
||||
cs_b = *ldb; \
|
||||
rs_c = 1; \
|
||||
cs_c = *ldc; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_side, \
|
||||
blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
BLIS_NO_TRANSPOSE, \
|
||||
m0, \
|
||||
n0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
b, rs_b, cs_b, \
|
||||
beta, \
|
||||
c, rs_c, cs_c ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNC_BLAS( symm, symm )
|
||||
#endif
|
||||
|
||||
57
frame/compat/bla_symm.h
Normal file
57
frame/compat/bla_symm.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROT
|
||||
#define GENTPROT( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* side, \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
fint* n, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* b, fint* ldb, \
|
||||
ftype* beta, \
|
||||
ftype* c, fint* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROT_BLAS( symm )
|
||||
#endif
|
||||
|
||||
92
frame/compat/bla_symv.c
Normal file
92
frame/compat/bla_symv.c
Normal file
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
alpha, \
|
||||
a, rs_a, cs_a, \
|
||||
x0, incx0, \
|
||||
beta, \
|
||||
y0, incy0 ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( symv, symv )
|
||||
#endif
|
||||
|
||||
55
frame/compat/bla_symv.h
Normal file
55
frame/compat/bla_symv.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* a, fint* lda, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* beta, \
|
||||
ftype* y, fint* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( symv )
|
||||
#endif
|
||||
|
||||
84
frame/compat/bla_syr.c
Normal file
84
frame/compat/bla_syr.c
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a, fint* lda \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
inc_t incx0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
alpha, \
|
||||
x0, incx0, \
|
||||
a, rs_a, cs_a ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( syr, syr )
|
||||
#endif
|
||||
|
||||
53
frame/compat/bla_syr.h
Normal file
53
frame/compat/bla_syr.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Prototype BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTPROTRO
|
||||
#define GENTPROTRO( ftype, ch, blasname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* a, fint* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTPROTRO_BLAS( syr )
|
||||
#endif
|
||||
|
||||
90
frame/compat/bla_syr2.c
Normal file
90
frame/compat/bla_syr2.c
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2013, The University of Texas
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- 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 distribution.
|
||||
- Neither the name of The University of Texas nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
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 COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, 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
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "blis2.h"
|
||||
|
||||
|
||||
//
|
||||
// Define BLAS-to-BLIS interfaces.
|
||||
//
|
||||
#undef GENTFUNCRO
|
||||
#define GENTFUNCRO( ftype, ch, blasname, blisname ) \
|
||||
\
|
||||
void PASTEF77(ch,blasname)( \
|
||||
fchar* uploa, \
|
||||
fint* m, \
|
||||
ftype* alpha, \
|
||||
ftype* x, fint* incx, \
|
||||
ftype* y, fint* incy, \
|
||||
ftype* a, fint* lda \
|
||||
) \
|
||||
{ \
|
||||
uplo_t blis_uploa; \
|
||||
dim_t m0; \
|
||||
ftype* x0; \
|
||||
ftype* y0; \
|
||||
inc_t incx0; \
|
||||
inc_t incy0; \
|
||||
inc_t rs_a, cs_a; \
|
||||
\
|
||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||
bl2_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||
\
|
||||
/* Convert negative values of m to zero. */ \
|
||||
bl2_convert_blas_dim1( *m, m0 ); \
|
||||
\
|
||||
/* If the input increments are negative, adjust the pointers so we can
|
||||
use positive increments instead. */ \
|
||||
bl2_convert_blas_incv( m0, x, *incx, x0, incx0 ); \
|
||||
bl2_convert_blas_incv( m0, y, *incy, y0, incy0 ); \
|
||||
\
|
||||
/* Set the row and column strides of A. */ \
|
||||
rs_a = 1; \
|
||||
cs_a = *lda; \
|
||||
\
|
||||
/* Call BLIS interface. */ \
|
||||
PASTEMAC(ch,blisname)( blis_uploa, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
BLIS_NO_CONJUGATE, \
|
||||
m0, \
|
||||
alpha, \
|
||||
x0, incx0, \
|
||||
y0, incy0, \
|
||||
a, rs_a, cs_a ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
INSERT_GENTFUNCRO_BLAS( syr2, syr2 )
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user