Как сделать библиотеки Intel TBB доступными на Xeon Phi

Я пытаюсь использовать Intel TBB в сегменте кода разгрузки Xeon Phi. Код не компилируется с ошибкой error : *MIC* cannot open source file "tbb\parallel_for.h"

У меня установлен стек MPSS, я запустил binutils.msi Утилита, и мой включает в верхней части выгруженного файла кода выглядит следующим образом:

#include <offload.h>
#pragma offload_attribute(push, target(mic))
#include <tbb\parallel_for.h>
#pragma offload_attribute(pop)
//other includes and code follows

Почему это не удается?

Что мне нужно изменить, чтобы разгрузить и успешно запустить мой код?

РЕДАКТИРОВАТЬ :

После добавления -tbb опцию «Дополнительные параметры для MIC Offload Compiler», компилятор нашел <tbb\parallel_for.h> однако файл выдает несколько предупреждений и ошибок о том, что код библиотеки tbb не помечен как общий. следует мой выгруженный сегмент кода.

#pragma offload target(mic:0) in(nums) out(results)
tbb::parallel_for<int>(0,ARRAY_SIZE,1,[&](int i)
{
results[i] = findZero(nums[i]);
});

0

Решение

Компилятор разгрузки в основном состоит из двух (очень) разных компиляторов, вызываемых отдельно для одного и того же кода. Каждый из них обычно имеет свою собственную командную строку, include и пути к библиотекам; и не все параметры командной строки переведены с хоста на компилятор MIC. В случае TBB, компилятор имеет специальную опцию /Qtbb или просто -tbb который заботится обо всех путях для обоих компиляторов.

Пожалуйста, обратитесь к tbb\examples\GettingStarted\SUB_STRING_FINDER\sub_string_finder_extended.cpp как использовать TBB из разгрузочного региона. И проверить Makefile о том, как построить пример.

Для запуска кода из среды MSVC необходимо настроить ту же среду, что и для компилятора Intel, использованного для построения примера GettingStarted \ Sub_string_finder. Простой способ дублировать среду внутри MSVC — запустить ее из того же консольного окна, где работает пример:

devenv / useenv

Или, в частности, вам нужно установить MIC_LD_LIBRARY_PATH переменная среды для указания на двоичные файлы MIC TBB, как показано здесь для других библиотек.

1

Другие решения


По вопросам рекламы [email protected]