| //===- cblas_interface.h - Simple Blas subset interface -------------------===// |
| // |
| // Part of the MLIR Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| #ifndef MLIR_CPU_RUNNER_CBLAS_INTERFACE_H_ |
| #define MLIR_CPU_RUNNER_CBLAS_INTERFACE_H_ |
| |
| #include "mlir_runner_utils.h" |
| |
| #ifdef _WIN32 |
| #ifndef MLIR_CBLAS_INTERFACE_EXPORT |
| #ifdef cblas_interface_EXPORTS |
| /* We are building this library */ |
| #define MLIR_CBLAS_INTERFACE_EXPORT __declspec(dllexport) |
| #else |
| /* We are using this library */ |
| #define MLIR_CBLAS_INTERFACE_EXPORT __declspec(dllimport) |
| #endif // cblas_interface_EXPORTS |
| #endif // MLIR_CBLAS_INTERFACE_EXPORT |
| #else |
| #define MLIR_CBLAS_INTERFACE_EXPORT |
| #endif // _WIN32 |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_fill_viewf32_f32(StridedMemRefType<float, 0> *X, float f); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_fill_viewsxf32_f32(StridedMemRefType<float, 1> *X, float f); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_fill_viewsxsxf32_f32(StridedMemRefType<float, 2> *X, float f); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_copy_viewf32_viewf32(StridedMemRefType<float, 0> *I, |
| StridedMemRefType<float, 0> *O); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_copy_viewsxf32_viewsxf32(StridedMemRefType<float, 1> *I, |
| StridedMemRefType<float, 1> *O); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_copy_viewsxsxf32_viewsxsxf32(StridedMemRefType<float, 2> *I, |
| StridedMemRefType<float, 2> *O); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_dot_viewsxf32_viewsxf32_viewf32(StridedMemRefType<float, 1> *X, |
| StridedMemRefType<float, 1> *Y, |
| StridedMemRefType<float, 0> *Z); |
| |
| extern "C" MLIR_CBLAS_INTERFACE_EXPORT void |
| linalg_matmul_viewsxsxf32_viewsxsxf32_viewsxsxf32( |
| StridedMemRefType<float, 2> *A, StridedMemRefType<float, 2> *B, |
| StridedMemRefType<float, 2> *C); |
| |
| #endif // MLIR_CPU_RUNNER_CBLAS_INTERFACE_H_ |