Logo by Mahmut - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. April 23, 2024, 11:00:16 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: State of OpenCL in Mandelbulber?  (Read 3834 times)
0 Members and 1 Guest are viewing this topic.
quaz0r
Fractal Molossus
**
Posts: 652



« on: September 13, 2013, 06:19:57 PM »

I noticed Krzysztof posted a mandelbulber animation to youtube a few weeks ago to test opencl rendering in his program.  So what exactly is the state of opencl in mandelbulber right now?  I see a version of mandelbulber from a million years ago labeled as an opencl version.  Just for kicks I grabbed latest mandelbulber from svn and after some quick hacking got it built with opencl enabled.  It seems good as far as I can tell.  One thing I'm wondering is if it's possible to enable tiled rendering in opencl mode?  I change the value for number of tiles but it doesnt seem to affect anything.  I'm thinking this is probably what would be needed to do more complex renderings than what I can do right now? - on a fairly large render if i set ambient occlusion quality above 3 it crashes.  I think it is running out of memory?  If i set AO quality to 10 it crashes immediately, if I set to 5 it crashes maybe halfway through the render, if I set to 4 it crashes at around 90% done.
Logged
taurus
Fractal Supremo
*****
Posts: 1175



profile.php?id=1339106810 @taurus_arts_66
WWW
« Reply #1 on: September 13, 2013, 08:08:19 PM »

Afaik it is still in experimeltal state. so far it only works on linux and only when compiling from sources, but I heard he is working on some improvements.
Unfortunately Buddhi neglected the windows version lately, so it is doubtful that it'll ever come for windows - even the 64bit support is postboned for win...
Logged

when life offers you a lemon, get yourself some salt and tequila!
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #2 on: September 14, 2013, 06:16:15 AM »

   Afaik it is still in experimeltal state.  so far it only works on linux and only when compiling from sources, but I heard he is working on some improvements.
    Unfortunately Buddhi neglected the windows version lately, so it is doubtful that it'll ever come for windows - even the 64bit support is postboned for win...

That is too bad on several accounts.  There is a much larger audience for such things in the Windows environment, especially since most new machines are 64-bit these days.    sad
 
Logged

Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #3 on: September 15, 2013, 08:28:52 PM »

As you observed I'm working now on development of OpenCL version of Mandelbulber. Today I have released new version with OpenCL support. Now only for Linux, but in few day will be also for Windows. Few hours ago I have compiled it also for Windows, but it needs some small fixes in code to run it properly under Windows without any tricks.

I took a lot of time to implement OpenCL in Mandelbulber, because programming of OpenCL kernels is sometimes tricky. Even if it is also C code, I can't be the same. GPUs have completely other handling of different memory areas. Some areas are good for general data, but for fast variables there is needed to use strongly limited private memory (which is very fast). Parameters for fractals are also in other memory area. There is some special for constants (also limited - only 64k). All together sometimes makes programming very difficult.
Other difficult thing is debugging of the code. On my AMD card if I make some mistake which crash OpenCL kernel, I have to restart computer (GPU freezes at all). So there is a lot of pain when I make some stupid error in code.

But final result is fantastic. Rendering speed is incredibly higher than on CPU. Sometimes even 100 times faster (even on Radeon 7800)!

quaz0r asked about tiled rendering. It is still not implemented in OpenCL. But even if I implement it, this will be not so useful. On GPU there is much more limited zoom level, because of use single precision variables. On very big images you will see some resolution problems. Much more benefits are from rendering of volumetric effects (and all other which need a lot of computing power). Forget about enormously high resolutions and zooms!

Final remark. I have tested it mostly on AMD Radon 7800. I run it also few times on nVidia GeForce 9600. Everything only under Linux (and today also few trials under Windows Vista). I'm not sure how it will work with different hardware configurations
Logged

taurus
Fractal Supremo
*****
Posts: 1175



profile.php?id=1339106810 @taurus_arts_66
WWW
« Reply #4 on: September 15, 2013, 10:59:03 PM »

As you observed I'm working now on development of OpenCL version of Mandelbulber. Today I have released new version with OpenCL support. Now only for Linux, but in few day will be also for Windows. Few hours ago I have compiled it also for Windows, but it needs some small fixes in code to run it properly under Windows without any tricks.

Good to hear, some of your most loyal followers are stuck with windows.  grin
Logged

when life offers you a lemon, get yourself some salt and tequila!
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #5 on: September 16, 2013, 04:25:16 AM »

that is good to hear you are making a new release also for windows.  I was actually just about to make a windows build myself just for kicks, oh well.  I saw a previous post you made saying you werent sure how to include opencl support in a windows build.  I was looking around and thought maybe something like this might be useful:

https://code.google.com/p/clew/

Also that is too bad to hear that the use of opencl is limited in scope the way you say it is.  There is absolutely no way in the known universe anyone finds it at all reasonable to wait 3 years for a render to finish running on a CPU.   huh?
« Last Edit: September 16, 2013, 05:21:58 PM by quaz0r » Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #6 on: September 16, 2013, 05:42:42 PM »

Another thought I had while checking out mandelbulber and some of the posts people make on these forums, it seems like there is a lot of interest in being able to write your own fractal formulas on the fly, and it seems no programs that implement this through their own interface?  I was noticing how with the opencl implementation of mandelbulber the actual opencl code just sits as regular text files in /usr/share/mandelbulber/cl/.  The fractal code is nicely separated into different files so if a person wanted to they could very easily modify / create new formulas on the fly without having to recompile the program or anything.  Might be worth pointing out as there seems to be interest in this?
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #7 on: September 16, 2013, 05:50:18 PM »

Another thought I had while checking out mandelbulber and some of the posts people make on these forums, it seems like there is a lot of interest in being able to write your own fractal formulas on the fly, and it seems no programs that implement this through their own interface?  I was noticing how with the opencl implementation of mandelbulber the actual opencl code just sits as regular text files in /usr/share/mandelbulber/cl/.  The fractal code is nicely separated into different files so if a person wanted to they could very easily modify / create new formulas on the fly without having to recompile the program or anything.  Might be worth pointing out as there seems to be interest in this?

This is also my idea. OpenCL gives opportunity to implement user defined formulas. I will try to implement some features for this in next version. There will be possibility to load own text files with formula code and will be prepared some set of general parameter free to use in custom formulas.
Logged

hobold
Fractal Bachius
*
Posts: 573


« Reply #8 on: September 16, 2013, 11:38:08 PM »

This is actually a ... feature* ... of OpenCL: all OpenCL compliant devices include a compiler as part of their programming interface. The programs meant to be run on the respective co-processor are then compiled at runtime of the application for whatever specific OpenCL device is present in the system.


*: There is some valid criticism that has been brought forward against this feature, so the upcoming OpenCL 2.0 standard is planned to include an alternative, pre-compiled, intermediate format for programs. But the source compiler will remain part of OpenCL, and is indeed rather useful for fractal purposes.
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Mandelbulber and OpenCL Mandelbulber Buddhi 12 10646 Last post November 16, 2011, 11:04:25 AM
by Loadus
Best Linux OS for Mandelbulber with OpenCL Mandelbulber tryptophan 3 5343 Last post April 01, 2012, 07:24:24 AM
by JohnVV
Mandelbulber 1.17 - OpenCL Releases « 1 2 3 4 » Buddhi 49 24321 Last post October 15, 2013, 10:03:11 PM
by Buddhi
Unofficial Mandelbulber 1.17.2 OpenCL win64 build Mandelbulber quaz0r 9 4865 Last post March 03, 2014, 06:21:14 PM
by GinDiamond
Mandelbulber 1.18 - OpenCL Releases « 1 2 3 » Buddhi 37 15948 Last post November 16, 2013, 09:22:05 PM
by Buddhi

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.202 seconds with 25 queries. (Pretty URLs adds 0.026s, 2q)