Logo by S Nelson - 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 us on facebook
 
*
Welcome, Guest. Please login or register. April 25, 2024, 05:31:25 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] 2 3 4   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: Mandelbulber 1.17 - OpenCL  (Read 24810 times)
0 Members and 2 Guests are viewing this topic.
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« on: September 15, 2013, 08:01:29 PM »

Mandelbulber 1.17

Open source program (GNU GPL) for rendering photo-realistic 3D fractals
Free download (executables and source): http://sourceforge.net/projects/mandelbulber/
Website:       http://www.mandelbulber.com/
User manual: http://wiki.mandelbulber.com/index.php?title=User_Manual

New features in version 1.17:

- OpenCL kernel rewritten from the beginning (about 1300 lines of OpenCL code). Now are implemented most of all shaders including raytraced reflections and volumetric effects. Renders looks almost the same like for CPU version
   remark: OpenCL version is now available only for Linux. However today I have successfully compiled it and run win32. In few days I will try to release also win32 openCl version.
- some small bug fixes (e.g. NetRender works also with tiles)
- implemented HDR filter

SVN repository: http://mandelbulber.googlecode.com/svn/trunk/
This repository is available from Google Code: http://code.google.com/p/mandelbulber/
Logged

Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #1 on: September 15, 2013, 08:47:37 PM »

About HDR filter. It is in Image tab -> Image adjustments
It reduces saturation of the brightest areas of image. If you look at attached example you will see what it gives.


* noHDR.jpg (153.11 KB, 800x400 - viewed 683 times.)
Logged

hobold
Fractal Bachius
*
Posts: 573


« Reply #2 on: September 15, 2013, 10:55:47 PM »

The fractal GPU revolution has begun, thanks to you. smiley
Logged
taurus
Fractal Supremo
*****
Posts: 1175



profile.php?id=1339106810 @taurus_arts_66
WWW
« Reply #3 on: September 15, 2013, 11:01:58 PM »

can't wait to get my hands on...

Tanks a lot!  cheesy
Logged

when life offers you a lemon, get yourself some salt and tequila!
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #4 on: September 17, 2013, 07:39:17 PM »

Mandelbulber-OpenCL is now available also for Windows!
I have just uploaded it into SourceForge (http://sourceforge.net/projects/mandelbulber/)

It was tested with AMD graphics card on Windows Vista 64-bit (application is 32-bit). I haven't tested it with nVidia yet (and I have no possibility). I hope it will work also even if I used OpenCL library delivered by AMD. If not, I will try to create separate version for nVidia cards.

Note: I forgot to mention that not all fractal formulas are implemented yet. Now works Mandelbulb, Mandelbox, IFS, Menges Sponge, Quaternion, Hypercomplex. Hybryd formulas doesn't work also. I will try to implement more in next versions. Maybe will be also possibility to use user defined formulas. But this is a future.

Any feedback how it woks now will be appreciated

Let heat your rooms with Mandelbulber! (my GPU reaches 75 Celsius degrees)
Logged

Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #5 on: September 17, 2013, 09:47:46 PM »

I tried the OpenCL mode on my quite dated Nvidia Geforce 310M, but it crashed: When I click the "OpenCL Enable" checkbox, the program shuts down. The "OpenCL information" tab is empty?

GPU Shark lists the following info: OpenCL OpenCL 1.1 CUDA 4.2.1 FULL_PROFILE
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #6 on: September 17, 2013, 10:08:18 PM »

I realized that I could see some more information when running from a command prompt.

First I got this:
Code:
Build params: -w -I"C:\Program Files (x86)\Mandelbulber/cl"
OpenCL Build log:       Error in processing command line: Don't understand command line argument "Files"!
ERROR: Program::build() (-11)

which I think looks like an error when running from a directory containing space (it parses "Files" as an argument).

But after I moved to a new (spaceless) location, I got a new error:
Code:
Build params: -w -I"E:\Mandelbulber/cl"
OpenCL Build log:       :9:10: fatal error: 'mandelbulber_cl_data.h' file not found
#include "mandelbulber_cl_data.h"
         ^
ERROR: Program::build() (-11)

I can see that the file "mandelbulber_cl_data.h" is present in stated include directory ("E:\Mandelbulber/cl")

Update:

After hardcoding the filepath in "cl_engine_fast.cl" to:
#include "E:\m2\cl\mandelbulber_cl_data.h"

I got a little further. But now I get this:

Code:
OpenCL rendering
Ambient occlusion counter 108
OpenCL Platform number is: 1
OpenCL Platform is by: NVIDIA Corporation
OpenCL contexts created
OpenCL Number of compute units: 2
OpenCL Max work item dimmensions: 3
OpenCL Max work group size: 512
OpenCL Max clock frequency  1530 MHz
OpenCL Memory size  0 MB
OpenCL Max constant buffer size  0 kB
OpenCL Constant buffer used  1 kB
OpenCL Number of loaded sources 7
Build params: -w -I"E:\m2/cl"
OpenCL Build log:

OpenCL program built done
OpenCL kernel opened
OpenCL workgroup size: 320
OpenCL Job size: 640
reflectBuffer size = 614400OpenCL buffers created
OpenCL command queue prepared
ERROR: ComamndQueue::enqueueNDRangeKernel() (-4)

« Last Edit: September 17, 2013, 11:06:39 PM by Syntopia » Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #7 on: September 18, 2013, 12:50:19 AM »

I hope it will work also even if I used OpenCL library delivered by AMD. If not, I will try to create separate version for nVidia cards.

Im not sure how necessary it is or how hard it is to integrate into your code but this sort of thing is supposed to solve this issue so you dont have to link with a vendor specific library:  https://code.google.com/p/clew/
Logged
daed
Forums Newbie
*
Posts: 4


« Reply #8 on: September 18, 2013, 03:54:18 AM »

I'm having difficulty compiling this.

Code:
Building file: ../src/Render3D.cpp
Invoking: GCC C++ Compiler
g++ -DCLSUPPORT -O3 -ffast-math -Wall -c -fmessage-length=0 `pkg-config --cflags gtk+-2.0 gthread-2.0;` -MMD -MP -MF"src/Render3D.d" -MT"src/Render3D.d"   -o"src/Render3D.o" "../src/Render3D.cpp"
In file included from ../src/cl_support.hpp:18:0,
                 from ../src/Render3D.h:15,
                 from ../src/Render3D.cpp:29:
/usr/include/CL/cl.hpp: In function ‘cl_int cl::UnloadCompiler()’:
/usr/include/CL/cl.hpp:1606:12: error: ‘::clUnloadCompiler’ has not been declared
/usr/include/CL/cl.hpp: In constructor ‘cl::Image2D::Image2D(const cl::Context&, cl_mem_flags, cl::ImageFormat, size_t, size_t, size_t, void*, cl_int*)’:
/usr/include/CL/cl.hpp:2365:19: error: ‘::clCreateImage2D’ has not been declared
/usr/include/CL/cl.hpp: In constructor ‘cl::Image2DGL::Image2DGL(const cl::Context&, cl_mem_flags, GLenum, GLint, GLuint, cl_int*)’:
/usr/include/CL/cl.hpp:2410:19: error: ‘::clCreateFromGLTexture2D’ has not been declared
/usr/include/CL/cl.hpp: In constructor ‘cl::Image3D::Image3D(const cl::Context&, cl_mem_flags, cl::ImageFormat, size_t, size_t, size_t, size_t, size_t, void*, cl_int*)’:
/usr/include/CL/cl.hpp:2464:19: error: ‘::clCreateImage3D’ has not been declared
/usr/include/CL/cl.hpp: In constructor ‘cl::Image3DGL::Image3DGL(const cl::Context&, cl_mem_flags, GLenum, GLint, GLuint, cl_int*)’:
/usr/include/CL/cl.hpp:2510:19: error: ‘::clCreateFromGLTexture3D’ has not been declared
/usr/include/CL/cl.hpp: In member function ‘cl_int cl::CommandQueue::enqueueMarker(cl::Event*) const’:
/usr/include/CL/cl.hpp:3745:13: error: ‘::clEnqueueMarker’ has not been declared
/usr/include/CL/cl.hpp: In member function ‘cl_int cl::CommandQueue::enqueueWaitForEvents(const std::vector<cl::Event>&) const’:
/usr/include/CL/cl.hpp:3752:13: error: ‘::clEnqueueWaitForEvents’ has not been declared
/usr/include/CL/cl.hpp: In member function ‘cl_int cl::CommandQueue::enqueueBarrier() const’:
/usr/include/CL/cl.hpp:3867:13: error: ‘::clEnqueueBarrier’ has not been declared
../src/Render3D.cpp: In function ‘void Render(sParamRender, cImage*, GtkWidget*)’:
../src/Render3D.cpp:821:17: warning: ‘GThread* g_thread_create(GThreadFunc, gpointer, gboolean, GError**)’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead [-Wdeprecated-declarations]
../src/Render3D.cpp:821:90: warning: ‘GThread* g_thread_create(GThreadFunc, gpointer, gboolean, GError**)’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead [-Wdeprecated-declarations]
../src/Render3D.cpp: In function ‘int main(int, char**)’:
../src/Render3D.cpp:1309:3: warning: ‘void g_thread_init(gpointer)’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:259) [-Wdeprecated-declarations]
../src/Render3D.cpp:1309:21: warning: ‘void g_thread_init(gpointer)’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:259) [-Wdeprecated-declarations]
make: *** [src/Render3D.o] Error 1

 cry
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #9 on: September 18, 2013, 04:32:54 AM »

I'm having difficulty compiling this.

Try building it with -DCL_USE_DEPRECATED_OPENCL_1_1_APIS
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #10 on: September 18, 2013, 07:05:25 AM »

Looks bad!
Starting from Syntopia case. Error -4 means GPU memory allocation error. There could be two reasons of this:
- not up-to-date graphics drivers - I see that your system supports OpenCL 1.1.The program was prepared with version 1.2
- your gfx card doesn't support enough constants or private memory.
I will prepare version which will display more debugging information

quaz0r - I will look at clew

daed: on which OS you tried to compile this?

By the way I have to find some machine with Windows and nVidia. Even remote access could be enough
I supposed that there will be problems with nVidia cards because they have worse support for OpenCl. nVidia tries to promote CUDA

Logged

daed
Forums Newbie
*
Posts: 4


« Reply #11 on: September 18, 2013, 07:30:06 AM »

Hmm... well, it compiled (warnings aside, as I know that's a side effect of using that flag), but:

It crashed when I checked the "OpenCL Enable" box.

Code:
daed@daed-studio:~/downloads/mandelbulber-opencl-1.17/makefiles$ ./mandelbulber-opencl
Log file: /home/daed/.mandelbulber_log.txt
Detected 4 CPUs
Memory allocated
g_thread already initialised or not supported
Default data directory: /home/daed/.mandelbulber
Undo status: count=98, last=1891, level=1891
Default settings loaded successfully (/usr/share/mandelbulber/examples/default.fract)
ERROR: cl::Platform::get (-1)

The OS I'm compiling it on is Crunchbang Linux "Waldorf"

I have an nvidia GTX 650 ti, if it makes any difference.....
« Last Edit: September 18, 2013, 07:32:40 AM by daed » Logged
taurus
Fractal Supremo
*****
Posts: 1175



profile.php?id=1339106810 @taurus_arts_66
WWW
« Reply #12 on: September 18, 2013, 01:32:33 PM »

on my a bit aged radeon 5770 it also crashes, when activating opencl mode. the driver is up to date version 13.4 on win 7

Running from command-prompt mines the following info

Code:
Detected 6 CPUs
Memory allocated
g_thread already initialised or not supported
Default data directory: C:\Users\<user>/mandelbulber
Undo status: count=98, last=52966, level=52966
Default settings loaded successfully (c:\Program Files (x86)\Mandelbulber/exampl
es/default.fract)
OpenCL Platform number is: 1
OpenCL Platform is by: Advanced Micro Devices, Inc.
OpenCL contexts created
OpenCL Number of compute units: 10
OpenCL Max work item dimmensions: 3
OpenCL Max work group size: 256
OpenCL Max clock frequency  850 MHz
OpenCL Memory size  0 MB
OpenCL Max constant buffer size  0 kB
OpenCL Constant buffer used  1 kB
OpenCL Number of loaded sources 7
Build params: -w -I"c:\Program Files (x86)\Mandelbulber/cl"
OpenCL Build log:       "C:\Users\<user>\AppData\Local\Temp\OCL7266.tmp.cl", lin
e 292: error:
          identifier "M_PI" is undefined
                                cos(consts->params.mainLightAlfa - 0.5f * M_PI)
* cos(-consts->params.mainLightBeta),
                                                                          ^

1 error detected in the compilation of "C:\Users\<user>\AppData\Local\Temp\OCL72
66.tmp.cl".

Frontend phase failed compilation.

ERROR: Program::build() (-11)

>>edit clinfo command shows that 'puter should be opencl 1.2 ready

Code:
Number of platforms:                             1
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 1.2 AMD-APP (1124.2)
  Platform Name:                                 AMD Accelerated Parallel Proces
sing
  Platform Vendor:                               Advanced Micro Devices, Inc.
  Platform Extensions:                           cl_khr_icd cl_amd_event_callbac
k cl_amd_offline_devices cl_khr_d3d10_sharing cl_khr_d3d11_sharing
« Last Edit: September 18, 2013, 01:59:47 PM by taurus » Logged

when life offers you a lemon, get yourself some salt and tequila!
cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #13 on: September 18, 2013, 05:15:57 PM »


Ouch! nVidia cards are stuck at OpenCL feature level 1.1

How many of the 1.2 features are you actually using?
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #14 on: September 18, 2013, 06:34:44 PM »

i have an nvidia 550 running gentoo and the official nvidia drivers, mandelbulber opencl builds and runs ok for me.  seems like the binary distributions that everybody runs tend to cause headaches for people any time they try building anything from source, shrug
Logged
Pages: [1] 2 3 4   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Mandelbulber and OpenCL Mandelbulber Buddhi 12 10709 Last post November 16, 2011, 11:04:25 AM
by Loadus
Best Linux OS for Mandelbulber with OpenCL Mandelbulber tryptophan 3 5409 Last post April 01, 2012, 07:24:24 AM
by JohnVV
Unofficial Mandelbulber 1.17.2 OpenCL win64 build Mandelbulber quaz0r 9 4885 Last post March 03, 2014, 06:21:14 PM
by GinDiamond
Mandelbulber 1.18 - OpenCL Releases « 1 2 3 » Buddhi 37 16185 Last post November 16, 2013, 09:22:05 PM
by Buddhi
Mandelbulber 1.19 - OpenCL - user defined formulas management Releases « 1 2 » Buddhi 22 16589 Last post December 28, 2013, 09:48:46 AM
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.178 seconds with 26 queries. (Pretty URLs adds 0.013s, 2q)