Search:

Type: Posts; User: kunze

Page 1 of 3 1 2 3

Search: Search took 0.00 seconds.

  1. Sometimes, I see CL_OUT_OF_RESOURCE returned from...

    Sometimes, I see CL_OUT_OF_RESOURCE returned from blocking calls when a previously enqueued kernel has done an out-of-bounds access. So perhaps your kernel code has a bug? I know it's a strange...
  2. Replies
    2
    Views
    111

    While it is tempting to use OpenCL 1.x zero-copy...

    While it is tempting to use OpenCL 1.x zero-copy buffers (via the CL_MEM_USE_HOST_PTR or CL_MEM_ALLOC_HOST_PTR flags) to share data between the host and the kernel while the kernel is running, OpenCL...
  3. Replies
    2
    Views
    709

    I think you should look at the error codes coming...

    I think you should look at the error codes coming out of your OpenCL library calls and make sure none of them are failing. If they are failing, perhaps the particular error code will give you some...
  4. Replies
    1
    Views
    1,679

    This comes from the C++ header using deprecated...

    This comes from the C++ header using deprecated APIs from previous versions of the OpenCL API. If you #define CL_USE_DEPRECATED_OPENCL_2_0_APIS before you include cl.hpp, the compiler should be...
  5. Replies
    1
    Views
    1,022

    I noticed something in your code. When the code...

    I noticed something in your code. When the code writes the MAX_ROW_IDX_BUFF and MAX_ROW_VAL_BUFF buffers, it uses total_workgroups*sizeof(PRECISION) as the amount of data to write. The data comes...
  6. If you call clEnqueueMapBuffer (with...

    If you call clEnqueueMapBuffer (with blocking==TRUE), then immediately call clEnqueueUnmapBuffer and clReleaseMemObject, that should leave you with valid data in system memory. Does this sequence...
  7. Again, the answer here would be architecture...

    Again, the answer here would be architecture dependent. But for the architecture I use, one memory access with four lanes trying to access the same bank is no worse than four memory accesses with no...
  8. Replies
    1
    Views
    419

    CL_DEVICE_MAX_WORK_ITEM_SIZES refers to the...

    CL_DEVICE_MAX_WORK_ITEM_SIZES refers to the number of work-items in work-groups, not the number of work-items of the complete NDRange. The NDRange size limit is the max value of size_t on the device.
  9. A compiler could theoretically tell that case 1...

    A compiler could theoretically tell that case 1 and case 2 are essentially the same. I have seen compilers do this in similar cases, but I can't speak for all compilers. As such, I typically prefer...
  10. The only trick will be dealing with deprecated...

    The only trick will be dealing with deprecated APIs. You can see those by looking at the end of the OpenCL 2.0 header file:

    http://www.khronos.org/registry/cl/api/2.0/cl.h

    You'll see that...
  11. OpenCV implements something like this and has...

    OpenCV implements something like this and has similar portability requirements. It may not do exactly what you want, but perhaps it's a start. Check this out:
    ...
  12. Replies
    5
    Views
    977

    I don't know about the AMD issue, but as far as...

    I don't know about the AMD issue, but as far as the Intel GPU goes, I have two thoughts:

    - On some platforms, OpenCL on the integrated GPU won't work if a discrete GPU is hosting the display. You...
  13. Replies
    5
    Views
    819

    A few more tips, in addition to cartographer's...

    A few more tips, in addition to cartographer's good advice:

    - I see you are using long and double datatypes in your arithmetic. These calculations will be much faster if you can get away with...
  14. I assume the performance figures you gave are not...

    I assume the performance figures you gave are not per-run, correct? They must be aggregated for a number of iterations, yes? Assuming that's true, is it necessary to create new buffers every time...
  15. Replies
    1
    Views
    661

    Piyush, A couple of comments: - It looks...

    Piyush,

    A couple of comments:

    - It looks like you are missing an ampersand in your clEnqueueNDRangeKernel call. The last parameter to that function is a pointer to a cl_event, not the cl_event...
  16. Another source of this kind of behavior could be...

    Another source of this kind of behavior could be dynamic frequency adjustment in the GPU. As it heats up, it could be reducing the GPU frequency. As it cools, it could raise the frequency again. ...
  17. One thing I notice is this: ...

    One thing I notice is this:

    ret=clSetKernelArg(kernel[i], 14, sizeof(float), &buffer_freq[i]);

    This should pass sizeof(cl_mem), not sizeof(float). Are the error codes being checked on this and...
  18. I assume from your code that each of those tasks...

    I assume from your code that each of those tasks is writing the same buffer, and that you're trying to get different results from each clEnqueueTask. If that's the case, then you need to interleave...
  19. Replies
    10
    Views
    1,557

    Also, I want to point out that on some systems,...

    Also, I want to point out that on some systems, especially those with integrated GPUs, CL_MEM_USE_HOST_PTR can be the faster alternative. In many cases, the implementation can avoid ever copying...
  20. Can you show us your clSetKernelArg call? Does...

    Can you show us your clSetKernelArg call? Does it look like this:

    cl_mem buf = clCreateBuffer....
    clSetKernelArg(kernel, 0, sizeof(cl_mem), &buf)

    Or something different?
  21. Replies
    6
    Views
    1,082

    I have seen some OpenCL implementations return...

    I have seen some OpenCL implementations return CL_INVALID_COMMAND_QUEUE after something catastrophic happens inside a kernel. Like perhaps an out-of-bounds access. You might try and comment out...
  22. The initial data transfer could be part of buffer...

    The initial data transfer could be part of buffer creation, depending on how you created your buffer. If you created it using the CL_MEM_USE_HOST_PTR flag, then on some architectures, you may not...
  23. Another thing to consider when using the...

    Another thing to consider when using the CL_MEM_USE_HOST_PTR flag is that some hardware may need for the alignment of the pointer and/or the size of the buffer to meet certain alignment requirements....
  24. Yes, I don't see a way to do this that is...

    Yes, I don't see a way to do this that is guaranteed by the spec. cl_platform.h defines CL_API_SUFFIX__VERSION_1_2 in the 1.2 version of the standard headers. That might be a more readable way to...
  25. This test is probably best done at run-time...

    This test is probably best done at run-time instead of at compile time. If you tried to do the test at compile time, someone could take your binary to another machine and get different results. Or...
Results 1 to 25 of 53
Page 1 of 3 1 2 3