Opencl程序什么都不做,但主机有开销

时间:2014-05-23 11:47:12

标签: opencl wait host overhead

我有一个非常简单的程序,使用opencl:

#include <stdio.h>
#include <CL/cl.h>

int main(){
    getchar();
    cl_int error;
    cl_uint platforms;
    cl_platform_id platform;

    error=clGetPlatformIDs(1, &platform, &platforms);
    if (error != CL_SUCCESS) {
        printf("\n Error number %d", error);
    }
    else
    printf("OK\n");

    return 1;
}

我哄骗它 g++ overhead_tan.cpp -o overhead_tan -lOpenCL 该程序有效,但开销很大!当我启动程序时,它将不得不等待没有CPU资源。不是吗?但结果是:

Threads:
  1  [|||||||||||||||||||||||||                          42.7%]
  2  [|                                                   0.7%]
  3  [||||||||||||||||||||||                             37.9%]
  4  [||                                                  1.3%]
  Mem[||||||||||||||||||||                         1476/5929MB]

(在我启动程序之前,所有线程都加载了~1%)它告诉我内核在那里运行。

为什么会有这种开销?

0 个答案:

没有答案