/* ************************************************************************ * Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell cop- * ies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IM- * PLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNE- * CTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * ************************************************************************ */ #if defined(ROCBLAS_INTERNAL_ILP64) #define ROCBLAS_FAPI(_f) _f##_64_fortran #define rocblas_int int64_t #else #define ROCBLAS_FAPI(_f) _f##_fortran #endif /* ========== * L1 * ========== */ // asum rocblas_status ROCBLAS_FAPI(rocblas_sasum)( rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, float* result); rocblas_status ROCBLAS_FAPI(rocblas_dasum)( rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, double* result); rocblas_status ROCBLAS_FAPI(rocblas_scasum)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, float* result); rocblas_status ROCBLAS_FAPI(rocblas_dzasum)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, double* result); // asum_batched rocblas_status ROCBLAS_FAPI(rocblas_sasum_batched)(rocblas_handle handle, rocblas_int n, const float* const x[], rocblas_int incx, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dasum_batched)(rocblas_handle handle, rocblas_int n, const double* const x[], rocblas_int incx, rocblas_int batch_count, double* results); rocblas_status ROCBLAS_FAPI(rocblas_scasum_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dzasum_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count, double* results); // asum_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sasum_strided_batched)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dasum_strided_batched)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, double* results); rocblas_status ROCBLAS_FAPI(rocblas_scasum_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dzasum_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, double* results); // axpy rocblas_status ROCBLAS_FAPI(rocblas_haxpy)(rocblas_handle handle, rocblas_int n, const rocblas_half* alpha, const rocblas_half* x, rocblas_int incx, rocblas_half* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_saxpy)(rocblas_handle handle, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_daxpy)(rocblas_handle handle, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, double* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_caxpy)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zaxpy)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* y, rocblas_int incy); // axpy_batched rocblas_status ROCBLAS_FAPI(rocblas_haxpy_batched)(rocblas_handle handle, rocblas_int n, const rocblas_half* alpha, const rocblas_half* const x[], rocblas_int incx, rocblas_half* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_saxpy_batched)(rocblas_handle handle, rocblas_int n, const float* alpha, const float* const x[], rocblas_int incx, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_daxpy_batched)(rocblas_handle handle, rocblas_int n, const double* alpha, const double* const x[], rocblas_int incx, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_caxpy_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zaxpy_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // axpy_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_haxpy_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_half* alpha, const rocblas_half* x, rocblas_int incx, rocblas_stride stride_x, rocblas_half* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_saxpy_strided_batched)(rocblas_handle handle, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, rocblas_stride stride_x, float* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_daxpy_strided_batched)(rocblas_handle handle, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, rocblas_stride stride_x, double* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_caxpy_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zaxpy_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); // axpy_ex rocblas_status ROCBLAS_FAPI(rocblas_axpy_ex)(rocblas_handle handle, rocblas_int n, const void* alpha, rocblas_datatype alpha_type, const void* x, rocblas_datatype x_type, rocblas_int incx, void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_axpy_batched_ex)(rocblas_handle handle, rocblas_int n, const void* alpha, rocblas_datatype alpha_type, const void* x, rocblas_datatype x_type, rocblas_int incx, void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_int batch_count, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_axpy_strided_batched_ex)(rocblas_handle handle, rocblas_int n, const void* alpha, rocblas_datatype alpha_type, const void* x, rocblas_datatype x_type, rocblas_int incx, rocblas_stride stride_x, void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count, rocblas_datatype execution_type); // copy rocblas_status ROCBLAS_FAPI(rocblas_scopy)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dcopy)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, double* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_ccopy)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zcopy)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* y, rocblas_int incy); // copy batched rocblas_status ROCBLAS_FAPI(rocblas_scopy_batched)(rocblas_handle handle, rocblas_int n, const float* const x[], rocblas_int incx, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dcopy_batched)(rocblas_handle handle, rocblas_int n, const double* const x[], rocblas_int incx, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ccopy_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zcopy_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // copy_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_scopy_strided_batched)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_stride stridex, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dcopy_strided_batched)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_stride stridex, double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ccopy_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zcopy_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); // dot rocblas_status ROCBLAS_FAPI(rocblas_sdot)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, const float* y, rocblas_int incy, float* result); rocblas_status ROCBLAS_FAPI(rocblas_ddot)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, const double* y, rocblas_int incy, double* result); rocblas_status ROCBLAS_FAPI(rocblas_hdot)(rocblas_handle handle, rocblas_int n, const rocblas_half* x, rocblas_int incx, const rocblas_half* y, rocblas_int incy, rocblas_half* result); rocblas_status ROCBLAS_FAPI(rocblas_bfdot)(rocblas_handle handle, rocblas_int n, const rocblas_bfloat16* x, rocblas_int incx, const rocblas_bfloat16* y, rocblas_int incy, rocblas_bfloat16* result); rocblas_status ROCBLAS_FAPI(rocblas_cdotu)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_zdotu)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_cdotc)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_zdotc)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* result); // dot_batched rocblas_status ROCBLAS_FAPI(rocblas_sdot_batched)(rocblas_handle handle, rocblas_int n, const float* const x[], rocblas_int incx, const float* const y[], rocblas_int incy, rocblas_int batch_count, float* result); rocblas_status ROCBLAS_FAPI(rocblas_ddot_batched)(rocblas_handle handle, rocblas_int n, const double* const x[], rocblas_int incx, const double* const y[], rocblas_int incy, rocblas_int batch_count, double* result); rocblas_status ROCBLAS_FAPI(rocblas_hdot_batched)(rocblas_handle handle, rocblas_int n, const rocblas_half* const x[], rocblas_int incx, const rocblas_half* const y[], rocblas_int incy, rocblas_int batch_count, rocblas_half* result); rocblas_status ROCBLAS_FAPI(rocblas_bfdot_batched)(rocblas_handle handle, rocblas_int n, const rocblas_bfloat16* const x[], rocblas_int incx, const rocblas_bfloat16* const y[], rocblas_int incy, rocblas_int batch_count, rocblas_bfloat16* result); rocblas_status ROCBLAS_FAPI(rocblas_cdotu_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count, rocblas_float_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_zdotu_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count, rocblas_double_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_cdotc_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count, rocblas_float_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_zdotc_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count, rocblas_double_complex* result); // dot_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sdot_strided_batched)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_stride stridex, const float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, float* result); rocblas_status ROCBLAS_FAPI(rocblas_ddot_strided_batched)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_stride stridex, const double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, double* result); rocblas_status ROCBLAS_FAPI(rocblas_hdot_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_half* x, rocblas_int incx, rocblas_stride stridex, const rocblas_half* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, rocblas_half* result); rocblas_status ROCBLAS_FAPI(rocblas_bfdot_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_bfloat16* x, rocblas_int incx, rocblas_stride stridex, const rocblas_bfloat16* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, rocblas_bfloat16* result); rocblas_status ROCBLAS_FAPI(rocblas_cdotu_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, rocblas_float_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_zdotu_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, rocblas_double_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_cdotc_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, rocblas_float_complex* result); rocblas_status ROCBLAS_FAPI(rocblas_zdotc_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count, rocblas_double_complex* result); // dot_ex rocblas_status ROCBLAS_FAPI(rocblas_dot_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, const void* y, rocblas_datatype y_type, rocblas_int incy, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_dotc_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, const void* y, rocblas_datatype y_type, rocblas_int incy, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_dot_batched_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, const void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_int batch_count, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_dotc_batched_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, const void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_int batch_count, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_dot_strided_batched_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, rocblas_stride stride_x, const void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_dotc_strided_batched_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, rocblas_stride stride_x, const void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); // amax rocblas_status ROCBLAS_FAPI(rocblas_isamax)( rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_idamax)( rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_icamax)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_izamax)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_int* result); // amax_batched rocblas_status ROCBLAS_FAPI(rocblas_isamax_batched)(rocblas_handle handle, rocblas_int n, const float* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_idamax_batched)(rocblas_handle handle, rocblas_int n, const double* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_icamax_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_izamax_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); // amax_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_isamax_strided_batched)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_idamax_strided_batched)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_icamax_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_izamax_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); // amin rocblas_status ROCBLAS_FAPI(rocblas_isamin)( rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_idamin)( rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_icamin)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_izamin)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_int* result); // amin_batched rocblas_status ROCBLAS_FAPI(rocblas_isamin_batched)(rocblas_handle handle, rocblas_int n, const float* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_idamin_batched)(rocblas_handle handle, rocblas_int n, const double* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_icamin_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_izamin_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count, rocblas_int* result); // amin_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_isamin_strided_batched)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_idamin_strided_batched)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_icamin_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); rocblas_status ROCBLAS_FAPI(rocblas_izamin_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, rocblas_int* result); // nrm2 rocblas_status ROCBLAS_FAPI(rocblas_snrm2)( rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, float* result); rocblas_status ROCBLAS_FAPI(rocblas_dnrm2)( rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, double* result); rocblas_status ROCBLAS_FAPI(rocblas_scnrm2)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, float* result); rocblas_status ROCBLAS_FAPI(rocblas_dznrm2)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, double* result); // nrm2_batched rocblas_status ROCBLAS_FAPI(rocblas_snrm2_batched)(rocblas_handle handle, rocblas_int n, const float* const x[], rocblas_int incx, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dnrm2_batched)(rocblas_handle handle, rocblas_int n, const double* const x[], rocblas_int incx, rocblas_int batch_count, double* results); rocblas_status ROCBLAS_FAPI(rocblas_scnrm2_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dznrm2_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count, double* results); // nrm2_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_snrm2_strided_batched)(rocblas_handle handle, rocblas_int n, const float* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dnrm2_strided_batched)(rocblas_handle handle, rocblas_int n, const double* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, double* results); rocblas_status ROCBLAS_FAPI(rocblas_scnrm2_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, float* results); rocblas_status ROCBLAS_FAPI(rocblas_dznrm2_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count, double* results); // nrm2_ex rocblas_status ROCBLAS_FAPI(rocblas_nrm2_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_nrm2_batched_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, rocblas_int batch_count, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_nrm2_strided_batched_ex)(rocblas_handle handle, rocblas_int n, const void* x, rocblas_datatype x_type, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count, void* result, rocblas_datatype result_type, rocblas_datatype execution_type); // scal rocblas_status ROCBLAS_FAPI(rocblas_sscal)( rocblas_handle handle, rocblas_int n, const float* alpha, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dscal)( rocblas_handle handle, rocblas_int n, const double* alpha, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_cscal)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* alpha, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_zscal)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* alpha, rocblas_double_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_csscal)(rocblas_handle handle, rocblas_int n, const float* alpha, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_zdscal)(rocblas_handle handle, rocblas_int n, const double* alpha, rocblas_double_complex* x, rocblas_int incx); // scal_batched rocblas_status ROCBLAS_FAPI(rocblas_sscal_batched)(rocblas_handle handle, rocblas_int n, const float* alpha, float* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dscal_batched)(rocblas_handle handle, rocblas_int n, const double* alpha, double* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cscal_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* alpha, rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zscal_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* alpha, rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csscal_batched)(rocblas_handle handle, rocblas_int n, const float* alpha, rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zdscal_batched)(rocblas_handle handle, rocblas_int n, const double* alpha, rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count); // scal_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sscal_strided_batched)(rocblas_handle handle, rocblas_int n, const float* alpha, float* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dscal_strided_batched)(rocblas_handle handle, rocblas_int n, const double* alpha, double* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cscal_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_float_complex* alpha, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zscal_strided_batched)(rocblas_handle handle, rocblas_int n, const rocblas_double_complex* alpha, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csscal_strided_batched)(rocblas_handle handle, rocblas_int n, const float* alpha, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zdscal_strided_batched)(rocblas_handle handle, rocblas_int n, const double* alpha, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); // scal_ex rocblas_status ROCBLAS_FAPI(rocblas_scal_ex)(rocblas_handle handle, const rocblas_int N, const void* alpha, rocblas_datatype alpha_type, void* x, rocblas_datatype x_type, const rocblas_int incx, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_scal_batched_ex)(rocblas_handle handle, const rocblas_int N, const void* alpha, rocblas_datatype alpha_type, void* x, rocblas_datatype x_type, const rocblas_int incx, const rocblas_int batch_count, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_scal_strided_batched_ex)(rocblas_handle handle, const rocblas_int N, const void* alpha, rocblas_datatype alpha_type, void* x, rocblas_datatype x_type, const rocblas_int incx, const rocblas_stride stridex, const rocblas_int batch_count, rocblas_datatype execution_type); // rot rocblas_status ROCBLAS_FAPI(rocblas_srot)(rocblas_handle handle, rocblas_int n, float* x, rocblas_int incx, float* y, rocblas_int incy, const float* c, const float* s); rocblas_status ROCBLAS_FAPI(rocblas_drot)(rocblas_handle handle, rocblas_int n, double* x, rocblas_int incx, double* y, rocblas_int incy, const double* c, const double* s); rocblas_status ROCBLAS_FAPI(rocblas_crot)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* y, rocblas_int incy, const float* c, const rocblas_float_complex* s); rocblas_status ROCBLAS_FAPI(rocblas_csrot)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* y, rocblas_int incy, const float* c, const float* s); rocblas_status ROCBLAS_FAPI(rocblas_zrot)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* y, rocblas_int incy, const double* c, const rocblas_double_complex* s); rocblas_status ROCBLAS_FAPI(rocblas_zdrot)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* y, rocblas_int incy, const double* c, const double* s); // rot_batched rocblas_status ROCBLAS_FAPI(rocblas_srot_batched)(rocblas_handle handle, rocblas_int n, float* const x[], rocblas_int incx, float* const y[], rocblas_int incy, const float* c, const float* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drot_batched)(rocblas_handle handle, rocblas_int n, double* const x[], rocblas_int incx, double* const y[], rocblas_int incy, const double* c, const double* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_crot_batched)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const y[], rocblas_int incy, const float* c, const rocblas_float_complex* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csrot_batched)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const y[], rocblas_int incy, const float* c, const float* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zrot_batched)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const y[], rocblas_int incy, const double* c, const rocblas_double_complex* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zdrot_batched)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const y[], rocblas_int incy, const double* c, const double* s, rocblas_int batch_count); // rot_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_srot_strided_batched)(rocblas_handle handle, rocblas_int n, float* x, rocblas_int incx, rocblas_stride stride_x, float* y, rocblas_int incy, rocblas_stride stride_y, const float* c, const float* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drot_strided_batched)(rocblas_handle handle, rocblas_int n, double* x, rocblas_int incx, rocblas_stride stride_x, double* y, rocblas_int incy, rocblas_stride stride_y, const double* c, const double* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_crot_strided_batched)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, const float* c, const rocblas_float_complex* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csrot_strided_batched)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, const float* c, const float* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zrot_strided_batched)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, const double* c, const rocblas_double_complex* s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zdrot_strided_batched)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, const double* c, const double* s, rocblas_int batch_count); // rot_ex rocblas_status ROCBLAS_FAPI(rocblas_rot_ex)(rocblas_handle handle, rocblas_int n, void* x, rocblas_datatype x_type, rocblas_int incx, void* y, rocblas_datatype y_type, rocblas_int incy, const void* c, const void* s, rocblas_datatype cs_type, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_rot_batched_ex)(rocblas_handle handle, rocblas_int n, void* x, rocblas_datatype x_type, rocblas_int incx, void* y, rocblas_datatype y_type, rocblas_int incy, const void* c, const void* s, rocblas_datatype cs_type, rocblas_int batch_count, rocblas_datatype execution_type); rocblas_status ROCBLAS_FAPI(rocblas_rot_strided_batched_ex)(rocblas_handle handle, rocblas_int n, void* x, rocblas_datatype x_type, rocblas_int incx, rocblas_stride stride_x, void* y, rocblas_datatype y_type, rocblas_int incy, rocblas_stride stride_y, const void* c, const void* s, rocblas_datatype cs_type, rocblas_int batch_count, rocblas_datatype execution_type); // rotg rocblas_status ROCBLAS_FAPI(rocblas_srotg)(rocblas_handle handle, float* a, float* b, float* c, float* s); rocblas_status ROCBLAS_FAPI(rocblas_drotg)(rocblas_handle handle, double* a, double* b, double* c, double* s); rocblas_status ROCBLAS_FAPI(rocblas_crotg)(rocblas_handle handle, rocblas_float_complex* a, rocblas_float_complex* b, float* c, rocblas_float_complex* s); rocblas_status ROCBLAS_FAPI(rocblas_zrotg)(rocblas_handle handle, rocblas_double_complex* a, rocblas_double_complex* b, double* c, rocblas_double_complex* s); // rotg_batched rocblas_status ROCBLAS_FAPI(rocblas_srotg_batched)(rocblas_handle handle, float* const a[], float* const b[], float* const c[], float* const s[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drotg_batched)(rocblas_handle handle, double* const a[], double* const b[], double* const c[], double* const s[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_crotg_batched)(rocblas_handle handle, rocblas_float_complex* const a[], rocblas_float_complex* const b[], float* const c[], rocblas_float_complex* const s[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zrotg_batched)(rocblas_handle handle, rocblas_double_complex* const a[], rocblas_double_complex* const b[], double* const c[], rocblas_double_complex* const s[], rocblas_int batch_count); // rotg_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_srotg_strided_batched)(rocblas_handle handle, float* a, rocblas_stride stride_a, float* b, rocblas_stride stride_b, float* c, rocblas_stride stride_c, float* s, rocblas_stride stride_s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drotg_strided_batched)(rocblas_handle handle, double* a, rocblas_stride stride_a, double* b, rocblas_stride stride_b, double* c, rocblas_stride stride_c, double* s, rocblas_stride stride_s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_crotg_strided_batched)(rocblas_handle handle, rocblas_float_complex* a, rocblas_stride stride_a, rocblas_float_complex* b, rocblas_stride stride_b, float* c, rocblas_stride stride_c, rocblas_float_complex* s, rocblas_stride stride_s, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zrotg_strided_batched)(rocblas_handle handle, rocblas_double_complex* a, rocblas_stride stride_a, rocblas_double_complex* b, rocblas_stride stride_b, double* c, rocblas_stride stride_c, rocblas_double_complex* s, rocblas_stride stride_s, rocblas_int batch_count); // rotm rocblas_status ROCBLAS_FAPI(rocblas_srotm)(rocblas_handle handle, rocblas_int n, float* x, rocblas_int incx, float* y, rocblas_int incy, const float* param); rocblas_status ROCBLAS_FAPI(rocblas_drotm)(rocblas_handle handle, rocblas_int n, double* x, rocblas_int incx, double* y, rocblas_int incy, const double* param); // rotm_batched rocblas_status ROCBLAS_FAPI(rocblas_srotm_batched)(rocblas_handle handle, rocblas_int n, float* const x[], rocblas_int incx, float* const y[], rocblas_int incy, const float* const param[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drotm_batched)(rocblas_handle handle, rocblas_int n, double* const x[], rocblas_int incx, double* const y[], rocblas_int incy, const double* const param[], rocblas_int batch_count); // rotm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_srotm_strided_batched)(rocblas_handle handle, rocblas_int n, float* x, rocblas_int incx, rocblas_stride stride_x, float* y, rocblas_int incy, rocblas_stride stride_y, const float* param, rocblas_stride stride_param, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drotm_strided_batched)(rocblas_handle handle, rocblas_int n, double* x, rocblas_int incx, rocblas_stride stride_x, double* y, rocblas_int incy, rocblas_stride stride_y, const double* param, rocblas_stride stride_param, rocblas_int batch_count); // rotmg rocblas_status ROCBLAS_FAPI(rocblas_srotmg)( rocblas_handle handle, float* d1, float* d2, float* x1, const float* y1, float* param); rocblas_status ROCBLAS_FAPI(rocblas_drotmg)( rocblas_handle handle, double* d1, double* d2, double* x1, const double* y1, double* param); // rotmg_batched rocblas_status ROCBLAS_FAPI(rocblas_srotmg_batched)(rocblas_handle handle, float* const d1[], float* const d2[], float* const x1[], const float* const y1[], float* const param[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drotmg_batched)(rocblas_handle handle, double* const d1[], double* const d2[], double* const x1[], const double* const y1[], double* const param[], rocblas_int batch_count); // rotmg_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_srotmg_strided_batched)(rocblas_handle handle, float* d1, rocblas_stride stride_d1, float* d2, rocblas_stride stride_d2, float* x1, rocblas_stride stride_x1, const float* y1, rocblas_stride stride_y1, float* param, rocblas_stride stride_param, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_drotmg_strided_batched)(rocblas_handle handle, double* d1, rocblas_stride stride_d1, double* d2, rocblas_stride stride_d2, double* x1, rocblas_stride stride_x1, const double* y1, rocblas_stride stride_y1, double* param, rocblas_stride stride_param, rocblas_int batch_count); // swap rocblas_status ROCBLAS_FAPI(rocblas_sswap)( rocblas_handle handle, rocblas_int n, float* x, rocblas_int incx, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dswap)( rocblas_handle handle, rocblas_int n, double* x, rocblas_int incx, double* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_cswap)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zswap)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* y, rocblas_int incy); // swap_batched rocblas_status ROCBLAS_FAPI(rocblas_sswap_batched)(rocblas_handle handle, rocblas_int n, float* const x[], rocblas_int incx, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dswap_batched)(rocblas_handle handle, rocblas_int n, double* const x[], rocblas_int incx, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cswap_batched)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zswap_batched)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // swap_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sswap_strided_batched)(rocblas_handle handle, rocblas_int n, float* x, rocblas_int incx, rocblas_stride stridex, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dswap_strided_batched)(rocblas_handle handle, rocblas_int n, double* x, rocblas_int incx, rocblas_stride stridex, double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cswap_strided_batched)(rocblas_handle handle, rocblas_int n, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zswap_strided_batched)(rocblas_handle handle, rocblas_int n, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); /* ========== * L2 * ========== */ // gbmv rocblas_status ROCBLAS_FAPI(rocblas_sgbmv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const float* alpha, const float* A, rocblas_int lda, const float* x, rocblas_int incx, const float* beta, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dgbmv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const double* alpha, const double* A, rocblas_int lda, const double* x, rocblas_int incx, const double* beta, double* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_cgbmv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zgbmv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy); // gbmv_batched rocblas_status ROCBLAS_FAPI(rocblas_sgbmv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const float* alpha, const float* const A[], rocblas_int lda, const float* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgbmv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const double* alpha, const double* const A[], rocblas_int lda, const double* const x[], rocblas_int incx, const double* beta, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgbmv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgbmv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // gbmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sgbmv_strided_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_A, const float* x, rocblas_int incx, rocblas_stride stride_x, const float* beta, float* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgbmv_strided_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_A, const double* x, rocblas_int incx, rocblas_stride stride_x, const double* beta, double* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgbmv_strided_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgbmv_strided_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, rocblas_int kl, rocblas_int ku, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); // gemv rocblas_status ROCBLAS_FAPI(rocblas_sgemv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, const float* x, rocblas_int incx, const float* beta, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dgemv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, const double* x, rocblas_int incx, const double* beta, double* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_cgemv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zgemv)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy); // gemv_batched rocblas_status ROCBLAS_FAPI(rocblas_sgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const float* alpha, const float* const A[], rocblas_int lda, const float* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const double* alpha, const double* const A[], rocblas_int lda, const double* const x[], rocblas_int incx, const double* beta, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_hshgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_half* const A[], rocblas_int lda, const rocblas_half* const x[], rocblas_int incx, const float* beta, rocblas_half* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_hssgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_half* const A[], rocblas_int lda, const rocblas_half* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_tstgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_bfloat16* const A[], rocblas_int lda, const rocblas_bfloat16* const x[], rocblas_int incx, const float* beta, rocblas_bfloat16* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_tssgemv_batched)(rocblas_handle handle, rocblas_operation trans, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_bfloat16* const A[], rocblas_int lda, const rocblas_bfloat16* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); // gemv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, rocblas_stride strideA, const float* x, rocblas_int incx, rocblas_stride stridex, const float* beta, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, rocblas_stride strideA, const double* x, rocblas_int incx, rocblas_stride stridex, const double* beta, double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride strideA, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride strideA, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_hshgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_half* A, rocblas_int lda, rocblas_stride strideA, const rocblas_half* x, rocblas_int incx, rocblas_stride stridex, const float* beta, rocblas_half* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_hssgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_half* A, rocblas_int lda, rocblas_stride strideA, const rocblas_half* x, rocblas_int incx, rocblas_stride stridex, const float* beta, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_tstgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_bfloat16* A, rocblas_int lda, rocblas_stride strideA, const rocblas_bfloat16* x, rocblas_int incx, rocblas_stride stridex, const float* beta, rocblas_bfloat16* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_tssgemv_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_int m, rocblas_int n, const float* alpha, const rocblas_bfloat16* A, rocblas_int lda, rocblas_stride strideA, const rocblas_bfloat16* x, rocblas_int incx, rocblas_stride stridex, const float* beta, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); // ger rocblas_status ROCBLAS_FAPI(rocblas_sger)(rocblas_handle handle, rocblas_int m, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, const float* y, rocblas_int incy, float* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_dger)(rocblas_handle handle, rocblas_int m, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, const double* y, rocblas_int incy, double* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_cgeru)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_zgeru)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_cgerc)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_zgerc)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* A, rocblas_int lda); // ger_batched rocblas_status ROCBLAS_FAPI(rocblas_sger_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const float* alpha, const float* const x[], rocblas_int incx, const float* const y[], rocblas_int incy, float* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dger_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const double* alpha, const double* const x[], rocblas_int incx, const double* const y[], rocblas_int incy, double* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgeru_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_float_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgeru_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_double_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgerc_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_float_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgerc_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_double_complex* const A[], rocblas_int lda, rocblas_int batch_count); // ger_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sger_strided_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, rocblas_stride stridex, const float* y, rocblas_int incy, rocblas_stride stridey, float* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dger_strided_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, rocblas_stride stridex, const double* y, rocblas_int incy, rocblas_stride stridey, double* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgeru_strided_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_float_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgeru_strided_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_double_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgerc_strided_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_float_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgerc_strided_batched)(rocblas_handle handle, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_double_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); // hbmv rocblas_status ROCBLAS_FAPI(rocblas_chbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zhbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy); // hbmv_batched rocblas_status ROCBLAS_FAPI(rocblas_chbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // hbmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_chbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); // hemv rocblas_status ROCBLAS_FAPI(rocblas_chemv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zhemv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy); // hemv_batched rocblas_status ROCBLAS_FAPI(rocblas_chemv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhemv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // hemv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_chemv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhemv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); // symv rocblas_status ROCBLAS_FAPI(rocblas_ssymv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, const float* x, rocblas_int incx, const float* beta, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dsymv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, const double* x, rocblas_int incx, const double* beta, double* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_csymv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zsymv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy); // symv_batched rocblas_status ROCBLAS_FAPI(rocblas_ssymv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* const A[], rocblas_int lda, const float* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsymv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* const A[], rocblas_int lda, const double* const x[], rocblas_int incx, const double* beta, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csymv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsymv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // symv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssymv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, rocblas_stride strideA, const float* x, rocblas_int incx, rocblas_stride stridex, const float* beta, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsymv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, rocblas_stride strideA, const double* x, rocblas_int incx, rocblas_stride stridex, const double* beta, double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csymv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride strideA, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsymv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride strideA, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); // sbmv rocblas_status ROCBLAS_FAPI(rocblas_ssbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, const float* x, rocblas_int incx, const float* beta, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dsbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, const double* x, rocblas_int incx, const double* beta, double* y, rocblas_int incy); // sbmv_batched rocblas_status ROCBLAS_FAPI(rocblas_dsbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const double* alpha, const double* const A[], rocblas_int lda, const double* const x[], rocblas_int incx, const double* beta, double* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ssbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const float* alpha, const float* const A[], rocblas_int lda, const float* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); // sbmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, rocblas_stride strideA, const float* x, rocblas_int incx, rocblas_stride stridex, const float* beta, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, rocblas_stride strideA, const double* x, rocblas_int incx, rocblas_stride stridex, const double* beta, double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); // spr rocblas_status ROCBLAS_FAPI(rocblas_sspr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, float* AP); rocblas_status ROCBLAS_FAPI(rocblas_dspr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, double* AP); rocblas_status ROCBLAS_FAPI(rocblas_cspr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* AP); rocblas_status ROCBLAS_FAPI(rocblas_zspr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* AP); // spr_batched rocblas_status ROCBLAS_FAPI(rocblas_sspr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* const x[], rocblas_int incx, float* const AP[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dspr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* const x[], rocblas_int incx, double* const AP[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cspr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const AP[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zspr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const AP[], rocblas_int batch_count); // spr_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sspr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, rocblas_stride stride_x, float* AP, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dspr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, rocblas_stride stride_x, double* AP, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cspr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* AP, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zspr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* AP, rocblas_stride stride_A, rocblas_int batch_count); // her rocblas_status ROCBLAS_FAPI(rocblas_cher)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_zher)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* A, rocblas_int lda); // her_batched rocblas_status ROCBLAS_FAPI(rocblas_cher_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zher_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const A[], rocblas_int lda, rocblas_int batch_count); // her_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_cher_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zher_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_int batch_count); // her2 rocblas_status ROCBLAS_FAPI(rocblas_cher2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_zher2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* A, rocblas_int lda); // her2_batched rocblas_status ROCBLAS_FAPI(rocblas_cher2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_float_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zher2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_double_complex* const A[], rocblas_int lda, rocblas_int batch_count); // her2_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_cher2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zher2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_int batch_count); // spr2 rocblas_status ROCBLAS_FAPI(rocblas_sspr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, const float* y, rocblas_int incy, float* AP); rocblas_status ROCBLAS_FAPI(rocblas_dspr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, const double* y, rocblas_int incy, double* AP); // spr2_batched rocblas_status ROCBLAS_FAPI(rocblas_sspr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* const x[], rocblas_int incx, const float* const y[], rocblas_int incy, float* const AP[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dspr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* const x[], rocblas_int incx, const double* const y[], rocblas_int incy, double* const AP[], rocblas_int batch_count); // spr2_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sspr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, rocblas_stride stride_x, const float* y, rocblas_int incy, rocblas_stride stride_y, float* AP, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dspr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, rocblas_stride stride_x, const double* y, rocblas_int incy, rocblas_stride stride_y, double* AP, rocblas_stride stride_A, rocblas_int batch_count); // syr2 rocblas_status ROCBLAS_FAPI(rocblas_ssyr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, const float* y, rocblas_int incy, float* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_dsyr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, const double* y, rocblas_int incy, double* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_csyr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_zsyr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* A, rocblas_int lda); // syr2_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* const x[], rocblas_int incx, const float* const y[], rocblas_int incy, float* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* const x[], rocblas_int incx, const double* const y[], rocblas_int incy, double* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_float_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_double_complex* const A[], rocblas_int lda, rocblas_int batch_count); // syr2_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, rocblas_stride stridex, const float* y, rocblas_int incy, rocblas_stride stridey, float* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, rocblas_stride stridex, const double* y, rocblas_int incy, rocblas_stride stridey, double* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_float_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stridey, rocblas_double_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); // spmv rocblas_status ROCBLAS_FAPI(rocblas_sspmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* A, const float* x, rocblas_int incx, const float* beta, float* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_dspmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* A, const double* x, rocblas_int incx, const double* beta, double* y, rocblas_int incy); // spmv_batched rocblas_status ROCBLAS_FAPI(rocblas_sspmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* const A[], const float* const x[], rocblas_int incx, const float* beta, float* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dspmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* const A[], const double* const x[], rocblas_int incx, const double* beta, double* const y[], rocblas_int incy, rocblas_int batch_count); // spmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sspmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* A, rocblas_stride strideA, const float* x, rocblas_int incx, rocblas_stride stridex, const float* beta, float* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dspmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* A, rocblas_stride strideA, const double* x, rocblas_int incx, rocblas_stride stridex, const double* beta, double* y, rocblas_int incy, rocblas_stride stridey, rocblas_int batch_count); // tbmv rocblas_status ROCBLAS_FAPI(rocblas_stbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const float* A, rocblas_int lda, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dtbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const double* A, rocblas_int lda, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ctbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const rocblas_float_complex* A, rocblas_int lda, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ztbmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const rocblas_double_complex* A, rocblas_int lda, rocblas_double_complex* x, rocblas_int incx); // tbmv_batched rocblas_status ROCBLAS_FAPI(rocblas_stbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const float* const A[], rocblas_int lda, float* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const double* const A[], rocblas_int lda, double* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const rocblas_float_complex* const A[], rocblas_int da, rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztbmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const rocblas_double_complex* const A[], rocblas_int lda, rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count); // tbmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_stbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const float* A, rocblas_int lda, rocblas_stride stride_A, float* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const double* A, rocblas_int lda, rocblas_stride stride_A, double* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztbmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_diagonal diag, rocblas_int m, rocblas_int k, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); // hpr rocblas_status ROCBLAS_FAPI(rocblas_chpr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* AP); rocblas_status ROCBLAS_FAPI(rocblas_zhpr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* AP); // hpr_batched rocblas_status ROCBLAS_FAPI(rocblas_chpr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const AP[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhpr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const AP[], rocblas_int batch_count); // hpr_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_chpr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* AP, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhpr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* AP, rocblas_stride stride_A, rocblas_int batch_count); // hpr2 rocblas_status ROCBLAS_FAPI(rocblas_chpr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* y, rocblas_int incy, rocblas_float_complex* AP); rocblas_status ROCBLAS_FAPI(rocblas_zhpr2)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* y, rocblas_int incy, rocblas_double_complex* AP); // hpr2_batched rocblas_status ROCBLAS_FAPI(rocblas_chpr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* const y[], rocblas_int incy, rocblas_float_complex* const AP[], rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhpr2_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* const y[], rocblas_int incy, rocblas_double_complex* const AP[], rocblas_int batch_count); // hpr2_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_chpr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_float_complex* AP, rocblas_stride stride_A, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhpr2_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_double_complex* AP, rocblas_stride stride_A, rocblas_int batch_count); // syr rocblas_status ROCBLAS_FAPI(rocblas_ssyr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, float* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_dsyr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, double* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_csyr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* A, rocblas_int lda); rocblas_status ROCBLAS_FAPI(rocblas_zsyr)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* A, rocblas_int lda); // syr_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* const x[], rocblas_int incx, float* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* const x[], rocblas_int incx, double* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const A[], rocblas_int lda, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyr_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const A[], rocblas_int lda, rocblas_int batch_count); // syr_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const float* alpha, const float* x, rocblas_int incx, rocblas_stride stridex, float* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const double* alpha, const double* x, rocblas_int incx, rocblas_stride stridex, double* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_float_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyr_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_double_complex* A, rocblas_int lda, rocblas_stride strideA, rocblas_int batch_count); // hpmv rocblas_status ROCBLAS_FAPI(rocblas_chpmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* AP, const rocblas_float_complex* x, rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy); rocblas_status ROCBLAS_FAPI(rocblas_zhpmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* AP, const rocblas_double_complex* x, rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy); // hpmv_batched rocblas_status ROCBLAS_FAPI(rocblas_chpmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const AP[], const rocblas_float_complex* const x[], rocblas_int incx, const rocblas_float_complex* beta, rocblas_float_complex* const y[], rocblas_int incy, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhpmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const AP[], const rocblas_double_complex* const x[], rocblas_int incx, const rocblas_double_complex* beta, rocblas_double_complex* const y[], rocblas_int incy, rocblas_int batch_count); // hpmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_chpmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* AP, rocblas_stride stride_A, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_float_complex* beta, rocblas_float_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhpmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* AP, rocblas_stride stride_A, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, const rocblas_double_complex* beta, rocblas_double_complex* y, rocblas_int incy, rocblas_stride stride_y, rocblas_int batch_count); // tbsv rocblas_status ROCBLAS_FAPI(rocblas_stbsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const float* A, rocblas_int lda, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dtbsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const double* A, rocblas_int lda, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ctbsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const rocblas_float_complex* A, rocblas_int lda, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ztbsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const rocblas_double_complex* A, rocblas_int lda, rocblas_double_complex* x, rocblas_int incx); // tbsv_batched rocblas_status ROCBLAS_FAPI(rocblas_stbsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const float* const A[], rocblas_int lda, float* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtbsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const double* const A[], rocblas_int lda, double* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctbsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const rocblas_float_complex* const A[], rocblas_int lda, rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztbsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const rocblas_double_complex* const A[], rocblas_int lda, rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count); // tbsv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_stbsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const float* A, rocblas_int lda, rocblas_stride stride_A, float* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtbsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const double* A, rocblas_int lda, rocblas_stride stride_A, double* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctbsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztbsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, rocblas_int k, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); // tpmv rocblas_status ROCBLAS_FAPI(rocblas_stpmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const float* A, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dtpmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const double* A, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ctpmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_float_complex* A, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ztpmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_double_complex* A, rocblas_double_complex* x, rocblas_int incx); // tpmv_batched rocblas_status ROCBLAS_FAPI(rocblas_stpmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const float* const* A, float* const* x, rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtpmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const double* const* A, double* const* x, rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctpmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_float_complex* const* A, rocblas_float_complex* const* x, rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztpmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_double_complex* const* A, rocblas_double_complex* const* x, rocblas_int incx, rocblas_int batch_count); // tpmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_stpmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const float* A, rocblas_stride stridea, float* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtpmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const double* A, rocblas_stride stridea, double* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctpmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_float_complex* A, rocblas_stride stridea, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztpmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_double_complex* A, rocblas_stride stridea, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); // trmv rocblas_status ROCBLAS_FAPI(rocblas_strmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const float* A, rocblas_int lda, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dtrmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const double* A, rocblas_int lda, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ctrmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_float_complex* A, rocblas_int lda, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ztrmv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_double_complex* A, rocblas_int lda, rocblas_double_complex* x, rocblas_int incx); // trmv_batched rocblas_status ROCBLAS_FAPI(rocblas_strmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const float* const* A, rocblas_int lda, float* const* x, rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const double* const* A, rocblas_int lda, double* const* x, rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_float_complex* const* A, rocblas_int lda, rocblas_float_complex* const* x, rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrmv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_double_complex* const* A, rocblas_int lda, rocblas_double_complex* const* x, rocblas_int incx, rocblas_int batch_count); // trmv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_strmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const float* A, rocblas_int lda, rocblas_stride stridea, float* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const double* A, rocblas_int lda, rocblas_stride stridea, double* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stridea, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrmv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stridea, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stridex, rocblas_int batch_count); // tpsv rocblas_status ROCBLAS_FAPI(rocblas_stpsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const float* AP, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dtpsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const double* AP, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ctpsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_float_complex* AP, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ztpsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_double_complex* AP, rocblas_double_complex* x, rocblas_int incx); // tpsv_batched rocblas_status ROCBLAS_FAPI(rocblas_stpsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const float* const AP[], float* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtpsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const double* const AP[], double* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctpsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_float_complex* const AP[], rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztpsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_double_complex* const AP[], rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count); // tpsv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_stpsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const float* AP, rocblas_stride stride_A, float* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtpsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const double* AP, rocblas_stride stride_A, double* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctpsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_float_complex* AP, rocblas_stride stride_A, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztpsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int n, const rocblas_double_complex* AP, rocblas_stride stride_A, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); // trsv rocblas_status ROCBLAS_FAPI(rocblas_strsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const float* A, rocblas_int lda, float* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_dtrsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const double* A, rocblas_int lda, double* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ctrsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_float_complex* A, rocblas_int lda, rocblas_float_complex* x, rocblas_int incx); rocblas_status ROCBLAS_FAPI(rocblas_ztrsv)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_double_complex* A, rocblas_int lda, rocblas_double_complex* x, rocblas_int incx); // trsv_batched rocblas_status ROCBLAS_FAPI(rocblas_strsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const float* const A[], rocblas_int lda, float* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const double* const A[], rocblas_int lda, double* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_float_complex* const A[], rocblas_int lda, rocblas_float_complex* const x[], rocblas_int incx, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrsv_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_double_complex* const A[], rocblas_int lda, rocblas_double_complex* const x[], rocblas_int incx, rocblas_int batch_count); // trsv_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_strsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const float* A, rocblas_int lda, rocblas_stride stride_A, float* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const double* A, rocblas_int lda, rocblas_stride stride_A, double* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrsv_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_int batch_count); /* ========== * L3 * ========== */ // gemm rocblas_status ROCBLAS_FAPI(rocblas_sgemm)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, const float* B, rocblas_int ldb, const float* beta, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dgemm)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, const double* B, rocblas_int ldb, const double* beta, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_hgemm)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_half* alpha, const rocblas_half* A, rocblas_int lda, const rocblas_half* B, rocblas_int ldb, const rocblas_half* beta, rocblas_half* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_cgemm)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zgemm)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // gemm_batched rocblas_status ROCBLAS_FAPI(rocblas_sgemm_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const float* alpha, const float* const A[], rocblas_int lda, const float* const B[], rocblas_int ldb, const float* beta, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgemm_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const double* alpha, const double* const A[], rocblas_int lda, const double* const B[], rocblas_int ldb, const double* beta, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_hgemm_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_half* alpha, const rocblas_half* const A[], rocblas_int lda, const rocblas_half* const B[], rocblas_int ldb, const rocblas_half* beta, rocblas_half* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgemm_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgemm_batched)(rocblas_handle handle, rocblas_operation transa, rocblas_operation transb, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // gemm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sgemm_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_a, const float* B, rocblas_int ldb, rocblas_stride stride_b, const float* beta, float* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgemm_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_a, const double* B, rocblas_int ldb, rocblas_stride stride_b, const double* beta, double* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_hgemm_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_half* alpha, const rocblas_half* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_half* B, rocblas_int ldb, rocblas_stride stride_b, const rocblas_half* beta, rocblas_half* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgemm_strided_batched)(rocblas_handle handle, rocblas_operation transa, rocblas_operation transb, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_b, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgemm_strided_batched)(rocblas_handle handle, rocblas_operation transa, rocblas_operation transb, rocblas_int m, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_b, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); // trmm rocblas_status ROCBLAS_FAPI(rocblas_strmm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, const float* B, rocblas_int ldb, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dtrmm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, const double* B, rocblas_int ldb, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_ctrmm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_ztrmm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, rocblas_double_complex* C, rocblas_int ldc); // trmm_batched rocblas_status ROCBLAS_FAPI(rocblas_strmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const float* alpha, const float* const a[], rocblas_int lda, const float* const b[], rocblas_int ldb, float* const c[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const double* alpha, const double* const a[], rocblas_int lda, const double* const b[], rocblas_int ldb, double* const c[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const a[], rocblas_int lda, const rocblas_float_complex* const b[], rocblas_int ldb, rocblas_float_complex* const c[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const a[], rocblas_int lda, const rocblas_double_complex* const b[], rocblas_int ldb, rocblas_double_complex* const c[], rocblas_int ldc, rocblas_int batch_count); // trmm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_strmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const float* alpha, const float* a, rocblas_int lda, rocblas_stride stride_a, const float* b, rocblas_int ldb, rocblas_stride stride_b, float* c, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const double* alpha, const double* a, rocblas_int lda, rocblas_stride stride_a, const double* b, rocblas_int ldb, rocblas_stride stride_b, double* c, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* a, rocblas_int lda, rocblas_stride stride_a, const rocblas_float_complex* b, rocblas_int ldb, rocblas_stride stride_b, rocblas_float_complex* c, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transa, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* a, rocblas_int lda, rocblas_stride stride_a, const rocblas_double_complex* b, rocblas_int ldb, rocblas_stride stride_b, rocblas_double_complex* c, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); // trsm rocblas_status ROCBLAS_FAPI(rocblas_strsm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, float* B, rocblas_int ldb); rocblas_status ROCBLAS_FAPI(rocblas_dtrsm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, double* B, rocblas_int ldb); rocblas_status ROCBLAS_FAPI(rocblas_ctrsm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_float_complex* B, rocblas_int ldb); rocblas_status ROCBLAS_FAPI(rocblas_ztrsm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_double_complex* B, rocblas_int ldb); // trsm_batched rocblas_status ROCBLAS_FAPI(rocblas_strsm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const float* alpha, const float* const A[], rocblas_int lda, float* const B[], rocblas_int ldb, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrsm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const double* alpha, const double* const A[], rocblas_int lda, double* const B[], rocblas_int ldb, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrsm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, rocblas_float_complex* const B[], rocblas_int ldb, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrsm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, rocblas_double_complex* const B[], rocblas_int ldb, rocblas_int batch_count); // trsm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_strsm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_a, float* B, rocblas_int ldb, rocblas_stride stride_b, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dtrsm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_a, double* B, rocblas_int ldb, rocblas_stride stride_b, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ctrsm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_a, rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_b, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ztrsm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_operation transA, rocblas_diagonal diag, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_a, rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_b, rocblas_int batch_count); /* ========== * L3 * ========== */ // dgmm rocblas_status ROCBLAS_FAPI(rocblas_sdgmm)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const float* A, rocblas_int lda, const float* x, rocblas_int incx, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_ddgmm)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const double* A, rocblas_int lda, const double* x, rocblas_int incx, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_cdgmm)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* x, rocblas_int incx, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zdgmm)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* x, rocblas_int incx, rocblas_double_complex* C, rocblas_int ldc); // dgmm_batched rocblas_status ROCBLAS_FAPI(rocblas_sdgmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const float* const A[], rocblas_int lda, const float* const x[], rocblas_int incx, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ddgmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const double* const A[], rocblas_int lda, const double* const x[], rocblas_int incx, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cdgmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const x[], rocblas_int incx, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zdgmm_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const x[], rocblas_int incx, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // dgmm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sdgmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const float* A, rocblas_int lda, rocblas_stride stride_a, const float* x, rocblas_int incx, rocblas_stride stride_x, float* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_ddgmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const double* A, rocblas_int lda, rocblas_stride stride_a, const double* x, rocblas_int incx, rocblas_stride stride_x, double* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cdgmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_float_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zdgmm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_int m, rocblas_int n, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_double_complex* x, rocblas_int incx, rocblas_stride stride_x, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); /* ========== * EX * ========== */ // gemm_ex rocblas_status ROCBLAS_FAPI(rocblas_gemm_ex)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const void* alpha, const void* a, rocblas_datatype a_type, rocblas_int lda, const void* b, rocblas_datatype b_type, rocblas_int ldb, const void* beta, const void* c, rocblas_datatype c_type, rocblas_int ldc, void* d, rocblas_datatype d_type, rocblas_int ldd, rocblas_datatype compute_type, rocblas_gemm_algo algo, int32_t solution_index, uint32_t flags); rocblas_status ROCBLAS_FAPI(rocblas_gemm_batched_ex)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const void* alpha, const void* a, rocblas_datatype a_type, rocblas_int lda, const void* b, rocblas_datatype b_type, rocblas_int ldb, const void* beta, const void* c, rocblas_datatype c_type, rocblas_int ldc, void* d, rocblas_datatype d_type, rocblas_int ldd, rocblas_int batch_count, rocblas_datatype compute_type, rocblas_gemm_algo algo, int32_t solution_index, uint32_t flags); rocblas_status ROCBLAS_FAPI(rocblas_gemm_strided_batched_ex)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, rocblas_int k, const void* alpha, const void* a, rocblas_datatype a_type, rocblas_int lda, rocblas_stride stride_a, const void* b, rocblas_datatype b_type, rocblas_int ldb, rocblas_stride stride_b, const void* beta, const void* c, rocblas_datatype c_type, rocblas_int ldc, rocblas_stride stride_c, void* d, rocblas_datatype d_type, rocblas_int ldd, rocblas_stride stride_d, rocblas_int batch_count, rocblas_datatype compute_type, rocblas_gemm_algo algo, int32_t solution_index, uint32_t flags); // gemmt rocblas_status ROCBLAS_FAPI(rocblas_sgemmt)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, const float* B, rocblas_int ldb, const float* beta, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dgemmt)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, const double* B, rocblas_int ldb, const double* beta, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_cgemmt)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zgemmt)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // gemmt_batched rocblas_status ROCBLAS_FAPI(rocblas_sgemmt_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const float* alpha, const float* const A[], rocblas_int lda, const float* const B[], rocblas_int ldb, const float* beta, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgemmt_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const double* alpha, const double* const A[], rocblas_int lda, const double* const B[], rocblas_int ldb, const double* beta, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgemmt_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgemmt_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // gemmt_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sgemmt_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_a, const float* B, rocblas_int ldb, rocblas_stride stride_b, const float* beta, float* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgemmt_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_a, const double* B, rocblas_int ldb, rocblas_stride stride_b, const double* beta, double* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgemmt_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_b, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgemmt_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_operation transB, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_b, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); // geam rocblas_status ROCBLAS_FAPI(rocblas_sgeam)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, const float* beta, const float* B, rocblas_int ldb, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dgeam)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, const double* beta, const double* B, rocblas_int ldb, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_cgeam)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* beta, const rocblas_float_complex* B, rocblas_int ldb, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zgeam)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* beta, const rocblas_double_complex* B, rocblas_int ldb, rocblas_double_complex* C, rocblas_int ldc); // geam_batched rocblas_status ROCBLAS_FAPI(rocblas_sgeam_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const float* alpha, const float* const A[], rocblas_int lda, const float* beta, const float* const B[], rocblas_int ldb, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgeam_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const double* alpha, const double* const A[], rocblas_int lda, const double* beta, const double* const B[], rocblas_int ldb, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgeam_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* beta, const rocblas_float_complex* const B[], rocblas_int ldb, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgeam_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* beta, const rocblas_double_complex* const B[], rocblas_int ldb, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // geam_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_sgeam_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_a, const float* beta, const float* B, rocblas_int ldb, rocblas_stride stride_b, float* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dgeam_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_a, const double* beta, const double* B, rocblas_int ldb, rocblas_stride stride_b, double* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_cgeam_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_float_complex* beta, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_b, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zgeam_strided_batched)(rocblas_handle handle, rocblas_operation transA, rocblas_operation transB, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_a, const rocblas_double_complex* beta, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_b, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_c, rocblas_int batch_count); // symm rocblas_status ROCBLAS_FAPI(rocblas_ssymm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, const float* B, rocblas_int ldb, const float* beta, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dsymm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, const double* B, rocblas_int ldb, const double* beta, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_csymm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zsymm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // symm_batched rocblas_status ROCBLAS_FAPI(rocblas_ssymm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const float* alpha, const float* const A[], rocblas_int lda, const float* const B[], rocblas_int ldb, const float* beta, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsymm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const double* alpha, const double* const A[], rocblas_int lda, const double* const B[], rocblas_int ldb, const double* beta, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csymm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsymm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // symm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssymm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_A, const float* B, rocblas_int ldb, rocblas_stride stride_B, const float* beta, float* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsymm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_A, const double* B, rocblas_int ldb, rocblas_stride stride_B, const double* beta, double* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csymm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsymm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // hemm rocblas_status ROCBLAS_FAPI(rocblas_chemm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zhemm)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // hemm_batched rocblas_status ROCBLAS_FAPI(rocblas_chemm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhemm_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // hemm_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_chemm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zhemm_strided_batched)(rocblas_handle handle, rocblas_side side, rocblas_fill uplo, rocblas_int m, rocblas_int n, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // syr2k rocblas_status ROCBLAS_FAPI(rocblas_ssyr2k)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, const float* B, rocblas_int ldb, const float* beta, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dsyr2k)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, const double* B, rocblas_int ldb, const double* beta, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_csyr2k)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zsyr2k)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // syr2k_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyr2k_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const float* alpha, const float* const A[], rocblas_int lda, const float* const B[], rocblas_int ldb, const float* beta, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyr2k_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const double* alpha, const double* const A[], rocblas_int lda, const double* const B[], rocblas_int ldb, const double* beta, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyr2k_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyr2k_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // syr2k_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyr2k_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_A, const float* B, rocblas_int ldb, rocblas_stride stride_B, const float* beta, float* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyr2k_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_A, const double* B, rocblas_int ldb, rocblas_stride stride_B, const double* beta, double* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyr2k_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyr2k_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // syrkx rocblas_status ROCBLAS_FAPI(rocblas_ssyrkx)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, const float* B, rocblas_int ldb, const float* beta, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dsyrkx)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, const double* B, rocblas_int ldb, const double* beta, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_csyrkx)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zsyrkx)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // syrkx_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyrkx_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const float* alpha, const float* const A[], rocblas_int lda, const float* const B[], rocblas_int ldb, const float* beta, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyrkx_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const double* alpha, const double* const A[], rocblas_int lda, const double* const B[], rocblas_int ldb, const double* beta, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyrkx_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyrkx_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // syrkx_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyrkx_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_A, const float* B, rocblas_int ldb, rocblas_stride stride_B, const float* beta, float* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyrkx_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_A, const double* B, rocblas_int ldb, rocblas_stride stride_B, const double* beta, double* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyrkx_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyrkx_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_B, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // syrk rocblas_status ROCBLAS_FAPI(rocblas_ssyrk)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, const float* beta, float* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_dsyrk)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, const double* beta, double* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_csyrk)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zsyrk)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc); // syrk_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyrk_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const float* alpha, const float* const A[], rocblas_int lda, const float* beta, float* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyrk_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const double* alpha, const double* const A[], rocblas_int lda, const double* beta, double* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyrk_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyrk_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // syrk_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_ssyrk_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const float* alpha, const float* A, rocblas_int lda, rocblas_stride stride_A, const float* beta, float* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_dsyrk_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const double* alpha, const double* A, rocblas_int lda, rocblas_stride stride_A, const double* beta, double* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_csyrk_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zsyrk_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // syrk_ex rocblas_status ROCBLAS_FAPI(rocblas_syrk_ex)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const void* alpha, const void* a, rocblas_datatype a_type, rocblas_int lda, const void* beta, void* c, rocblas_datatype c_type, rocblas_int ldc, rocblas_datatype compute_type); // herk rocblas_status ROCBLAS_FAPI(rocblas_cherk)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const float* alpha, const rocblas_float_complex* A, rocblas_int lda, const float* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zherk)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const double* alpha, const rocblas_double_complex* A, rocblas_int lda, const double* beta, rocblas_double_complex* C, rocblas_int ldc); // herk_batched rocblas_status ROCBLAS_FAPI(rocblas_cherk_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const float* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const float* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zherk_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const double* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const double* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // herk_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_cherk_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const float* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const float* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zherk_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const double* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const double* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // herk_ex rocblas_status ROCBLAS_FAPI(rocblas_herk_ex)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation transA, rocblas_int n, rocblas_int k, const void* alpha, const void* a, rocblas_datatype a_type, rocblas_int lda, const void* beta, void* c, rocblas_datatype c_type, rocblas_int ldc, rocblas_datatype compute_type); // her2k rocblas_status ROCBLAS_FAPI(rocblas_cher2k)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const float* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zher2k)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const double* beta, rocblas_double_complex* C, rocblas_int ldc); // her2k_batched rocblas_status ROCBLAS_FAPI(rocblas_cher2k_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const float* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zher2k_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const double* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // her2k_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_cher2k_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_B, const float* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zher2k_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_B, const double* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); // herkx rocblas_status ROCBLAS_FAPI(rocblas_cherkx)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, const rocblas_float_complex* B, rocblas_int ldb, const float* beta, rocblas_float_complex* C, rocblas_int ldc); rocblas_status ROCBLAS_FAPI(rocblas_zherkx)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, const rocblas_double_complex* B, rocblas_int ldb, const double* beta, rocblas_double_complex* C, rocblas_int ldc); // herkx_batched rocblas_status ROCBLAS_FAPI(rocblas_cherkx_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* const A[], rocblas_int lda, const rocblas_float_complex* const B[], rocblas_int ldb, const float* beta, rocblas_float_complex* const C[], rocblas_int ldc, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zherkx_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* const A[], rocblas_int lda, const rocblas_double_complex* const B[], rocblas_int ldb, const double* beta, rocblas_double_complex* const C[], rocblas_int ldc, rocblas_int batch_count); // herkx_strided_batched rocblas_status ROCBLAS_FAPI(rocblas_cherkx_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_float_complex* alpha, const rocblas_float_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_float_complex* B, rocblas_int ldb, rocblas_stride stride_B, const float* beta, rocblas_float_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); rocblas_status ROCBLAS_FAPI(rocblas_zherkx_strided_batched)(rocblas_handle handle, rocblas_fill uplo, rocblas_operation trans, rocblas_int n, rocblas_int k, const rocblas_double_complex* alpha, const rocblas_double_complex* A, rocblas_int lda, rocblas_stride stride_A, const rocblas_double_complex* B, rocblas_int ldb, rocblas_stride stride_B, const double* beta, rocblas_double_complex* C, rocblas_int ldc, rocblas_stride stride_C, rocblas_int batch_count); #undef ROCBLAS_FAPI #if defined(rocblas_int) #undef rocblas_int #endif