打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
别的不说,直接上代码啦
以下是bangc萌新选手码的,可能有一些不够(you)美(bug)丽的地方,望小哥哥小姐姐指教~
Host: "main.cpp"
#include <stdio.h>
#include <stdlib.h>
#include "cnrt.h"
#include "kernel.h"
int main() {
cnrtInit(0);
cnrtDev_t dev;
cnrtGetDeviceHandle(&dev, 0);
cnrtSetCurrentDevice(dev);
cnrtStream_t pStream;
cnrtCreateStream(&pStream);
cnrtDim3_t dim;
dim.x = 1;
dim.y = 1;
dim.z = 1;
cnrtFunctionType_t c;
c = CNRT_FUNC_TYPE_BLOCK;
cnrtKernelParamsBuffer_t params;
cnrtGetKernelParamsBuffer(¶ms);
cnrtRet_t ret;
ret = cnrtInvokeKernel((void *)&kernel, dim, params, c, pStream);
if (ret != CNRT_RET_SUCCESS) {
printf("cnrtInvokeKernel FAILED");
exit(-1);
}
ret = cnrtSyncStream(pStream);
if (ret != CNRT_RET_SUCCESS) {
printf("cnrtSyncStream FAILED");
exit(-1);
}
if (CNRT_RET_SUCCESS != cnrtDestroyStream(pStream)) {
printf("cnrtDestroyStream FAILED!\n");
exit(-1);
}
if (CNRT_RET_SUCCESS != cnrtDestroyKernelParamsBuffer(params)) {
printf("cnrtDestroyKernelParamsBuffer failed!\n");
return -1;
}
cnrtDestroy();
return 0;
}
Device: "kernel.mlu"
#include "mlu.h"
__mlu_entry__ void kernel() {
__bang_printf("
\n");
}
"kernel.h"
#ifdef __cplusplus
extern "C" {
#endif
void kernel();
#ifdef __cplusplus
}
#endif
"Makefile"
all:
cncc -c kernel.mlu -o kernel.o
g++ -c main.cpp -I/usr/local/neuware/include
g++ kernel.o main.o -o main -L/usr/local/neuware/lib64 -lcnrt
以上代码文件码好之后,命令行执行:
make
就完成啦!
热门帖子
精华帖子