From 39505ff9e61f4a0683f89676c8e79504be451b5f Mon Sep 17 00:00:00 2001 From: hxf0223 Date: Mon, 9 Sep 2024 21:36:22 +0800 Subject: [PATCH] update drawio/opencl-programing-flow.drawio.svg --- .../drawio/opencl-programing-flow.drawio.svg | 234 +++++++++--------- 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/assets/drawio/opencl-programing-flow.drawio.svg b/assets/drawio/opencl-programing-flow.drawio.svg index 69dab13..8afc83b 100644 --- a/assets/drawio/opencl-programing-flow.drawio.svg +++ b/assets/drawio/opencl-programing-flow.drawio.svg @@ -1,12 +1,12 @@ - + - - + + -
+
@@ -53,16 +53,16 @@
- + clGetPlatformIDs(0, nullptr, &num_platforms);... - + -
+
获取平台 platform @@ -70,16 +70,16 @@
- + 获取平台 platform - + -
+
@@ -93,20 +93,20 @@
- + 获取平台个数 -> 获取平台IDs -> 选取其中一个平台 - - - - - + + + + + -
+
@@ -195,16 +195,16 @@
- + clGetDeviceIDs(platform_id, device_type, 0, NULL, &num_devices);... - + -
+
获取设备 device @@ -212,16 +212,16 @@
- + 获取设备 device - + -
+
@@ -235,19 +235,19 @@
- + 获取指定平台下设备个数 -> 获取设备IDs -> 选取其中一个设备 - - - - + + + + -
+
@@ -306,16 +306,16 @@
- + clCreateContext(nullptr, 1, &device, nullptr, nullptr, &status); - + -
+
创建上下文 context @@ -323,16 +323,16 @@
- + 创建上下文 context - + -
+
@@ -342,17 +342,17 @@
- + 指定device个数(一般1),以及devices,创建 context - - + + -
+
@@ -386,16 +386,16 @@
- + clCreateCommandQueueWithProperties(context, device, 0, &status); - + -
+
创建命令队列 command queue @@ -403,17 +403,17 @@
- + 创建命令队列 command queue - - + + -
+
@@ -423,19 +423,19 @@
- + 基于context & device 创建 command queue(可选的 queue 属性选项) - - - - + + + + -
+
@@ -507,16 +507,16 @@
- + clCreateProgramWithSource(context, 1, &source_str, nullptr, nullptr);... - + -
+
加载及编译 program @@ -524,19 +524,19 @@
- + 加载及编译 program - - - - + + + + -
+
@@ -565,16 +565,16 @@
- + clCreateKernel(program, "array_add", nullptr); - + -
+
创建 kernel @@ -582,19 +582,19 @@
- + 创建 kernel - - - - + + + + -
+
@@ -692,16 +692,16 @@
- + clCreateBuffer(context, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, sizeof(T) * N, a, &err1);... - + -
+
创建输入输出 buffer @@ -709,19 +709,19 @@
- + 创建输入输出 buffer - - - - + + + + -
+
@@ -797,16 +797,16 @@
- + clSetKernelArg(kernel, 0, sizeof(cl_mem), &cl_buffers[0]);... - + -
+
设置 kernel 参数 @@ -814,16 +814,16 @@
- + 设置 kernel 参数 - + -
+
设置 buffer 到 kernel,即设置为其实参 @@ -831,19 +831,19 @@
- + 设置 buffer 到 kernel,即设置为其实参 - - - - + + + + -
+
@@ -931,16 +931,16 @@
- + size_t global_work_size[] = {ARRAY_SIZE}, local_work_size[] = {1};... - + -
+
启动 kernel @@ -948,16 +948,16 @@
- + 启动 kernel - + -
+
设置 work group参数,启动 kernel @@ -965,19 +965,19 @@
- + 设置 work group参数,启动 kernel - - - - + + + + -
+
@@ -1060,16 +1060,16 @@
- + clEnqueueReadBuffer(queue, cl_buffers[2], CL_TRUE, 0, ARRAY_SIZE * sizeof(float), use... - + -
+
等待 kernle 结束 @@ -1077,16 +1077,16 @@
- + 等待 kernle 结束 - + -
+
@@ -1096,17 +1096,17 @@
- + 等待 kernel结束,获取输出数据 - - + + -
+
@@ -1135,16 +1135,16 @@
- + clReleaseMemObject, clReleaseCommandQueue,... - + -
+
清理 CL 内存对象 @@ -1152,7 +1152,7 @@
- + 清理 CL 内存对象