opencl(十)----标量、向量类型的相关运算

OpenCL operators

参考:https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/

int4 vec = (int4)(1, 2, 3, 4);

vec += 4//每一个元素加上4
vec &= (int4)(-1, -1, 0, -1);  //按位与

vec.s01 = vec.s23 < 7;  // true -1 , false 0

数据传输转换操作

相同类型的数据直接使用"="进行赋值。

// 将标量数组 保存到 向量中
// 函数vload
// vector vloadn(size_t offset, const __(g|c|l|p) scalar *mem)
// offset*向量大小 为在标量数组中的偏置位置
// float array[10]={0,1,2,3,4,5,6,7,8,9} float4 vec = vload4(1, array); // offset 表示vector在array 中的索引,结果4,5,6,7 vec = vload4(0,array); //结果 0 1 2 3 vec = vload(1,array+2); //结果 2 3 4 5
// 将向量 保存到 标量数组中
// 函数 vstoren
// void vstoren(vector vec, size_t offset, __(g|l|p) scalar *mem)
// offset*向量大小 为 在 数组中的偏置位置

浮点型计算的相关内置函数

算数运算函数

详情可以参考:https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/          OpenCL Compiler--->Built-in Functions--->Math Functions

比较函数

 指数和对数运算函数

 三角函数

 一些常量

 其他浮点函数

 整型加减函数

 整型乘法函数

 其他整型函数

原文地址:https://www.cnblogs.com/feihu-h/p/12092895.html