__hle
产品支持情况
产品 |
是否支持 |
|---|---|
Atlas 350 加速卡 |
√ |
x |
|
x |
|
x |
|
x |
|
x |
|
x |
功能说明
比较两个half类型数据,仅当第一个数小于或等于第二个数时,返回true。
函数原型
1 | bool __hle(half x, half y) |
参数说明
参数名 |
输入/输出 |
描述 |
|---|---|---|
x |
输入 |
源操作数。 |
y |
输入 |
源操作数。 |
返回值说明
比较输入的第一个数是否小于或等于第二个数的结果。
- true:第一个数小于或等于第二个数。
- false:第一个数大于第二个数。任一输入为nan时,返回false。
约束说明
无
需要包含的头文件
使用该接口需要包含"simt_api/asc_fp16.h"头文件。
1 | #include "simt_api/asc_fp16.h" |
调用示例
- SIMT编程场景:
1 2 3 4 5
__global__ __launch_bounds__(1024) void KernelHle(bool* dst, half* x, half* y) { int idx = threadIdx.x + blockIdx.x * blockDim.x; dst[idx] = __hle(x[idx], y[idx]); }
- SIMD与SIMT混合编程场景:
1 2 3 4 5
__simt_vf__ __launch_bounds__(1024) inline void KernelHle(__gm__ bool* dst, __gm__ half* x, __gm__ half* y) { int idx = threadIdx.x + blockIdx.x * blockDim.x; dst[idx] = __hle(x[idx], y[idx]); }
父主题: half类型比较函数