Предположим, у меня есть одно приложение c/c++, работающее на хосте. на центральном процессоре выполняется несколько потоков, а на ядрах Xeon Phi — 50 потоков.
Как я могу убедиться, что каждый из этих 50 работает на своем собственном ядре Xeon Phi и никогда не очищается из кэша ядра (учитывая, что код достаточно мал).
Может ли кто-нибудь изложить очень общую идею, как это сделать и какой инструмент/API будет более подходящим (для кода C/C++)?
Каков самый быстрый способ обмена данными между хост-агрегатором потоков и 50 потоками Phi?
Учитывая, что фактический параллелизм будет очень ограниченным, это приложение будет больше похоже на 51-поточное приложение с некоторой базовой многопоточной синхронизацией данных.
Можно ли использовать обычный компилятор C/C++ для создания подобного приложения?