本文主要是介绍OpenCl 重点总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
half 数据类型
- 符号 IEEE 754-2008 标准
- vstore_half 和 vload_half 存在 float->half / half->float 的转换操作
- half 类型仅用于声明一个指针(指向 half value 的内存)
合法使用案例
void
bar (__global half *p)
{...
}__kernel void
foo (__global half *pg, __local half *pl)
{__global half *ptr;int offset;ptr = pg + offset;bar(ptr);
}
非法使用案例
half a;
half b[100];
half *p;
a = *p; // not allowed. must use *vload_half* function
数据类型转换及算术运算规则
-
如果一个矢量和标量进行算术运算,opencl 会将标量扩充为和矢量元素相当的矢量进行算术运算
-
后缀和前缀递增和递减运算符(-- 和 ++)适用于内置的标量和矢量类型,但不适用于内置的标量和矢量浮点类型
-
算术运算符加(+)、减(-)、乘(*)和除(/)适用于内置的整数和浮点标量以及矢量数据类型。取余(%)操作适用于内置的整数标量和整数矢量数据类型。
这篇关于OpenCl 重点总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!