Linux下TBB安装及编译

1 篇文章 0 订阅

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
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Linux安装Intel Threading Building Blocks(TBB),您可以按照以下步骤操作: 1. 首先,确保您的系统已经安装了C++编译器和相应的开发工具。您可以使用以下命令来检查是否已安装gcc编译器: ``` gcc --version ``` 如果没有安装,可以使用以下命令来安装: ``` sudo apt-get install build-essential ``` 2. 接下来,从TBB的官方网站(https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb/download.html)下载最新的TBB源代码包。 3. 下载完成后,解压缩源代码包。您可以使用以下命令将其解压缩到当前目录: ``` tar -xf tbb*.tar.gz ``` 4. 进入解压缩后的TBB目录: ``` cd tbb* ``` 5. 运行安装脚本以进行配置和构建: ``` make ``` 如果您希望使用其他特定的构建选项,可以在make命令中指定它们。例如,要构建动态库版本,可以执行以下命令: ``` make tbb ``` 6. 安装完成后,您可以将TBB添加到系统路径中,以便其他程序可以找到它。将以下行添加到您的`.bashrc`文件中: ``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/tbb/build/lib ``` 请确保将 `/path/to/tbb` 替换为实际的TBB源代码目录路径。 7. 最后,保存并关闭`.bashrc`文件,然后运行以下命令使更改生效: ``` source ~/.bashrc ``` 现在,您已经成功在Linux安装TBB。您可以编写使用TBB的并行代码,并链接TBB库以进行编译和运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值