h2sin

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

功能说明

获取输入数据各元素的三角函数正弦值。

函数原型

inline half2 h2sin(half2 x)

参数说明

表 1 参数说明

参数名 输入/输出 描述
x 输入 源操作数。

返回值说明

输入数据各元素的三角函数正弦值。

  • 当输入元素为inf时,返回值为nan。
  • 当输入元素为-inf时,返回值为nan。
  • 当输入元素为nan时,返回值为nan。

约束说明

使用本接口时,线程配置最大不超过1024,否则有栈溢出风险。

需要包含的头文件

使用half2类型接口需要包含"simt_api/asc_fp16.h"头文件。

#include "simt_api/asc_fp16.h"

调用示例

  • SIMT编程场景:

    __global__ __launch_bounds__(1024) void KernelSin(half2* dst, half2* x)
    {
        int idx = threadIdx.x + blockIdx.x * blockDim.x;
        dst[idx] = h2sin(x[idx]); // 对src源地址的第idx个元素取三角函数正弦值
    }
    
  • SIMD与SIMT混合编程场景:

    __simt_vf__ __launch_bounds__(1024) inline void KernelSin(__gm__ half2* dst, __gm__ half2* x)
    {
        int idx = threadIdx.x + blockIdx.x * blockDim.x;
        dst[idx] = h2sin(x[idx]); // 对src源地址的第idx个元素取三角函数正弦值
    }