Win7和VS2013上使用Intel的TBB
源地址:http://www.th7.cn/system/win/201505/103966.shtml
http://wenku.baidu.com/link?url=zH7vwmWltWF5R-9YGUDq5oSszkoWDxknBJmZkFY4w6FzV1P55h5XClOCd6UoB3tYCYjYt0ee_qw6k4GevVI82jEGcS2CdgJmqutwQWoZqJ3
http://wenku.baidu.com/link?url=aDjwQPp3YH6ns0LKJI7MIGzlLJrRSYbZrT_dA7ry6KbsnT6FKHbgBsg1FA22haFmPUY6AhJvu6N-l7xuK2nLs9lDKoO5TQGiTJ45OdH9wfe
Win7和 VS2013 上使用
Intel 的TBB
1.软件版本
Visual Studio 2013
TBB 4.3 Update 1 (tbb43_20141023oss_win.zip)
2.安装 TBB
TBB,Thread Building Blocks,线程构建模块,是Intel 公司开发的并行编程开发的工具。
TBB 可以在 Windows,Linux 和 OSX 上运行,支持 Intel, Microsoft 和 GNU 工具,这就
覆盖了绝大多数需求范围。 相对于 OpenMP 来说, TBB 不需要依赖编译指令 progma 来
编程,更易于使用。
软件安装包可以在这个网站下载:
https://www.threadingbuildingblocks.org
我下载的是 4.3 的版本,发布于 2014 年 11 月 11 日。
https://www.threadingbuildingblocks.org/sites/default/files/software_releases/window
s/tbb43_20141023oss_win.zip
将 tbb43_20141023oss_win.zip 解压缩之后就可以用,无需安装。
3.设置环境变量
这里设置了两个环境变量,一是将 TBB 的 bin 目录加入到系统 PATH 中;二是定义一
个新的环境变量 TBBROOT,这个在后续 Visual Studio 工程文件中用到。
我的 bin 目录放在: D:/ tbb43_20141023oss/bin/intel64/vc12
TBBROOT= D:/ tbb43_20141023oss
2
4.建立 Visual Studio 工程
这里用最简单的样例来说明 TBB 编程。
首先建立一个空白的工程文件。选择 Win32 Console Application。 我的工程命名为
testtbb
选择空白工程。
3
5.添加一个 c++源代码文件
鼠标右键选择工程的 Source Files,选择弹出菜单上的 Add New Item。
文件类型选择 C++ File (.cpp)文件。
6.选择 64 位工程
默认新建工程为 win32 程序,现在常用的是 x64 程序,所以手动加进去。有没有直
接新建 x64 工程的方式?知道的留个言吧。
添加过程如下:
鼠标右键点击工程,选择“ properties”,点击“ Configuration Manager”。
4
在“ Active solution platform”里选择“ New”。
选择“ Platform” “ x64”
5
7.设置 INCLUDE 和 LIB 路径
以编译目标 Release | x64 为例。 首先鼠标右键点击工程属性中的“ Release | x64”,
选择“ Add New Project Property Sheet”。添加一个“tbb_release_x64.props”属性文件。
编辑这个属性文件(鼠标右键Properties),在“C/C++”“General”“Additional
Include Directory”里加上“$(TBBROOT)/include”
6
类似的,在“ Linker” “ General” “ Additional Library Directory”里加上
“ $(TBBROOT)/LIB/INTEL64/VC12”。
在“ Linker” “ Input” “ Additional Dependencies”里加上“ tbb.lib”。
注意这里并没有直接在工程属性文件里修改,而是添加了独立的属性文件,并利用
了 TBBROOT 这个环境变量。这样当新建其他工程时,可以直接利用这个属性文件,而
不需要再一步步设置。同样的,在 TBB 路径变化后,也不需要修改工程属性,而是修改
环境变量 TBBROOT。这样做的通用性会好一些。
同理修改一下 Debug | x64,新增一个 tbb_debug_x64.props 的属性文件。
至此整个工程建立完备。
7
8.编译运行
参照 TBB 样例程序里 Getting Start 的例子:
tbb43_20141023oss/examples/GettingStarted/sub_string_finder/sub_string_finder.cpp
写一个自己的 TBB 程序,实验一下效果吧。
Win7和VS2013上使用Intel的TBB的更多相关文章
- OpenBLAS简介及在Windows7 VS2013上源码的编译过程
OpenBLAS(Open Basic Linear Algebra Subprograms)是开源的基本线性代数子程序库,是一个优化的高性能多核BLAS库,主要包括矩阵与矩阵.矩阵与向量.向量与向量 ...
- # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机
[ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...
- win7、win8上SaveFileDialog窗口跳不出的问题
xp上做的开一个线程 线程中数据以Excel形式保存到指定文件中的程序 放到win7 win8上都不跳出保存的对话框? 解决: 在win7.win8上都要对线程 在线程启动前设置其单元状态.设置为 ...
- 在Win7的IIS上搭建FTP服务及用户授权
FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...
- 在Win7的IIS上搭建FTP服务及用户授权——转载!!
原文地址:http://blog.sina.com.cn/s/blog_6cccb1630100q0qg.html FTP服务 FTP是文件传输协议(File Transfer Protocol)的简 ...
- 在vs2013上的编译tesseract-ocr
在vs2013上的编译tesseract-ocr OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程. Tesserac ...
- 【转】在Win7的IIS上搭建FTP服务及用户授权
[转]在Win7的IIS上搭建FTP服务及用户授权 [转]在Win7的IIS上搭建FTP服务及用户授权 FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属 ...
- Loadrunner11无法在win7 64位上启用ie解决办法
Loadrunner11无法在win7 64位上启用ie解决办法 1.loadrunner11在win7 64位上默认启用的是32位的那个IE浏览器,路径:C:\Program Files (x86) ...
- win7系统安装VS2013后,连不上远程sqlserver数据库解决办法
刚搬了地方,顺便把电脑重做了系统,把sql2012和vs2013装好,怎么弄也连不上远程的数据库了,用程序连IIS直接死掉,用ssms连也是直接失去响应,开始以为是网线端口被运营商封杀了,最后发现不是 ...
随机推荐
- jsp_javabean
什么是javabean? 遵循一定的设计原则的任何java类都可以是javabean组件 1.可序列化 implements serializable 2.无参数的构造方法 3.私有属性 通过公有方法 ...
- 演练5-8:Contoso大学校园管理系统(实现存储池和工作单元模式)
在上一次的教程中,你已经使用继承来消除在 Student 和 Instructor 实体之间的重复代码.在这个教程中,你将要看到使用存储池和工作单元模式进行增.删.改.查的一些方法.像前面的教程一样, ...
- android 网络交互
一. 在Android中,发送和处理http请求实在太常见了,以至于我们经常需要写这方面的代码. Android中网络交互的代码不能在UI线程中执行,只能在额外的子线程中执行. 我一般的做法是通过创建 ...
- CCIE路由实验(8) -- QoS
1.查看端口缺省的队列机制2.配置CB-WFQ3.配置CB-LLQ4.配置CB-Shapping在以太接口下5.配置CB-Shapping在FR接口下6.配置帧中继流量整形FRTS7.配置CB-Pol ...
- [Boost]boost的时间和日期处理-(2)时间的操作
<开篇> 本篇紧接着boost上篇叙述Boost::DateTime的时间处理.在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime. 构造ptime ...
- [HDU 1358]Period[kmp求周期]
题意: 每一个power前缀的周期数(>1). 思路: kmp的next. 每一个前缀都询问一遍. #include <cstring> #include <cstdio> ...
- WPF(布局)
WPF编程学习——布局 本文目录 1.布局简介 2.面板(Panel) 3.视图框(Viewbox) 4.滚动视图控件(ScrollViewer) 5.公共布局属性 1.布局简介 应用程序界面 ...
- 类作为返回类型 ,具有java特点-封装等 而且应用起来很方便。
public class StudentDao { public Student getStudent(){ Student stu = new Student(); stu.setName(&quo ...
- 用lisp来让计算机学会写作
大部分的代码.思路参考了<Ansi Common Lisp>P138~P141. 问题:给一篇英文文本,如何让计算机依据此文本而生成随机但可读的文本.如: |Venture| The Na ...
- Winform - TreeView控件,只展开根目录
TreeNode类型是有Expand和ExpandAll这两个方法.而Treeview是只有ExpandAll的,想要展开根目录下面的节点的话 //只展开根目录 ) ].Expand();