Компилятор Intel C ++ предоставляет «разгрузочные конструкции, не поддерживаемые на этой платформе» ошибка

При компиляции основного сегмента кода в Windows (с использованием Visual Studio), который использует _Cilk_offload ключевое слово, бросает компилятор error : offload constructs are not supported on this platform по всем признакам _Cilk_offload а также _Cilk_shared (скомпилировано с \ Qoffload)

В чем конкретно проблема с платформой или настройкой?

РЕДАКТИРОВАТЬ: Код не выполняется во время компиляции, и компиляция машины и целевой машины отличаются

Ниже приводится основная схема моего кода

main.cpp

//other includes
#include <cilk/cilk.h>
#include "offload.h"#define ITERS 100

int main()
{
// code ommitted
doSetup();
for(int i=0;i<ITERS;i++)
//initialize array    {
doWork();
}
// code omitted
}

offload.h

#ifndef OFFLOAD_H
#define OFFLOAD_H

#define ARRAY_WIDTH 100
#define ARRAY_HEIGHT 100
#define ARRAY_SIZE ARRAY_WIDTH*ARRAY_HEIGHT

void doWork();
void doSetup();

#endif

offload.cpp

#include "offload.h"#include <cilk/cilk.h>

_Cilk_shared float c=1.1;
_Cilk_shared float __declspec(align(64)) a[ARRAY_SIZE]
_Cilk_shared float __declspec(align(64)) b[ARRAY_SIZE]
void doWork()
{
_Cilk_offload cilk_for(int j=0; j<ARRAY_HEIGHT; j++)
{
a[j*ARRAY_WIDTH:ARRAY_WIDTH] = c * a[j*ARRAY_WIDTH:ARRAY_WIDTH] + b[j*ARRAY_WIDTH:ARRAY_WIDTH];
}
}

void doSetup()
{
//array initialization omitted
}

-1

Решение

Исправлена ​​проблема: в каталогах установки отсутствовало несколько частей набора компиляторов. Я обновил параллельную студию и файлы присутствовали. Если у вас есть проблема с этим, посмотрите, если файл с именем ofldbegin.obj а также ofldend.obj существуют в вашей системе, под (installDirectory)\compiler\lib\intel64

0

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


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