Questions tagged [opencl]

OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors.

This tag refers to the OpenCL (Open Computing Language) by Khronos Group. It is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. Using OpenCL, one can affect execution of parallel computations greatly improving speed and responsiveness of a wide spectrum of applications: From gaming and entertainment to scientific and medical software.

OpenCL is an API and a C99-like language; for each device, implementations are provider-specific. Some of the OpenCL implementation providers are:

Questions about OpenCL can be asked here along with the vendor/provider and architecture details. Bug reports should be discussed in the respective forums of the vendors NVIDIA Forums, Intel Forums, AMD Forums

Books

5705 questions
11
votes
1 answer

Why an “if-else” statement (in GPUs code) will cut the performance in half

I read this article: FPGA or GPU? - The evolution continues And someone added a comment in which he wrote: Since GPUs are SIMD any code with an “if-else” statement will cut your performance in half. Half of the cores will execute the if part of…
user3668129
  • 4,318
  • 6
  • 45
  • 87
11
votes
4 answers

OpenCL and GPU programming Roadmap

i would like to start stating that i know nothing of OpenCL/GPU programming but i am a advanced C# (general .Net) programmer without fear of C++ and i would like to learn OpenCL/GPU programming... my question is... where do i start?!? what should i…
Leonardo
  • 10,737
  • 10
  • 62
  • 155
11
votes
3 answers

Can I run Cuda or OpenCl on Intel processor graphics I7 (3rd or 4rd generation)

I'm developing on SBC (which have Intel I7 3ed or 4ed, and doesn't have external GPU) I'm using linux. I want to take the advantage of Intel processor graphics . I thought to learn developing with Cuda or OpenCl. I read some old posts (several years…
Azil
  • 457
  • 2
  • 5
  • 10
11
votes
1 answer

Do I really need an OpenCL SDK?

I just tried to make myself familiar with OpenCL but totally got confused when everyone in the Internet was talking about downloading a Vendor specific OpenCL SDK. Why would I need that? My understanding of using OpenCL was the following: Download…
denim
  • 1,329
  • 1
  • 15
  • 24
11
votes
2 answers

Exclusive compute mode with OpenCL+NVidia

I have a question to exclusive compute mode with NVidia+OpenCL. I can set up exclusive compute mode (page 74 from cuda programming guide 3.0) with nvidia-smi on a nvidia-gpu . that means, only one program can compute on gpu. cuda runtime schedules…
lokli
  • 111
  • 3
11
votes
5 answers

My OpenCL kernel is slower on faster hardware.. But why?

As I was finishing coding my project for a multicore programming class I came up upon something really weird I wanted to discuss with you. We were asked to create any program that would show significant improvement in being programmed for a…
matdumsa
  • 16,005
  • 1
  • 22
  • 18
11
votes
1 answer

CL_MEM_USE_HOST_PTR Vs CL_MEM_COPY_HOST_PTR Vs CL_MEM_ALLOC_HOST_PTR

In the book OpenCl By Action I read this: CL_MEM_USE_HOST_PTR: The memory object will access the memory region specified by the host pointer. CL_MEM_COPY_HOST_PTR: The memory object will set the memory region specified by the host pointer.…
user3891236
  • 607
  • 1
  • 9
  • 23
11
votes
3 answers

Unable to find Nvidia OpenCL SDK

I am trying to find the Nvidia OpenCL SDK. No luck so fare. I am starting to give up so I am asking here in case someone can cast some light on the issue.
Michael
  • 892
  • 2
  • 10
  • 28
11
votes
1 answer

Do global_work_size and local_work_size have any effect on application logic?

I am trying to understand how all of the different parameters for dimensions fit together in OpenCL. If my question isn't clear that's partly because a well formed question requires bits of the answer which I don't have. How do work_dim,…
user2102611
11
votes
1 answer

What was the real reason why Google is chosing RenderScript instead of OpenCL?

The question has been asked before in a slightly different form, but I'd like to know what Android-developers think what's really behind Google's decision and not what Google's official answer is. OpenCL is an open standard and works on various…
11
votes
3 answers

opencl optimal group size

I'm running a mandelbrot generator (2D image from static params) on OpenCL. The program is straightforward: __kernel void mandelbrot(__global uchar * output, const float xstep, const float xoffset, …
crusaderky
  • 2,552
  • 3
  • 20
  • 28
11
votes
1 answer

How to optimize OpenCL code for neighbors accessing?

Edit: Proposed solutions results are added at the end of the question. I'm starting to program with OpenCL, and I have created a naive implementation of my problem. The theory is: I have a 3D grid of elements, where each elements has a bunch of…
Alex
  • 1,449
  • 4
  • 18
  • 28
11
votes
1 answer

nvidia driver differences 275.50 and 280.19 for GTX480 GPU in opencl resampling

the resampling of an image with driver version 275.50 and 280.19 for Nvidia GTX480 GPU gives little changes in the gray values. Maybe it is an interpolation issue. I can not determine what has changed in the new version except for the implementation…
user1768352
  • 127
  • 2
11
votes
2 answers

(rendering particles) Should I learn shader or OpenCL?

I am trying to run 100000 and more particles. I've been watching many tutorials and other examples that demonstrate the power of shaders and OpenCL. In one example that I watched, particle's position was calculated based on the position of your…
BlueBug
  • 369
  • 4
  • 17
11
votes
1 answer

Work Group Sizes

For a given Kernel, why are work_groups of always the same size? I read somewhere (for the case in which we don't specify the local work size) that openCL creates 3 work groups(of 217 work-items each) for kernel with 651 work-items(divisible by 3)…
Remy
  • 139
  • 1
  • 1
  • 10