Search:

Type: Posts; User: kunze

Page 1 of 2 1 2

Search: Search took 0.00 seconds.

  1. 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...
  2. 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...
  3. Replies
    1
    Views
    153

    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.
  4. 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...
  5. 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...
  6. 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:
    ...
  7. Replies
    5
    Views
    532

    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...
  8. Replies
    5
    Views
    465

    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...
  9. 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...
  10. Replies
    1
    Views
    478

    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...
  11. 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. ...
  12. 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...
  13. 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...
  14. Replies
    10
    Views
    1,138

    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...
  15. 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?
  16. Replies
    6
    Views
    837

    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...
  17. 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...
  18. 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....
  19. 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...
  20. 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...
  21. Replies
    2
    Views
    2,313

    I don't know exactly the issue you are running...

    I don't know exactly the issue you are running into, but I have some questions that might lead us there:

    - Do you know that OpenCL is officially supported on your device? Do you expect this to...
  22. David, There's a couple of problems with this...

    David,

    There's a couple of problems with this code that I see:

    - If temp is a local memory region, you probably never want to index it with get_global_id(0) or i in your code. Every work-group...
  23. Ramanarayan, It's hard to tell exactly what is...

    Ramanarayan,

    It's hard to tell exactly what is going on here, but I have two things to consider:

    - First, it could be that your IDE (Visual Studio, Eclipse, etc.) doesn't recognize OpenCL C...
  24. In most cases, your intuition is correct: ...

    In most cases, your intuition is correct: Calling the two kernels as functions from within a unified kernel is usually preferable. There are a few things to consider when doing this:

    - Sizes of...
  25. There's no single correct answer to your...

    There's no single correct answer to your question. But I can give you some things to consider:

    - OpenCL kernels are typically most effective when you launch hundreds of work items or more,...
Results 1 to 25 of 48
Page 1 of 2 1 2