oneAPI Deep Neural Network Library (oneDNN)
Performance library for Deep Learning
2.1.3
dnnl_threadpool.h
1/*******************************************************************************
2* Copyright 2020 Intel Corporation
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*******************************************************************************/
16
17#ifndef ONEAPI_DNNL_DNNL_THREADPOOL_H
18#define ONEAPI_DNNL_DNNL_THREADPOOL_H
19
20#include "oneapi/dnnl/dnnl_config.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
29
32
35
47 dnnl_stream_t *stream, dnnl_engine_t engine, void *threadpool);
48
60 dnnl_stream_t astream, void **threadpool);
61
65dnnl_status_t DNNL_API dnnl_threadpool_interop_sgemm(char transa, char transb,
66 dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A,
67 dnnl_dim_t lda, const float *B, dnnl_dim_t ldb, float beta, float *C,
68 dnnl_dim_t ldc, void *threadpool);
69
74 char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K,
75 float alpha, const uint8_t *A, dnnl_dim_t lda, uint8_t ao,
76 const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C,
77 dnnl_dim_t ldc, const int32_t *co, void *threadpool);
78
83 char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K,
84 float alpha, const int8_t *A, dnnl_dim_t lda, int8_t ao,
85 const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C,
86 dnnl_dim_t ldc, const int32_t *co, void *threadpool);
87
89
91
93
94#ifdef __cplusplus
95}
96#endif
97
98#endif
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1333
dnnl_status_t DNNL_API dnnl_threadpool_interop_stream_get_threadpool(dnnl_stream_t astream, void **threadpool)
Returns a threadpool to be used by the execution stream.
dnnl_status_t DNNL_API dnnl_threadpool_interop_sgemm(char transa, char transb, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda, const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc, void *threadpool)
Performs single-precision matrix-matrix multiply.
dnnl_status_t DNNL_API dnnl_threadpool_interop_gemm_s8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const int8_t *A, dnnl_dim_t lda, int8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co, void *threadpool)
Performs integer matrix-matrix multiply on 8-bit signed matrix A, 8-bit signed matrix B,...
dnnl_status_t DNNL_API dnnl_threadpool_interop_stream_create(dnnl_stream_t *stream, dnnl_engine_t engine, void *threadpool)
Creates an execution stream with specified threadpool.
dnnl_status_t DNNL_API dnnl_threadpool_interop_gemm_u8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const uint8_t *A, dnnl_dim_t lda, uint8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co, void *threadpool)
Performs integer matrix-matrix multiply on 8-bit unsigned matrix A, 8-bit signed matrix B,...
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
C API types definitions.
An opaque structure to describe an engine.
An opaque structure to describe an execution stream.