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

时间: 2024-10-30 08:40:03

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

matlab矩阵合并及相关运算

1.matlab允许向量(和矩阵)合并,且matlab提供了两种合并方式,[a,b]和[a;b],两者的结果是不一样的. a=rand(2,3): b=rand(2,3): c=[a;b]: d=[a,b]: c的结果是将b整体合并到a 的下边,而d的结果是整体将b合并到a 的右边. 2.创建等差向量组 a=[1:2:11] 注意涉及到向量内部对应数据之间的运算时一定要用点运算符号,(.)例如,求表达式b=a^2时应该写作 b=a.^2 也可以利用linspace来创建等差向量,linspace

js 时间函数 及相关运算大全

js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-

枚举类型与位运算

目录 枚举 位运算 一.枚举 枚举类型是名称与值的组合. 枚举类型是值类型. 1.为什么枚举类型是名称与值得组合?有时我只看到键名称,没有看到相对的值. public enum Options { Insert, Update, Save, Delete, Query } 编译器会给上面补充完整 public enum Options { Insert=0, Update=1, Save=2, Delete=3, Query=4 } 默认从0开始,依次赋值. 2.为什么枚举类型是值类型 因为Sy

单片机入门指南系列(十) 单片机程序下载相关知识

原文发表自我的个人主页,欢迎大家访问 http://purplesword.info/mcu-primer-10 注:本篇在写<单片机入门指南系列>之前就已经写过,现在发现这篇比较合理的位置,应该是放在<单片机入门指南系列(六) 单片机最小系统--麻雀虽小,五脏俱全>之后的,但是由于之前考虑不周,所以只好放在这里了,也就不重新修改文章的位置了. 作为基础知识补充,本篇详细介绍了串口.51单片机的ISP下载等知识,虽然这些知识并不一定要很了解也能学习单片机,但是有一些概念有时对解决问

linux学习之路之加密类型及其相关算法

加密类型及其相关算法 随着互联网越演越烈,互联网上的各种攻击层出不穷,因此在互联网上相互传递的信息越来越不安全,因此为了防止用户在互联网上传递的数据被窃取,因此我们很有必须加强传递的数据的安全性. 数据的安全性主要包括以下三个方面: 数据的机密性:保证传递的数据不被读取 要想使传递的数据不被读取,可以对这些数据进行加密,因为默认这些数据是以明文来传递的 整个加密过程可以这么来理解: 加密:plaintext--->转换规则--->ciphertext 解密:ciphertext--->转

byte数组转float实现与byte转换其它类型时进行&amp;运算原理

下面是将byte数组转换为float的实现 public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] & 0xff) << 0; accum = accum|(b[1] & 0xff) << 8; accum = accum|(b[2] & 0xff) << 16; accum = accum|(b[3] & 0xff) << 24;

结构体类型快速驱魔运算及运算符的重载

下面得到这段代码可以用在很多地方:只需要自己修改下接Ok. 1 struct Matrix 2 { 3 long long mat[N][N]; 4 Matrix operator*(const Matrix m)const//定义矩阵乘法的运算符* 5 { 6 Matrix tmp; 7 for(int i = 0;i < n;i++) 8 { 9 for(int j = 0;j < n;j++) 10 { 11 tmp.mat[i][j] = 0; 12 for(int k = 0;k &

维护数字字典时,批量导入数据库的列注释、类型等相关信息

导出的格式形如: use ppdai_vd; go SELECT 'ppdai_vd' AS 数据库名, a.name as '表名' , isnull(e.value,'') as '表注释', CONVERT(VARCHAR(19), a.create_date ,23) AS '创建时间', b.column_id as '字段序号', b.name as '字段名', '数据类型' = case when c.name IN ('varchar','nvarchar','varbinar

nodeType的十二种类型

nodetype的十二种类型 1:元素节点 2:属性节点 3:文本节点 4:CDATA区段 5:实体应用元素 6:实体 7:表示处理指令 8:注释节点 9:最外层的Root element,包括所有其他节点 10:<!DOCTYPE...> 11:文档碎片节点 12:DTD中声明的符号节点