softmax.h

函数

void nvte_scaled_softmax_forward(const NVTETensor input, NVTETensor softmax_results, float scale_factor, cudaStream_t stream)

计算输入的缩放softmax激活。

参数
  • input[in] Softmax的输入张量。

  • softmax_results[out] 输出张量。

  • scale_factor[in] 输入张量的标量。

  • stream[in] 用于操作的CUDA流。

void nvte_scaled_softmax_backward(const NVTETensor incoming_grads, const NVTETensor softmax_results, NVTETensor output_grads, float scale_factor, cudaStream_t stream)

计算缩放softmax激活的反向传播。

  • incoming_grads 是包含从下一层接收到的梯度的输入张量。

  • softmax_results 是对应前向softmax操作的输出张量。

  • output_grads 是包含计算出的梯度的输出张量。

参数
  • incoming_grads[in] 反向传播的输入梯度张量。

  • softmax_results[in] Softmax前向传播的输出张量。

  • output_grads[out] 输出张量。

  • scale_factor[in] 输出张量的标量。

  • stream[in] 用于操作的CUDA流。

void nvte_scaled_masked_softmax_forward(const NVTETensor input, const NVTETensor mask, NVTETensor softmax_results, float scale_factor, cudaStream_t stream)

计算输入的缩放掩码softmax激活。

参数
  • input[in] Softmax的输入张量。

  • mask[in] 输入张量的掩码。

  • softmax_results[out] 输出张量。

  • scale_factor[in] 输入张量的标量。

  • stream[in] 用于操作的CUDA流。

void nvte_scaled_masked_softmax_backward(const NVTETensor incoming_grads, const softmax_results, NVTETensor output_grads, float scale_factor, cudaStream_t stream)

计算缩放掩码softmax激活的反向传播。

  • incoming_grads 是包含从下一层接收到的梯度的输入张量。

  • softmax_results 是对应前向softmax操作的输出张量。

  • output_grads 是包含计算出的梯度的输出张量。

参数
  • incoming_grads[in] 反向传播的输入梯度张量。

  • softmax_results[in] Softmax前向传播的输出张量。

  • output_grads[out] 输出张量。

  • scale_factor[in] 输出张量的标量。

  • stream[in] 用于操作的CUDA流。

void nvte_scaled_upper_triang_masked_softmax_forward(const NVTETensor input, NVTETensor softmax_results, float scale_factor, cudaStream_t stream)

使用二维上三角掩码计算输入的缩放softmax激活。

参数
  • input[in] Softmax的输入张量。

  • softmax_results[out] 输出张量。

  • scale_factor[in] 输入张量的标量。

  • stream[in] 用于操作的CUDA流。

void nvte_scaled_upper_triang_masked_softmax_backward(const NVTETensor incoming_grads, const softmax_results, NVTETensor output_grads, float scale_factor, cudaStream_t stream)

使用二维上三角掩码计算缩放softmax激活的反向传播。

  • incoming_grads 是包含从下一层接收到的梯度的输入张量。

  • softmax_results 是对应前向softmax操作的输出张量。

  • output_grads 是包含计算出的梯度的输出张量。

参数
  • incoming_grads[in] 反向传播的输入梯度张量。

  • softmax_results[in] Softmax前向传播的输出张量。

  • output_grads[out] 输出张量。

  • scale_factor[in] 输出张量的标量。

  • stream[in] 用于操作的CUDA流。