【问题标题】:Intel threaded building blocks gcc versionIntel 线程积木 gcc 版本
【发布时间】:2023-03-11 03:54:01
【问题描述】:

我已经安装了英特尔并行工作室。但是在 tbb 的目录结构中查看 gcc 编译器,它似乎使用了 4.8。我正在尝试构建另一个依赖于 tbb 的存储库,它给出了以下错误,我相当肯定这是由旧版本的 gcc 引起的。

错误:

/usr/include/tbb/concurrent_vector.h(667): error: ambiguous "?" operation: second operand of type "tbb::internal::concurrent_vector_base_v3::size_type" can be converted to third operand type "tbb::atomic<unsigned long>", and vice versa

/usr/include/tbb/concurrent_vector.h(680): error: ambiguous "?" operation: second operand of type "tbb::internal::concurrent_vector_base_v3::size_type" can be converted to third operand type "tbb::atomic<unsigned long>", and vice versa

2 errors detected in the compilation of "/tmp/tmpxft_00000d0e_00000000-4_gpu_handle.cpp4.ii".
make: *** [build/objs/cuda/tensor/gpu_handle.o] Error 2

tbb的目录结构如下

mm470@pc5-036-l:~/usr/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/tbb/lib/intel64/gcc4.8 $ dir
libtbb.so  libtbb.so.2  libtbb_debug.so.2  libtbbmalloc.so  libtbbmalloc.so.2  libtbbmalloc_debug.so.2

有谁知道首先我对导致此错误的 gcc 版本的预感是否正确,其次我将如何使用更新版本的 gcc 安装并行工作室。我电脑上的gcc是高版本的。

mm470@pc5-036-l:~/usr/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/tbb/lib/intel64/gcc4.8 $ gcc --version
gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3)
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

【问题讨论】:

    标签: gcc parallel-processing intel tbb gcc4.8


    【解决方案1】:

    gcc 版本与将要使用的 gnu 运行时相关。 AFAIR 英特尔编译器不提供自己的运行时和使用 gnu 运行时。他们(gcc 运行时)在早期版本和 4.8 版本之间进行了一些重大更改。

    AFAIS /usr/include/tbb/concurrent_vector.h 是您本地安装的 TBB,来自您的 linux 发行版,而不是来自编译器包。尝试源编译器环境脚本来设置不同的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2016-05-01
      相关资源
      最近更新 更多