#include <multi_layer_perceptron.hpp>
|
| | arguments_t ()=default |
| | Constructs arguments with default method.
|
| |
| | arguments_t (uint32_t matrix_m_layer1_, uint32_t matrix_k_layer1_, uint32_t matrix_n_layer1_, uint32_t matrix_m_layer2_, uint32_t matrix_k_layer2_, uint32_t matrix_n_layer2_, matA_base_t matA_base_, uint32_t matA_ld_, matW_base_t matW_base_, uint32_t matW_ld_, matB_base_t matB_base_, uint32_t matB_ld_, matV_base_t matV_base_, uint32_t matV_ld_, matC_base_t matC_base_, uint32_t matC_ld_, epilogue_layer1_args_t epilogue_layer1_args_={}, epilogue_layer2_args_t epilogue_layer2_args_={}) |
| | Constructs arguments with initialization list.
|
| |
| | arguments_t (const arguments_t &args) |
| |
| arguments_t & | operator= (const arguments_t &args) |
| |
|
| uint32_t | matrix_m_layer1 |
| | Is the size of the m dimension of the matrix multiplication (m x k x n).
|
| |
| uint32_t | matrix_k_layer1 |
| | Is the size of the k dimension of the matrix multiplication (m x k x n).
|
| |
| uint32_t | matrix_n_layer1 |
| | Is the size of the n dimension of the matrix multiplication (m x k x n).
|
| |
| uint32_t | matrix_m_layer2 |
| | Is the size of the m dimension of the matrix multiplication (m x k x n).
|
| |
| uint32_t | matrix_k_layer2 |
| | Is the size of the k dimension of the matrix multiplication (m x k x n).
|
| |
| uint32_t | matrix_n_layer2 |
| | Is the size of the n dimension of the matrix multiplication (m x k x n).
|
| |
| uint32_t | matA_ld |
| | Is the leading dimension (pitch) size of the matrix A in memory.
|
| |
| uint32_t | matW_ld |
| | Is the leading dimension (pitch) size of the matrix W in memory.
|
| |
| uint32_t | matB_ld |
| | Is the leading dimension (pitch) size of the matrix B in memory.
|
| |
| uint32_t | matV_ld |
| | Is the leading dimension (pitch) size of the matrix V in memory.
|
| |
| uint32_t | matC_ld |
| | Is the leading dimension (pitch) size of the matrix C in memory.
|
| |
| matA_base_t | matA_base |
| | Is the base address of matrix A.
|
| |
| matW_base_t | matW_base |
| | Is the base address of matrix W.
|
| |
| matB_base_t | matB_base |
| | Is the base address of matrix B.
|
| |
| matV_base_t | matV_base |
| | Is the base address of matrix V.
|
| |
| matC_base_t | matC_base |
| | Is the base address of matrix C.
|
| |
| epilogue_layer1_args_t | epilogue_layer1_args |
| | Is the epilogue arguments of first gemm.
|
| |
| epilogue_layer2_args_t | epilogue_layer2_args |
| | Is the epilogue arguments of second gemm.
|
| |
|
| static constexpr bool | host_callable = true |
| | Set for device copyable.
|
| |
◆ arguments_t() [1/3]
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Constructs arguments with default method.
◆ arguments_t() [2/3]
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
| gpu::xetla::kernel::multi_layer_perceptron_t< gemm_layer1_t_, epilogue_layer1_t_, gemm_layer2_t_, epilogue_layer2_t_, arch_tag_ >::arguments_t::arguments_t |
( |
uint32_t |
matrix_m_layer1_, |
|
|
uint32_t |
matrix_k_layer1_, |
|
|
uint32_t |
matrix_n_layer1_, |
|
|
uint32_t |
matrix_m_layer2_, |
|
|
uint32_t |
matrix_k_layer2_, |
|
|
uint32_t |
matrix_n_layer2_, |
|
|
matA_base_t |
matA_base_, |
|
|
uint32_t |
matA_ld_, |
|
|
matW_base_t |
matW_base_, |
|
|
uint32_t |
matW_ld_, |
|
|
matB_base_t |
matB_base_, |
|
|
uint32_t |
matB_ld_, |
|
|
matV_base_t |
matV_base_, |
|
|
uint32_t |
matV_ld_, |
|
|
matC_base_t |
matC_base_, |
|
|
uint32_t |
matC_ld_, |
|
|
epilogue_layer1_args_t |
epilogue_layer1_args_ = {}, |
|
|
epilogue_layer2_args_t |
epilogue_layer2_args_ = {} |
|
) |
| |
|
inline |
Constructs arguments with initialization list.
- Parameters
-
| matrix_m_layer1_ | Is the size of the m dimension of the matrix multiplication (m x k x n). |
| matrix_k_layer1_ | Is the size of the k dimension of the matrix multiplication (m x k x n). |
| matrix_n_layer1_ | Is the size of the n dimension of the matrix multiplication (m x k x n). |
| matrix_m_layer2_ | Is the size of the m dimension of the matrix multiplication (m x k x n). |
| matrix_k_layer2_ | Is the size of the k dimension of the matrix multiplication (m x k x n). |
| matrix_n_layer2_ | Is the size of the n dimension of the matrix multiplication (m x k x n). |
| matA_base_ | Is the base address of matrix A. |
| matA_ld_ | Is the leading dimension (pitch) size of the matrix A in memory. |
| matW_base_ | Is the base address of matrix W. |
| matW_ld_ | Is the leading dimension (pitch) size of the matrix W in memory. |
| matB_base_ | Is the base address of matrix B. |
| matB_ld_ | Is the leading dimension (pitch) size of the matrix B in memory. |
| matV_base_ | Is the base address of matrix V. |
| matV_ld_ | Is the leading dimension (pitch) size of the matrix V in memory. |
| matC_base_ | Is the base address of matrix C. |
| matC_ld_ | Is the leading dimension (pitch) size of the matrix C in memory. |
| epilogue_layer1_args_ | Is the epilogue arguments of first gemm. |
| epilogue_layer2_args_ | Is the epilogue arguments of second gemm. |
◆ arguments_t() [3/3]
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
◆ operator=()
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
◆ epilogue_layer1_args
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the epilogue arguments of first gemm.
◆ epilogue_layer2_args
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the epilogue arguments of second gemm.
◆ host_callable
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
◆ matA_base
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the base address of matrix A.
◆ matA_ld
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the leading dimension (pitch) size of the matrix A in memory.
◆ matB_base
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the base address of matrix B.
◆ matB_ld
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the leading dimension (pitch) size of the matrix B in memory.
◆ matC_base
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the base address of matrix C.
◆ matC_ld
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the leading dimension (pitch) size of the matrix C in memory.
◆ matrix_k_layer1
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the size of the k dimension of the matrix multiplication (m x k x n).
◆ matrix_k_layer2
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the size of the k dimension of the matrix multiplication (m x k x n).
◆ matrix_m_layer1
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the size of the m dimension of the matrix multiplication (m x k x n).
◆ matrix_m_layer2
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the size of the m dimension of the matrix multiplication (m x k x n).
◆ matrix_n_layer1
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the size of the n dimension of the matrix multiplication (m x k x n).
◆ matrix_n_layer2
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the size of the n dimension of the matrix multiplication (m x k x n).
◆ matV_base
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the base address of matrix V.
◆ matV_ld
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the leading dimension (pitch) size of the matrix V in memory.
◆ matW_base
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the base address of matrix W.
◆ matW_ld
template<typename gemm_layer1_t_ , typename epilogue_layer1_t_ , typename gemm_layer2_t_ , typename epilogue_layer2_t_ ,
gpu_arch arch_tag_>
Is the leading dimension (pitch) size of the matrix W in memory.