小编pin*_*ino的帖子

奇怪的OpenCL调用C++对循环性能的副作用

我正在使用OpenCL开发一个C++项目.我正在使用CPU作为具有英特尔OpenCL运行时的OpenCL设备

我注意到调用OpenCL函数时有一个奇怪的副作用.这是一个简单的测试:

#include <iostream>
#include <cstdio>
#include <vector>
#include <CL/cl.hpp>

int main(int argc, char* argv[])
{
  /*
      cl_int status;
  std::vector<cl::Platform> platforms;
  cl::Platform::get(&platforms);
  std::vector<cl::Device> devices;
  platforms[1].getDevices(CL_DEVICE_TYPE_CPU, &devices);
  cl::Context context(devices);
  cl::CommandQueue queue = cl::CommandQueue(context, devices[0]);
  status = queue.finish();
  printf("Status: %d\n", status);
*/

  int ch;
  int b = 0;
  int sum = 0;
  FILE* f1;
  f1 = fopen(argv[1], "r");

  while((ch = fgetc(f1)) != EOF)
  {
    sum += ch;
    b++;
    if(b % 1000000 == 0)
      printf("Char %d read\n", b);
  }
  printf("Sum: %d\n", …
Run Code Online (Sandbox Code Playgroud)

c++ intel opencl

6
推荐指数
1
解决办法
198
查看次数

标签 统计

c++ ×1

intel ×1

opencl ×1