Версия gcc с резьбовыми строительными блоками Intel

Я установил параллельную студию Intel. Однако, глядя на компилятор gcc в структуре каталогов tbb, кажется, что используется 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.

person mvictor    schedule 19.06.2020    source источник


Ответы (1)


Версия gcc связана со средой выполнения gnu, которая будет использоваться. Компилятор AFAIR Intel не предоставляет собственную среду выполнения и использует среду выполнения gnu. В них (среда выполнения gcc) были некоторые критические изменения между более ранней версией и версией 4.8.

AFAIS /usr/include/tbb/concurrent_vector.h — это ваш локальный установленный TBB из дистрибутива Linux, а не из комплекта компилятора. Попробуйте использовать исходный сценарий среды компилятора для настройки различных PATH.

person ntfs.hard    schedule 20.06.2020