C++amp加速设置

参考自:https://msdn.microsoft.com/en-us/library/hh873132.aspx

  1 #include <amp.h>
  2 #include <iostream>
  3
  4 using namespace Concurrency;
  5
  6 // 缺省加速设备
  7 void default_properties()
  8 {
  9     accelerator default_acc;
 10     std::wcout << default_acc.device_path << "\n";
 11     std::wcout << default_acc.dedicated_memory << "\n";
 12 }
 13
 14 // 列出所有加速设备
 15 void list_all_accelerators()
 16 {
 17     std::vector<accelerator> accs = accelerator::get_all();
 18     for (int i = 0; i < accs.size(); i++)
 19     {
 20         std::wcout << accs[i].device_path << "\n";
 21         std::wcout << accs[i].dedicated_memory << "\n";
 22         std::wcout << (accs[i].supports_cpu_shared_memory ? 23             "CPU shared memory: true" : "CPU shared memory: false") << "\n";
 24         std::wcout << (accs[i].supports_double_precision ?  25             "double precision:true" : "double precision: false") << "\n";
 26         std::wcout << (accs[i].supports_limited_double_precision ?  27             "limited double precision: true" : "limited double precision: false") << "\n";
 28         std::wcout << accs[i].description << "\n\n\n";
 29     }
 30 }
 31
 32 // 选择最大加速设备
 33 void pick_with_most_memory()
 34 {
 35     std::vector<accelerator> accs = accelerator::get_all();
 36     accelerator acc_chosen = accs[0];
 37     for (int i = 0; i < accs.size(); i++)
 38     {
 39         if (accs[i].dedicated_memory > acc_chosen.dedicated_memory)
 40         {
 41             acc_chosen = accs[i];
 42         }
 43     }
 44
 45     std::wcout << "The accelerator with the most memory is "
 46         << acc_chosen.device_path << "\n"
 47         << acc_chosen.dedicated_memory << ".\n";
 48 }
 49
 50 // 和CPU共享内存
 51 void sharedMemory()
 52 {
 53     accelerator acc = accelerator(accelerator::default_accelerator);
 54
 55     // Early out if the default accelerator doesn‘t support shared memory
 56     if (!acc.supports_cpu_shared_memory)
 57     {
 58         std::cout << "The default accelerator does not support shared memory" << std::endl;
 59         return;
 60     }
 61
 62     // Override the default CPU access type
 63     acc.set_default_cpu_access_type(access_type_read_write);
 64
 65     // Create an accelerator_view from the default acclerator. The
 66     // accelerator_view reflects the default_cpu_access_type of the
 67     // accelerator it‘s associated with.
 68     accelerator_view acc_v = acc.default_view;
 69 }
 70
 71 // 选择加速设备
 72 bool pick_accelerator()
 73 {
 74     std::vector<accelerator> accs = accelerator::get_all();
 75     accelerator chosen_one;
 76
 77     auto result = std::find_if(accs.begin(), accs.end(), [](const accelerator& acc)
 78     {
 79         return !acc.is_emulated && acc.supports_double_precision && !acc.has_display;
 80     });
 81
 82     if (result != accs.end())
 83     {
 84         chosen_one = *(result);
 85     }
 86
 87     std::wcout << chosen_one.description << std::endl;
 88
 89     bool success = accelerator::set_default(chosen_one.device_path);
 90
 91     return success;
 92 }
 93
 94 void main()
 95 {
 96     default_properties();
 97     //list_all_accelerators();
 98     //pick_with_most_memory();
 99     //sharedMemory();
100
101     pick_accelerator();
102 }
时间: 2024-09-26 16:39:03

C++amp加速设置的相关文章

【Python-pip】Python中pip加速设置

1:在C:\Users\Administrator\pip建一个文件pip.ini如果Administrator中没有pip文件夹则自己新建一个,然后新建一个pip.ini文件 2:在pip.ini文件输入: [global] index-url = https://pypi.douban.com/simple //我用的国内豆瓣的服务器 trusted-host = pypi.douban.com 即可 原文地址:https://www.cnblogs.com/bestcode/p/97891

360云加速上线

晚上收到360网站卫士邮件,原来是360云加速上线了! 360云加速提供商用级别的静态资源加速功能,可以将用户源站资源分发至全国所有节点,缩短用户访问资源的延迟,提高网站的响应速度,解决用户源站网络带宽小.用户访问量大.节点分布少等问题. 目前,该功能率先对网站卫士的用户开启!!! 该功能目前只想低调地做个大彩蛋,请点击设置-加速设置-360云加速开启 1.一键开启360云加速功能后,将自动替换网站中的静态资源并链接到360云加速的子域名上,免费享受商用CDN的待遇 2.用户也可以在360云加速

【转】观看视频时启用硬件加速有什么用?如果关闭硬件加速又有什么区别呢?

回答1:硬件加速是用显卡的GPU解码视频,几乎不占用CPU.在播放高清视频时CPU不给力就会卡,不卡也会占用率很高.开启硬件加速是让显卡分担了CPU的解码工作,所以你可以再开别的程序也不会卡. 回答2:硬件加速(Hardware acceleration)就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性.硬件加速通常比软件算法的效率要高. 计算机显示使用硬件加速会快些,但有时会带来负面效果,如会在投影仪或截图时发现显示区是黑的,这时就要关闭硬件加速(硬件加速反方向操作). 调节硬件加

内核中led触发器实例【转】

本文转载自:http://blog.csdn.net/yuanlulu/article/details/6438847 ============================================作者:yuanluluhttp://blog.csdn.NET/yuanlulu 版权没有,但是转载请保留此段声明============================================ gpio-led框架 /driver/leds/leds-gpio.c下实现了gpio-

Windows10

一.快速开机设置 我的电脑配置如图,装有VS2015 2010 OFFICE等常用开发工具,在线升级后开机速度并没有明显提升. 1.保证windows font cache service服务启动,360开机加速会把该服务关闭,从而导制开机变慢 2.开始输入msconfig进行相关加速设置 选中无GUI引导,然后点高级选项 处理器个数选择最大值 设置完毕,开机从45秒优化到了20秒. 二.edge浏览器使用 1.可以编辑javascript 2.可以输入脚本执行 3.只调式我标记的代码块 4.页

从虚拟化到软件定义--重新定义IT产业格局

一.从操作系统对硬件的虚拟化到容器对应用程序的虚拟化 虚拟化将经典的三层架构(硬件.操作系统.应用程序)都虚拟化了一遍. 1.操作系统对硬件的虚拟化 在没有虚拟化之前,或者说在虚拟化这个概念还没有为众人熟知之前,我们的操作系统(Windows.Linux)充当了管理硬件的功能并将硬件资源提供给所需要的应用程序所使用.从今天虚拟化的角度来看,这个操作系统本身就是一个虚拟化的系统,该操作系统将硬件本身的调用接口抽象出来,在自己的抽象中将设备模拟成一个设备上下文,当应用程序需要使用硬件资源的时候,操作

编译CM14.1(sudmod71.1)过程记录

编译CM14.1内存要求很高,至少8G以上,我的6G也可以搞定,交换空间分配大一点. 1.安装平台 建议安装Deepin 15.3桌面版系统,系统UI好看. 2.配置环境 (1)安装编译依赖库 1 sudo apt-get updade 2 sudo apt-get upgrade 3 sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk3.0-dev squashfs-to

delphi 各新版本特性收集

delphi 各新版本特性收集 Delphi XE6新增了一些特性并增强了原有的功能,主要有以下几个方面: IDE(整合开发环境) Internet XML(扩展标记语言) Compiler(编译器) COM/Active X Database support(数据库支持) CORBA Actions(动作) Custom Variants(可定义的可变类型) VCL 单元和特性 RTL单元和特性 Cross-platform development(跨平台开发) Translation too

windows10的第一天使用总结

一.快速开机设置 我的电脑配置如图,装有VS2015 2010 OFFICE等常用开发工具,在线升级后开机速度并没有明显提升. 1.保证windows font cache service服务启动,360开机加速会把该服务关闭,从而导制开机变慢 2.开始输入msconfig进行相关加速设置 选中无GUI引导,然后点高级选项 处理器个数选择最大值 设置完毕,开机从45秒优化到了20秒. 二.edge浏览器使用 1.可以编辑javascript 2.可以输入脚本执行 3.只调式我标记的代码块 4.页