Forum Discussion

whan01's avatar
whan01
Icon for New Contributor rankNew Contributor
6 years ago
Solved

Running HARP example design returns error value -54.

I modify the host code of example design.

The original part in launching the first kernel is

status = clEnqueueNDRangeKernel(queue, kernel, 1, NULL, gsize, lsize, 0, NULL, NULL)

I modify this part to

// define NDRange Size
size_t gsize[1]={(size_t) 10};
size_t lsize[1] = {(size_t) 2};
status = clEnqueueNDRangeKernel(queue, kernel, 1, NULL,  gsize, lsize, 0, NULL, NULL)

Then I run the code it returns error code -54. Why can't I increase the 1-d lsize to 2?

  • Is there any reqd_work_group_size or max_work_group_size used in the kernel?

6 Replies

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    May I know the software version and edition you are using? Could you share the error message and provide the design for investigation?

    Thanks.

    • whan01's avatar
      whan01
      Icon for New Contributor rankNew Contributor

      The software is quartus 16.0.2 pro with all update patches installed. My OpenCL is v2.0.

  • HRZ's avatar
    HRZ
    Icon for Frequent Contributor rankFrequent Contributor

    Is there any reqd_work_group_size or max_work_group_size used in the kernel?

    • whan01's avatar
      whan01
      Icon for New Contributor rankNew Contributor

      You remind me. There's neither reqd_work_group_size nor max_work_group_size, but at the head of each kernel function there's a declaration __attribute__((task)) which implicitly indicates the max work group dimension is 0. The max group work items is 1. So here's problem. Thanks!

      • HRZ's avatar
        HRZ
        Icon for Frequent Contributor rankFrequent Contributor

        So the kernel is not even NDRange. 😅

        Be careful that just removing that attribute will not convert the kernel to NDRange; you will need to rewrite the kernel and replace the loops in it with get_global_id()/get_local_id().