namespace dnnl::threadpool_interop¶
Overview¶
Threadpool interoperability namespace. More…
namespace threadpool_interop { // structs struct threadpool_iface; // global functions dnnl::stream make_stream( const dnnl::engine& aengine, threadpool_iface* threadpool ); threadpool_iface* get_threadpool(const dnnl::stream& astream); status 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, threadpool_iface* tp ); status 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, threadpool_iface* tp ); status 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, threadpool_iface* tp ); } // namespace threadpool_interop
Detailed Documentation¶
Threadpool interoperability namespace.
Global Functions¶
dnnl::stream make_stream( const dnnl::engine& aengine, threadpool_iface* threadpool )
Constructs an execution stream for the specified engine and threadpool.
Parameters:
aengine |
Engine to create the stream on. |
threadpool |
Pointer to an instance of a C++ class that implements dnnl::threapdool_iface interface. |
Returns:
An execution stream.
See also:
Using oneDNN with Threadpool-based Threading
threadpool_iface* get_threadpool(const dnnl::stream& astream)
Returns the pointer to a threadpool that is used by an execution stream.
Parameters:
astream |
An execution stream. |
Returns:
Output pointer to an instance of a C++ class that implements dnnl::threapdool_iface interface or NULL if the stream was created without threadpool.
See also: