我试图获得hStreams的简单教程示例,以便在多核集成核心平台上运行Intel Xeon Phi(Knights Landing)7210(无卸载)。 hStreams的documentation说:
预计可以通过fabric-Xeon或KNL进行自启动和卸载
所以我想知道hStreams是否也适用于我的平台。最后,我不确定是否需要MPSS(hStreams的先决条件),它只能安装在卸载系统上。
对于hStreams的简单教程示例,我使用example_src.cpp
和example_sink.cpp
:
// example_src.cpp:
#include <hStreams_app_api.h>
int main() {
uint64_t arg = 3735928559;
// Create domains and streams
hStreams_app_init(1,1);
// Enqueue a computation in stream 0
hStreams_app_invoke(0, "hello_world",1, 0, &arg, NULL, NULL, 0);
// Finalize the library. Implicitly
// waits for the completion of
// enqueued actions
hStreams_app_fini();
return 0;
}
// example_sink:
#include <hStreams_sink.h>
#include <stdio.h>
// Ensure proper name mangling and symbol
// visibility of the user function to be
// invoked on the sink.
HSTREAMS_EXPORT
void hello_world(uint64_t arg)
{
// This printf will be visible
// on the host. arg will have
// the value assigned on the source
printf("Hello world, %x\n", arg);
}
对于编译,我使用icc -fPIC -shared example_sink.cpp -o example_mic.so -I/usr/include/hStreams
和icc example_src.cpp -lhstreams_source -o example -I/usr/include/hStreams
,它给了我两个执行文件。
如果我正在运行./example
,我会收到错误:libcoi_host.so.0: cannot open shared object file: No such file or directory
。我想它必须在卸载时做点什么。
如果你能给我两个例子,那就太好了。一个用于在自启动系统上编译hStream,另一个用于GPU作为接收系统。