当前位置: 首页 > news >正文

山东华建建设有限公司网站南京江宁区住房建设局网站

山东华建建设有限公司网站,南京江宁区住房建设局网站,手机app与手机网站的区别,苏州小程序开发企业本专栏是通过注解程序的方法学习OpenCL#xff0c;我觉得一个一个地去抠原理也不是办法#xff0c;干脆直接学习程序#xff0c;然后把相关原理都直接注解到程序语句当中。 原创地址#xff1a;http://blog.csdn.net/kenden23/article/details/14101657 一开始要配置好环境… 本专栏是通过注解程序的方法学习OpenCL我觉得一个一个地去抠原理也不是办法干脆直接学习程序然后把相关原理都直接注解到程序语句当中。 原创地址http://blog.csdn.net/kenden23/article/details/14101657 一开始要配置好环境我的是nvidia所以就按照我的电脑举例AMD应该也差不多。 1. 首先要到nvidia网站下载适合你显卡的最新驱动安装好 2. 还是在nvidia网站下载好CUDA开发包安装好 3. 如果默认安装路径的话路径应该是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0 4. 打开这个目录会发现里面有include和lib文件夹这就是我们需要配置在visual studio中的文件 5. 打开visual studio版本基本都无关系我用的是vs2012新建一个win32空项目。按下altF7打开项目属性也可以点击项目文件右键选择属性。 6. 在属性页里面找到“C/C”的“常规”项点击右边有“附加包含目录”然后编辑添加目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include 7.在属性页里面找到“连接器”点击其“常规”项右边有“附加库目录”然后也是编辑添加目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\Win32如果是64位系统可以是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\x64。 8. 在属性页里找到“常规”项 右边“附加依赖项”编辑添加lib文件OpenCL.lib 9. 然后就可以新建源文件在源文件里面添加相关的OpenCl程序就可以调试OpenCL程序了。 下面就可以开始学习程序了。 下面是个入门程序已经注释好了注释包括了基本原理的解析可以通过直接阅读和调试程序学习OpenCL了。 本程序是读取电脑中的支持OpenCL的硬件nvidia和intel和AMD等信息然后显示在屏幕上。 [cpp] view plaincopyprint? #include stdio.h  #include stdlib.h  #include string.h  #include iostream    #ifdef MAC  #include OpenCL/cl.h  #else  #include CL/cl.h  #endif    int main() {        /* Host data structures */      cl_platform_id *platforms;      //每一个cl_platform_id 结构表示一个在主机上的OpenCL执行平台就是指电脑中支持OpenCL的硬件如nvidia显卡intel CPU和显卡AMD显卡和CPU等      cl_uint num_platforms;      cl_int i, err, platform_index  -1;        /* Extension data */      char* ext_data;                               size_t ext_size;         const char icd_ext[]  cl_khr_icd;        //要使platform工作需要两个步骤。1 需要为cl_platform_id结构分配内存空间。2 需要调用clGetPlatformIDs初始化这些数据结构。一般还需要步骤0询问主机上有多少platforms        /* Find number of platforms */      //返回值如果为-1就说明调用函数失败如果为0标明成功      //第二个参数为NULL代表要咨询主机上有多少个platform并使用num_platforms取得实际flatform数量。      //第一个参数为1代表我们需要取最多1个platform。可以改为任意大如INT_MAX整数最大值。但是据说0否则会报错实际测试好像不会报错。下面是步骤0询问主机有多少platforms      err  clGetPlatformIDs(5, NULL, num_platforms);              if(err  0) {                  perror(Couldnt find any platforms.);                   exit(1);                                  }                                           printf(I have platforms: %d\n, num_platforms); //本人计算机上显示为2有intel和nvidia两个平台        /* Access all installed platforms */      //步骤1 创建cl_platform_id并分配空间      platforms  (cl_platform_id*)                             malloc(sizeof(cl_platform_id) * num_platforms);       //步骤2 第二个参数用指针platforms存储platform      clGetPlatformIDs(num_platforms, platforms, NULL);               /* Find extensions of all platforms */      //获取额外的平台信息。上面已经取得了平台id了那么就可以进一步获取更加详细的信息了。      //一个for循环获取所有的主机上的platforms信息      for(i0; inum_platforms; i)       {          /* Find size of extension data */          //也是和前面一样先设置第三和第四个参数为0和NULL然后就可以用第五个参数ext_size获取额外信息的长度了。          err  clGetPlatformInfo(platforms[i],                         CL_PLATFORM_EXTENSIONS, 0, NULL, ext_size);              if(err  0)           {              perror(Couldnt read extension data.);                          exit(1);          }               printf(The size of extension data is: %d\n, ext_size);//我的计算机显示224.            /* Access extension data */            //这里的ext_data相当于一个缓存存储相关信息。          ext_data  (char*)malloc(ext_size);           //这个函数就是获取相关信息的函数第二个参数指明了需要什么样的信息如这里的CL_PLATFORM_EXTENSIONS表示是opencl支持的扩展功能信息。我计算机输出一大串机器比较新专门为了学图形学而购置的电脑支持的东西比较多。          clGetPlatformInfo(platforms[i], CL_PLATFORM_EXTENSIONS,                   ext_size, ext_data, NULL);                        printf(Platform %d supports extensions: %s\n, i, ext_data);            //这里是输出生产商的名字比如我显卡信息是NVIDIA CUDA          char *name  (char*)malloc(ext_size);          clGetPlatformInfo(platforms[i], CL_PLATFORM_NAME,                 ext_size, name, NULL);                        printf(Platform %d name: %s\n, i, name);            //这里是供应商信息我显卡信息NVIDIA Corporation          char *vendor  (char*)malloc(ext_size);          clGetPlatformInfo(platforms[i], CL_PLATFORM_VENDOR,                   ext_size, vendor, NULL);                          printf(Platform %d vendor: %s\n, i, vendor);            //最高支持的OpenCL版本本机显示OpenCL1.1 CUDA 4.2.1          char *version  (char*)malloc(ext_size);          clGetPlatformInfo(platforms[i], CL_PLATFORM_VERSION,                  ext_size, version, NULL);                         printf(Platform %d version: %s\n, i, version);            //这个只有两个值full profile 和 embeded profile          char *profile  (char*)malloc(ext_size);          clGetPlatformInfo(platforms[i], CL_PLATFORM_PROFILE,                  ext_size, profile, NULL);                         printf(Platform %d full profile or embeded profile?: %s\n, i, profile);            /* Look for ICD extension */             //如果支持ICD这一扩展功能的platform输出显示本机的Intel和Nvidia都支持这一扩展功能          if(strstr(ext_data, icd_ext) ! NULL)               platform_index  i;          std::coutPlatform_index  platform_indexstd::endl;          /* Display whether ICD extension is supported */          if(platform_index  -1)              printf(Platform %d supports the %s extension.\n,               platform_index, icd_ext);            std::coutstd::endl;            //释放空间          free(ext_data);          free(name);          free(vendor);          free(version);          free(profile);      }                if(platform_index  -1)          printf(No platforms support the %s extension.\n, icd_ext);        /* Deallocate resources */      free(platforms);      return 0;  }    每个电脑的输出结果不一样的我电脑的输出结果是
http://www.zqtcl.cn/news/633468/

相关文章:

  • 舟山网站建设代理门户网站建设流程
  • 天水建设银行网站网站建设方案免费下载
  • 长城宽带魔方优化大师官网下载
  • 宁波建设工程主管部门网站长沙网站维护
  • 网站推广机构我的世界怎么做赞助网站
  • 做网站的公司图sae wordpress storage
  • 做塑料的网站有哪些东道设计公司待遇如何
  • 烟台做网站哪家好网站加速器下载
  • 哪些网站是响应式河北省住房和城乡建设厅信用网站
  • 彩票网站html模板新闻html网页设计代码范文
  • 建网站视频怎么建网站卖产品
  • 做翻糖的网站深圳做购物网站
  • 国外界面设计网站海淘网站
  • 全国住房城乡建设厅网站wordpress 宽版
  • 网站建设实训意见中国建设人才信息网站
  • 如何给网站做301跳转中国做机床的公司网站
  • 网站建设课程体系济南建站详情
  • jsp网站空间网站开发北京 广告 手机网站
  • 郑州网站建设推广爱站网seo综合查询工具
  • 2017年网站开发用什么语言手游排行榜
  • 鞍山百度网站怎么制作建设部网站建造师公示
  • 建设部网站业绩补录营销型网站制作的方法
  • 建设网站的功能及目的是什么意思兰州网络优化seo
  • 用ps软件做ppt模板下载网站有哪些内容广州seo服务外包
  • 毕业设计论文网站开发需要多少湛江建站免费模板
  • 做豆制品的网站集团网站建设策划方案
  • 燕郊网站制作哈尔滨企业网站建站推荐
  • 本地网站做通用会员卡建立电子商务网站目的
  • ftp网站地图怎么做网站模板出售
  • 用rp怎么做网站导航菜单手机app制作入门教程