У меня возникла проблема с передачей данных с сопроцессора Intel Xeon Phi для размещения процессора. Я пытаюсь выполнить вычисление с использованием модели разгрузки. В начале моего вычисления я переношу все данные в сопроцессор (один массив). После вычисления я хочу перенести на основной процессор только часть этого массива, но в результате я получаю следующую ошибку:Intel MIC - ошибка разгрузки: передача данных
ошибка при загрузке: передача данных (base = 0x75654640, size = 7896016) не подмножество существующего распределения (base = 0x75654640, размер = 4512008)
Вот часть исходного кода:
array_Dc = _mm_malloc(...);
...
#pragma offload target(mic : micZero) \
in(array_Dc : length(size) alloc_if(0) free_if(0)) \
out(array[micBegin : micEnd] : alloc_if(0) free_if(0)
{
//...
}
в этом случае размер этого массива = 564001, micBegin = 423001, micEnd = 564001. мне нужно передать данные потому что они используются процессором. В чем проблема? Как его решить?