Mandelbulber and multicore CPU in OpenCL

  • 1 Replies

0 Members and 1 Guest are viewing this topic.

Offline jeyjey

  • *
  • Fractal Friend
  • **
  • Posts: 15
    • Cyberneticart
« on: October 28, 2018, 09:29:52 AM »
Hi again friends. I am going to learn fractals secrets. I am studying. During this I analyze the software. For the 3D world I use Mandelbulber. It is the only one that grants me the OpenCL support since I am a miner and I have OpenCL in my table when I make breackfast, dinner and lunch. In 2D I am proud to have Fractorium that works with multi GPU in OpenCL. Everything on LINUX, only Linux in my professional life. I noticed that Mandelbulber supports multi CPU in rendering (and I don't use that feature) and, of course to be in my computer, GPU. But, there is everytime a "but", for the normal UI work, it doesn't support multi-CPU. I mean that when I cook an animation the OpenCL compiling step is made by an only one CPU. I have a multicore CPU (real eight-cores). Linux supports the multicore threading in the BEST way. When I combine boolean fractals too, Mandelbulber uses only ONE CPU to compile OpenCL. The fact is when I combine two ibrid fractal, or three, or four .... compiling OpenCL programs is more slow than rendering on GPU! Please guys, don't believe me, try yourself to make me safe about that is mine the only PC that is the guilty one! Sorry for my English. I think that the compiling the internal lists of codes should be left to the kernel SO, or that should be a multithreading feature. Please tell me if I am wrong. Or please tell me if you have suggestions, but take present that I have the multicore setting enabled in Mandelbulber. However I consider Mandelbulber fantastic!! Thanks.

Morti cristi ... spenti lumi.

Offline buddhi

  • *
  • Fractal Feline
  • **
  • Posts: 157
    • Mandelbulber GitHub repository
« Reply #1 on: October 28, 2018, 11:55:12 AM »
I mean that when I cook an animation the OpenCL compiling step is made by an only one CPU
Compilation of OpenCL code is not done by Mandelbulber program. OpenCL code is compiled by graphics driver. I cannot parallelize this (use all CPU cores), because I don't have access to OpenCL compiler code.
Do you see that OpenCL code is compiled for every animation frame or just one before first frame? Normally OpenCL kernels are compiled only once, and then stored in ComputeCache (part of the graphics driver). Mandelbulber don't attempt to recompile the OpenCL code if it is not needed. So you need to wait only once for compilation, then every next render is quick (until you don't change fractal formula to new one or enable some new effects).
Check if you haven't ticked option "Disable OpenCL cache for OpenCL programs" in Preferences window.

Mandelbulber 2.2.16 OpenCL

Started by piotrv on Mandelbulber

2 Replies
Last post December 25, 2018, 01:09:32 PM
by Caleidoscope
Mandelbulber v2 2.12 - OpenCL

Started by buddhi on Downloads

4 Replies
Last post December 05, 2017, 09:52:27 PM
by knighty
OpenCL Error Mandelbulber V2

Started by paradoxic on Mandelbulber

7 Replies
Last post July 07, 2020, 10:40:03 AM
by piotrv
Mandelbulber v2 2.12 - alpha6 - bugfix 1 - OpenCL

Started by buddhi on Downloads

1 Replies
Last post November 02, 2017, 09:41:21 PM
by WAUthethird
Doing animation with Mandelbulber 2.15-dev-alpha and OpenCL rendering

Started by Tas_mania on Mandelbulber

0 Replies
Last post October 17, 2018, 11:15:52 PM
by Tas_mania