OpenCL and the OpenGL on my APU

#1

Actually for studies and develop I’m using a laptop with APU(CPU/GPU) Atom IntelProcessor (X5-Z8350 x86_64 2GB Ram ~1GB Vram), don’t judge me, I would like to know if I should study and use OpenCL in my application, be it OpenGL, GL ES or Vulkan. Because for example, to use GPU in Blender 2.79 I need to enable OPENCL with command:

CYCLES_OPENCL_SPLIT_KERNEL_TEST = 1 --debug-cycles --debug-value 256

My GPU doesn’t work in Blender normally without activating OpenCL, at least as I understand it, without activating, what renders is just the CPU.

Should I use OpenCL in my app too? Anyone can correct me if I’m wrong?

@Edit: Is it the same for Android?

#2

It might help others provide feedback if you describe your application and its needs.

If you need to do GPU compute work, then definitely consider OpenCL. Other cross-platform options include: 1) Vulkan compute shaders, 2) OpenGL compute shaders, and 3) OpenGL ES compute shaders.

I didn’t really understand some of the above, so I did a little websearching:

Cycles is Blender’s physically-based path tracer for production rendering.

AMD videocard owners rejoice! With the work on the split Cycles OpenCL Kernel, the performance of AMD GPU’s has increased dramatically.

OpenCL

As of blender 2.75, AMD HD 7xxx+ GPUs are officially supported. Other OpenCL devices may work, and can be tested by force-enabling OpenCL with an environment variable: CYCLES_OPENCL_SPLIT_KERNEL_TEST=1

As it’s still quite experimental and there are quite a few features still missing, it’s only enabled for AMD gpus by default. It’s possible to “force” it to work on other opencl devices by setting the environment variable CYCLES_OPENCL_SPLIT_KERNEL_TEST=1

1 Like
#3

Oh, I didn’t want to bother, my example about Blender was if: if I need OpenCL to work with GPU on a renderer, would I also have to use it for my app, simple or not?

As you have said, it is better, yes, and thank you very much for the information!

About my app, it is just a 3d game. Thank you again for your attention!