Linux下TBB安装及编译
TBB,Thread Building Blocks,线程构建模块,是Intel公司开发的并行编程开发的工具。其提供C++模版库,用户不必关注线程,而专注任务本身。抽象层仅需很少的接口代码,性能上毫不逊色。且能够灵活地适合不同的多核平台,适合于跨平台的移植(如Linux, Windows, Mac)
1)在官网下载tbb源码,如下载tar.gz格式
tar -zxvf tbbxx.tar.gz
2)进入解压缩目录下,执行make。
若编译期间报出以下错误:
/tmp/ccxNhOc9.s: Assembler messages:
/tmp/ccxNhOc9.s:615: Error: no such instruction: `xtest'
/tmp/ccxNhOc9.s:643: Error: no such instruction: `xabort $255'
/tmp/ccxNhOc9.s:652: Error: no such instruction: `xabort $255'
/tmp/ccxNhOc9.s:658: Error: no such instruction: `xend'
/tmp/ccxNhOc9.s:825: Error: no such instruction: `xbegin .L56'
/tmp/ccxNhOc9.s:988: Error: no such instruction: `xbegin .L71'
/tmp/ccxNhOc9.s:1216: Error: no such instruction: `xabort $255'
make[1]: *** [x86_rtm_rw_mutex.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/user_data/.tmp/linux_intel64_gcc_cc4.9.1_libc2.12_kernel2.6.32_debug'
make: *** [tbb] Error 2
则表明当前的gcc编译器不支持-mrtm。则可行的方案是注释以下几行。打开tbb目录build/linux.gcc.inc文件,注释以下几行。
# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
ifneq (,$(shell gcc -dumpversion | egrep "^4\.[8-9]"))RTM_KEY = -mrtm
#endif
然后重新编译 make即可。
3)添加tbb变量
cd build
chmod +x *.sh
sh generate_tbbvars.sh
sh tbbvars.sh
4)将.so库移至/usr/lib,将头文件移至 /usr/local/include
cd linux_intel64_gcc_你的版本_release
cp *.so /usr/lib
cp *.so.2 /usr/lib
/sbin/ldconfig
//回到解压缩目录下
/usr/local/include
//将头文件移至 /usr/local/include
cd include
cp *.* /usr/local/include
5)接下来检验tbb是否安装成功
cd ../examples/pipeline/square
make
如果是下面的提示,则表示tbb环境配置成功
g++ -O2 -DNDEBUG -o square square.cpp gen_input.cpp -ltbb -lrt
./square 0 input.txt output.txt
serial run time = 0.249843
parallel run time = 0.0304956
elapsed time : 0.399366 seconds
Linux下TBB安装及编译相关推荐
- Linux下boost库的编译、安装详解
1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...
- linux下源代码安装f90,linux下编译fortran linux安装gfortran
linux上面如何编译fortran源代码? 格式:ifort要编译的文件名-0指定生成的文件名 如我要把123.f文件编译 ifort123.f-o123.e 如果不加指定生成的文件名,系统会自动生 ...
- linux tomcat 安装教程,关于Linux下配置安装Tomcat8的步骤
由于Centos6即将停止更新,本次就使用Centos7.5 X64位系统来演示,Tomcat版本就使用8.5,如果想使用9.0的版本也可以去官网进行下载,步骤都大同小异. 关于Tomcat9的新特性 ...
- Linux 下如何安装软件?
http://zhidao.baidu.com/link?url=OkQCOZtVMXhasC8x9zFTZOumsFKf0WW25Ckr2wBF1xO08EsjrBpnMaTBlIAUYdxZ408 ...
- Linux 下 Redis 安装教程
Linux 下 Redis 安装教程 事先准备 下载 Redis 安装 Redis 设置 Redis 开机自启动 远程访问 Redis RDM 远程访问 Redis 笔者的运行环境: CentOS S ...
- linux下成功安装ffmpeg( 亲测有效 )
linux下成功安装ffmpeg( 亲测有效 ) 一.下载 二.安装步骤 1.安装yasm 2.安装ffmpeg 总结 一.下载 ffmpeg 官网下载: http://ffmpeg.org/down ...
- linux下的安装:openssl
openssl简介 openssl是一个功能丰富且自包含的开源安全工具箱.它提供的主要功能有:SSL协议实现(包括SSLv2.SSLv3和TLSv1).大量软算法(对称/非对称/摘要).大数运算.非 ...
- Linux_ppc下软件包安装,Linux下软件包安装详解
一.概述 现在Linux上软件的安装方式有多种,有源码包编译,软件包管理器,软件包管理器前端工具,通用二进制编译等.源码包,优点是,灵活性和可定制性比较好,缺点是,技术要求高,操作复杂,虽然网上有编译 ...
- linux下装输入法,linux下输入法安装
来源:http://www.cd200.com/content_263715.html linux下输入法安装 //使用如下命令解压 $ tar jxvf fcitx-3.1.bin.tar.bz2 ...
最新文章
- 帆软填报增加记录提交成功后没有_大病医疗填报图解
- 沈阳农业大学计算机往年录取分数6,沈阳农业大学历年分数线 2021沈阳农业大学录取分数线...
- 强化学习中的脉冲神经网络
- find: paths must precede expression(转)
- android源生setting华为,Android 设置默认桌面,默认应用,辅助功能,电池优化,设备管理器,悬浮窗等...
- Python 调用C函数
- Android Service学习之IntentService 深入分析
- Visual Studio 即时窗口实用技巧
- 使用Maven实施自定义JSF 2.0组件
- unity 继承了 获取_为什么说Unity能用单纯脚本实现的功能,尽量避免继承MonoBehavior,保持纯粹性?...
- 记一次git硬reset导致的代码消失
- 【mysql基础知识】查询当前时间之前5分钟内的数据
- java 字体有哪些_java字体有哪些
- php sql 长字符串 查找被包含的短字符串_PHP字符串
- 怎么查看本机的IP地址
- 项目管理 计算机仿真,刘宝林老师【项目管理】《挑战埃及》沙盘课程内容分享...
- Ontrack EasyRecovery15英文版数据恢复软件
- 基于python的计算基因组_【ROSALIND】【练Python,学生信】05 计算DNA序列GC含量
- 显色指数(CRI)计算软件-升级版可视化界面
- 泽勒的一致性,计算一周的星期几