Tag: xeon phi

如何将单个应用程序的特定线程卸载到特定的Xeon Phi核心?

假设我在主机上运行了一个c / c ++应用程序。 主机CPU上运行的线程很少,Xeon Phi内核上运行50个线程。 我怎样才能确保这些50中的每一个都运行在自己的Xeon Phi核心上,并且永远不会从核心缓存中清除(考虑到代码足够小)。 有人可以概述一个非常笼统的想法如何做到这一点以及哪个工具/ API更适合(对于C / C ++代码)? 在主机线程聚合器和50个Phi线程之间交换数据的最快方法是什么? 鉴于实际的并行性将非常有限 – 这个应用程序将更像51线程平面应用程序与一些基本的multithreading数据同步。 我可以使用传统的C / C ++编译器来创建这样的应用程序吗?

在XeonPhi上使用AVX内联汇编的矢量和

我是新手使用XeonPhi Intel协处理器。 我想使用AVX 512位指令为简单的矢量和编写代码。 我使用k1om-mpss-linux-gcc作为编译器,并希望编写内联汇编。 这是我的代码: #include #include #include #include #include #include void* aligned_malloc(size_t size, size_t alignment) { uintptr_t r = (uintptr_t)malloc(size + –alignment + sizeof(uintptr_t)); uintptr_t t = r + sizeof(uintptr_t); uintptr_t o =(t + alignment) & ~(uintptr_t)alignment; if (!r) return NULL; ((uintptr_t*)o)[-1] = r; return (void*)o; } int main(int argc, char* argv[]) { […]