C/C++ API¶
The C/C++ API allows you to access the custom kernels defined in libtransformer_engine.so library directly from C/C++, without Python.
- activation.h
- enum class NVTE_Activation_Type
- void nvte_gelu
- void nvte_silu
- void nvte_relu
- void nvte_qgelu
- void nvte_srelu
- void nvte_dgelu
- void nvte_dsilu
- void nvte_drelu
- void nvte_dqgelu
- void nvte_dsrelu
- void nvte_geglu
- void nvte_swiglu
- void nvte_reglu
- void nvte_qgeglu
- void nvte_sreglu
- void nvte_dgeglu
- void nvte_dswiglu
- void nvte_dreglu
- void nvte_dqgeglu
- void nvte_dsreglu
- cast.h
- gemm.h
- fused_attn.h
- enum NVTE_QKV_Layout
- enumerator NVTE_SB3HD
- enumerator NVTE_SBH3D
- enumerator NVTE_SBHD_SB2HD
- enumerator NVTE_SBHD_SBH2D
- enumerator NVTE_SBHD_SBHD_SBHD
- enumerator NVTE_BS3HD
- enumerator NVTE_BSH3D
- enumerator NVTE_BSHD_BS2HD
- enumerator NVTE_BSHD_BSH2D
- enumerator NVTE_BSHD_BSHD_BSHD
- enumerator NVTE_T3HD
- enumerator NVTE_TH3D
- enumerator NVTE_THD_T2HD
- enumerator NVTE_THD_TH2D
- enumerator NVTE_THD_THD_THD
- enum NVTE_QKV_Layout_Group
- enum NVTE_QKV_Format
- enum NVTE_Bias_Type
- enum NVTE_Mask_Type
- enum NVTE_Fused_Attn_Backend
- NVTE_QKV_Layout_Group nvte_get_qkv_layout_group
- NVTE_QKV_Format nvte_get_qkv_format
- NVTE_Fused_Attn_Backend nvte_get_fused_attn_backend
- void nvte_fused_attn_fwd_qkvpacked
- void nvte_fused_attn_bwd_qkvpacked
- void nvte_fused_attn_fwd_kvpacked
- void nvte_fused_attn_bwd_kvpacked
- void nvte_fused_attn_fwd
- void nvte_fused_attn_bwd
- enum NVTE_QKV_Layout
- layer_norm.h
- rmsnorm.h
- softmax.h
- void nvte_scaled_softmax_forward
- void nvte_scaled_softmax_backward
- void nvte_scaled_masked_softmax_forward
- void nvte_scaled_masked_softmax_backward
- void nvte_scaled_upper_triang_masked_softmax_forward
- void nvte_scaled_upper_triang_masked_softmax_backward
- void nvte_scaled_aligned_causal_masked_softmax_forward
- void nvte_scaled_aligned_causal_masked_softmax_backward
- transformer_engine.h
- typedef void *NVTETensor
- enum NVTEDType
- NVTETensor nvte_create_tensor
- void nvte_destroy_tensor
- NVTEDType nvte_tensor_type
- NVTEShape nvte_tensor_shape
- void *nvte_tensor_data
- float *nvte_tensor_amax
- float *nvte_tensor_scale
- float *nvte_tensor_scale_inv
- void nvte_tensor_pack_create
- void nvte_tensor_pack_destroy
- struct NVTEShape
- struct NVTETensorPack
- namespace transformer_engine
- enum class DType
- struct TensorWrapper
- inline TensorWrapper
- inline TensorWrapper
- inline TensorWrapper
- inline ~TensorWrapper
- TensorWrapper &operator=
- TensorWrapper
- inline TensorWrapper
- inline TensorWrapper &operator=
- inline NVTETensor data
- inline const NVTEShape shape
- inline DType dtype
- inline void *dptr
- inline float *amax
- inline float *scale
- inline float *scale_inv
- NVTETensor tensor_ = nullptr
- transpose.h
- void nvte_cast_transpose
- void nvte_transpose
- void nvte_cast_transpose_dbias
- void nvte_fp8_transpose_dbias
- void nvte_multi_cast_transpose
- void nvte_cast_transpose_dbias_dgelu
- void nvte_cast_transpose_dbias_dsilu
- void nvte_cast_transpose_dbias_drelu
- void nvte_cast_transpose_dbias_dqgelu
- void nvte_cast_transpose_dbias_dsrelu
- void nvte_dgeglu_cast_transpose
- void nvte_dswiglu_cast_transpose
- void nvte_dreglu_cast_transpose
- void nvte_dqgeglu_cast_transpose
- void nvte_dsreglu_cast_transpose