zoukankan      html  css  js  c++  java
  • opencl(九)----标量、向量数据类型

    1、opencl 标量数据类型

    bool   
    char                                   
    unsigned char/uchar
    short                              16位有符号整数(补码)
    ushort
    int                                 32位有符号整数(补码)
    uint                                32位无符号
    long                                64位有符号
    ulong
    half                                 16位浮点数
    float                                32位浮点数
    intptr_t                            有符号整数指针
    uintptr_t                           无符号整数指针
    ptrdiff_t                            有符号的整数(指针相减)
    size_t                               无符号整数(操作符大小)
    void

    2、向量数据类型

    charn
    ucharn
    shortn
    ushortn
    intn
    uintn
    longn
    ulongn
    floatn

    向量宽度:

    通过查询设备信息,可以获得首选向量宽度常见的可以取128位(16个字节)等

    //使用 clGetDeviceInfo  获取设备支持类型向量长度
    cl_uint length;
    clGetDeviceIndo(device,CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR,sizeof(length),&length,NULL);
    // 向量的初始化
    float4 f_vec=(float4)(1.1);   // 4个float, 1.1
    int4 i_vec=int4(1,2,3,4);
    
    float2 a_vec=(float2)(1.2, 1.4);
    float4 b_vec=(float4)(a_vec, 3.1, 0.4);
    
    //读取、修改
    char16 msg=(char16)('f','e','i','h','o','p','e','n','c','l','t','e','s','t','r','d');
    //数字索引
    char temp = msg.s0;
    temp=msg.s8;
    char temp2 = msg.sC;      //12的十六进制 为 C,相当于 msg.s12
    char8=(char8)(msg.s0427,msg.sE4,msg.EC);
    // hi  lo  even odd
    ushort8 shorts = (ushort8)(0, 10, 20, 30, 40, 50, 60, 70);
    ushort4 a = shorts.hi; //索引较高的部分
    ushort4 b = shorts.lo; //索引较低的部分
    ushort4 c = shorts.even;//偶数索引部分
    ushort4 d = shorts.odd;//奇数索引部分
  • 相关阅读:
    449. 序列化和反序列化二叉搜索树
    极客mysql08
    极客mysql06
    MySQL死锁问题(转)
    mysql一些好的问题
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Dokuwiki
    在Ubuntu 20.04 LTS Focal Fossa上安装Icinga
    如何在Ubuntu 20.04 LTS Focal Fossa服务器上安装PowerShell
    如何在CentOS 8服务器上安装Discord
    在CentOS 8服务器上安装Apache Solr搜索平台
  • 原文地址:https://www.cnblogs.com/feihu-h/p/12091826.html
Copyright © 2011-2022 走看看