| 55 | } |
| 56 | |
| 57 | template <typename M> void |
| 58 | MQueueClass<M>::run() |
| 59 | { |
| 60 | cl_int err; |
| 61 | bool b = metod.prepareDataToRun(); |
| 62 | ASSERT_EQ(b, true); |
| 63 | |
| 64 | int qmax = metod.qnum; |
| 65 | |
| 66 | metod.initOutEvent(); |
| 67 | cl_int ret = CL_SUCCESS; |
| 68 | |
| 69 | err = metod.run(); |
| 70 | ASSERT_EQ(err, CL_SUCCESS); |
| 71 | //::std::cerr << "queues = " << base->numCommandQueues() << std::endl; |
| 72 | |
| 73 | |
| 74 | for (int q = 0; q < qmax; ++q) { |
| 75 | err = clFinish(metod.queues[q]); |
| 76 | ASSERT_EQ(err, CL_SUCCESS) << "clFinish()"; |
| 77 | |
| 78 | err = clGetEventInfo(metod.outEvent[q], CL_EVENT_COMMAND_EXECUTION_STATUS, sizeof(cl_int), &ret, NULL); |
| 79 | //std::cerr << "2: err=" << err <<" ret=" << ret << std::endl; |
| 80 | ASSERT_EQ(err, CL_SUCCESS) << "clGetEventInfo()"; |
| 81 | ASSERT_EQ(ret, CL_COMPLETE) << "clGetEventInfo()"; |
| 82 | } |
| 83 | } |
| 84 | template <typename M> void |
| 85 | MQueueClass<M>::destroy() |
| 86 | { |
nothing calls this directly
no test coverage detected