visual.bermarte
|
|
« Reply #30 on: September 23, 2013, 09:50:57 PM » |
|
I need more time to investigate the problem but now is much better. Here there is a mini test made with OSX-mandelbulber using OpenCL
|
|
« Last Edit: September 23, 2013, 09:58:28 PM by visual.bermarte, Reason: beer! »
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #31 on: September 24, 2013, 08:08:19 PM » |
|
Today I have released Mandelbulber 1.17-2 which include some bugfixes for OpenCL engine: - fixed bug: OpenCL - include path compatible with nVidia-win32 driver requirements (no "/") - fixed bug: OpenCL - changed all M_PI to M_PI_F - there were problems with compilation kernel code on some machines - fixed bug: OpenCL - some frames of animation were incomplete - fixed bug: OpenCL - removed #pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable - fixed bug: on Arch Linux there was problem with missing system includes As always newest version is here: http://sourceforge.net/projects/mandelbulber/Please let me know if there is still something wrong
|
|
|
Logged
|
|
|
|
AshkanV
Forums Newbie
Posts: 2
|
|
« Reply #32 on: September 26, 2013, 07:22:27 PM » |
|
Hi Thanks for your fantastic program. I have problems rendering using OpenCL. Whenever I enable OpenCL and click the Render button, it crashes.
Here is terminal log: =================== Detected 8 CPUs Memory allocated g_thread already initialised or not supported Undo status: count=12, last=12, level=12 Default settings loaded successfully (/usr/share/mandelbulber/examples/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 700 MHz OpenCL Memory size 512 MB OpenCL Max constant buffer size 64 kB OpenCL Constant buffer used 1 kB OpenCL Number of loaded sources 7 OpenCL Build log: OpenCL program built done OpenCL kernel opened OpenCL workgroup size: 256 OpenCL Job size: 2560 reflectBuffer size = 2400 kB OpenCL buffers created OpenCL command queue prepared Undo information saved (index = 12) Data has been read from interface Memory for image: 14 MB Memory for image reallocated Lights placed ************ Rendering frames ************* OpenCL rendering 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 700 MHz OpenCL Memory size 512 MB OpenCL Max constant buffer size 64 kB OpenCL Constant buffer used 1 kB OpenCL Number of loaded sources 7 OpenCL Build log: OpenCL program built done OpenCL kernel opened OpenCL workgroup size: 256 OpenCL Job size: 2560 reflectBuffer size = 2400 kB OpenCL buffers created OpenCL command queue prepared ERROR: Buffer::Buffer() (-61)
Log file content: =================== 0: Log file created 0: Parameters read from console, value = 1 0: GTK initialised 0: CPUs detected, value = 8 10000: Memory allocated for preview 10000: memory for lights allocated 10000: g_thread initialised 10000: allocated memory for default parameters 10000: Data directory 10000: Settings directory 10000: Images directory 10000: Keyframes directory 10000: Paths directory 10000: Undo directory 10000: Defaults regenerated 10000: Undo buffer status loaded 20000: Default settings loaded 4110000: Memory allocated for fractal parameters 4110000: Data read from interface 4140000: complexImage allocated 4140000: rgbbuf allocated 4160000: Windows refreshed 4160000: Palette refreshed on GUI 4160000: Lights placed 4160000: ************ Rendering frames ************* 4160000: Started rendering frame, value = 0 4160000: IFS params recalculated 4160000: Formula sequence created 4160000: GUI data refreshed 4170000: Image cleared
System: =================== ATI Radeon HD 5870M - Using official AMD driver v13.8 from RPMFusion repository Using Mandelbulber 1.17 OpenCL version compiled on Linux, Fedora 19 x64 - KDE 4.10
clinfo: =================== Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 1.2 AMD-APP (1214.3) Platform Name: AMD Accelerated Parallel Processing Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Name: AMD Accelerated Parallel Processing Number of devices: 2 Device Type: CL_DEVICE_TYPE_GPU Device ID: 4098 Board name: ATI Mobility Radeon HD 5800 Series Device Topology: PCI[ B#1, D#0, F#0 ] Max compute units: 10 Max work items dimensions: 3 Max work items[0]: 256 Max work items[1]: 256 Max work items[2]: 256 Max work group size: 256 Preferred vector width char: 16 Preferred vector width short: 8 Preferred vector width int: 4 Preferred vector width long: 2 Preferred vector width float: 4 Preferred vector width double: 0 Native vector width char: 16 Native vector width short: 8 Native vector width int: 4 Native vector width long: 2 Native vector width float: 4 Native vector width double: 0 Max clock frequency: 700Mhz Address bits: 32 Max memory allocation: 134217728 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 16384 Max image 2D height: 16384 Max image 3D width: 2048 Max image 3D height: 2048 Max image 3D depth: 2048 Max samplers within kernel: 16 Max size of kernel argument: 1024 Alignment (bits) of base address: 2048 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: No Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: None Cache line size: 0 Cache size: 0 Global memory size: 536870912 Constant buffer size: 65536 Max number of constant args: 8 Local memory type: Scratchpad Local memory size: 32768 Kernel Preferred work group size multiple: 64 Error correction support: 0 Unified memory for Host and Device: 0 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: No Queue properties: Out-of-Order: No Profiling : Yes Platform ID: 0x00007fbb1e15ffc0 Name: Juniper Vendor: Advanced Micro Devices, Inc. Device OpenCL C version: OpenCL C 1.2 Driver version: 1214.3 Profile: FULL_PROFILE Version: OpenCL 1.2 AMD-APP (1214.3) Extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_amd_image2d_from_buffer_read_only
Device Type: CL_DEVICE_TYPE_CPU Device ID: 4098 Board name: Max compute units: 8 Max work items dimensions: 3 Max work items[0]: 1024 Max work items[1]: 1024 Max work items[2]: 1024 Max work group size: 1024 Preferred vector width char: 16 Preferred vector width short: 8 Preferred vector width int: 4 Preferred vector width long: 2 Preferred vector width float: 4 Preferred vector width double: 2 Native vector width char: 16 Native vector width short: 8 Native vector width int: 4 Native vector width long: 2 Native vector width float: 4 Native vector width double: 2 Max clock frequency: 1066Mhz Address bits: 64 Max memory allocation: 2147483648 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 8192 Max image 2D height: 8192 Max image 3D width: 2048 Max image 3D height: 2048 Max image 3D depth: 2048 Max samplers within kernel: 16 Max size of kernel argument: 4096 Alignment (bits) of base address: 1024 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: Yes Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: Read/Write Cache line size: 64 Cache size: 32768 Global memory size: 8354553856 Constant buffer size: 65536 Max number of constant args: 8 Local memory type: Global Local memory size: 32768 Kernel Preferred work group size multiple: 1 Error correction support: 0 Unified memory for Host and Device: 1 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: Yes Queue properties: Out-of-Order: No Profiling : Yes Platform ID: 0x00007fbb1e15ffc0 Name: Intel(R) Core(TM) i7 CPU Q 740 @ 1.73GHz Vendor: GenuineIntel Device OpenCL C version: OpenCL C 1.2 Driver version: 1214.3 (sse2) Profile: FULL_PROFILE Version: OpenCL 1.2 AMD-APP (1214.3) Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt
Any help or suggestion is appreciated. Thanks
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #33 on: September 26, 2013, 07:52:52 PM » |
|
Thanks for your fantastic program. I have problems rendering using OpenCL. Whenever I enable OpenCL and click the Render button, it crashes.
It crashed because you had to lees graphics memory available (Max memory allocation: 134217728). The program needs about 300MB of graphics memory to work with optimal OpenCL queue size (buffers for reflections take a lot).
|
|
|
Logged
|
|
|
|
AshkanV
Forums Newbie
Posts: 2
|
|
« Reply #34 on: September 28, 2013, 08:08:31 AM » |
|
It crashed because you had to lees graphics memory available (Max memory allocation: 134217728). The program needs about 300MB of graphics memory to work with optimal OpenCL queue size (buffers for reflections take a lot).
You are correct, but my device has 1024MB of dedicated memory, then why OpenCL only uses 128MB of it? Is there any way to force OpenCL to use all available memory? Update: I found this on AMD Developer forums: To use all available memory, some variables should be modified: GPU_MAX_HEAP_SIZE GPU_MAX_ALLOC_SIZE for example in a shell: export GPU_MAX_HEAP_SIZE=100 export GPU_MAX_ALLOC_SIZE=100 mandelbulber-opencl or put it in the ".bash_profile" of home directory Also if the 100 did not work, maybe 99 or some less value do the work.
|
|
« Last Edit: September 28, 2013, 08:25:01 AM by AshkanV »
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #35 on: October 02, 2013, 01:44:19 PM » |
|
Oh wow, a new version. Thanks very much Buddhi. Just one thing, and please forgive me if I'm being completely thick, but I can't seem to find the "OpenCL Enable" checkbox (although I can see the HDR one just fine). I'm running a nVidia GTX 550 ti, which I'm told has OpenCL support, but maybe it's become greyed out or something for some reason. Which tab would it be found on under normal conditions? Thanks very much in advance.
|
|
|
Logged
|
|
|
|
taurus
|
|
« Reply #36 on: October 02, 2013, 02:37:23 PM » |
|
Just one thing, and please forgive me if I'm being completely thick, but I can't seem to find the "OpenCL Enable" checkbox (although I can see the HDR one just fine).
I had the same prob in the beginning. Take a look on your program folder. There are two executables - one classic and one opencl version. You might assume, only the opencl version has the opencl tab...
|
|
|
Logged
|
when life offers you a lemon, get yourself some salt and tequila!
|
|
|
KRAFTWERK
|
|
« Reply #37 on: October 02, 2013, 03:50:23 PM » |
|
I need more time to investigate the problem but now is much better. Here there is a mini test made with OSX-mandelbulber using OpenCL Hey Bermarte Way to go!!! There might be an old friend who is very interested in that OSX version...
|
|
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #38 on: October 02, 2013, 04:17:39 PM » |
|
I had the same prob in the beginning. Take a look on your program folder. There are two executables - one classic and one opencl version. You might assume, only the opencl version has the opencl tab... Aha! Found it! Thank you very much. Unfortunately, it dumps me back to the desktop when I enable it, but I've only just this minute walked in. I'll update my drivers and stuff, and see if I can get to the root of the problem. Thanks very much for the pointer though.
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #39 on: October 02, 2013, 06:36:24 PM » |
|
Under Windows in Start menu you have two items: Mandelbulber and Mandelbulber OpenCL. Unfortunately, it dumps me back to the desktop when I enable it, but I've only just this minute walked in. I'll update my drivers and stuff, and see if I can get to the root of the problem.
When you start the program from command line you will see more information what is wrong.
|
|
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #40 on: October 02, 2013, 07:12:23 PM » |
|
When you start the program from command line you will see more information what is wrong.
Hi Buddhi, thanks for the reply. Ok, I've tried it from the command line, and it gives me several lines of stats that look pretty generic (although I'm happy to provide these if it will help), but the lines that look important are these. OpenCL Build log: Error in processing command line: Don't understand command line argument "Files\Mandelbulber\cl" "! ERROR: Program::build() (-11) (btw, these lines don't appear until I try to enable the OpenCL checkbox and the program exits, if that's any help). Anyway, any ideas you might have would be very much appreciated, but I'm still hopelessly in love with this program even without the OpenCL stuff.
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #41 on: October 02, 2013, 08:25:18 PM » |
|
Hi Buddhi, thanks for the reply. Ok, I've tried it from the command line, and it gives me several lines of stats that look pretty generic (although I'm happy to provide these if it will help), but the lines that look important are these. OpenCL Build log: Error in processing command line: Don't understand command line argument "Files\Mandelbulber\cl" "! ERROR: Program::build() (-11) (btw, these lines don't appear until I try to enable the OpenCL checkbox and the program exits, if that's any help). Anyway, any ideas you might have would be very much appreciated, but I'm still hopelessly in love with this program even without the OpenCL stuff. Which version are you trying to run? 1.17 or 1.17-2? I fought that this problem is already fixed. I added double quotes in the code to avoid such a problem. It looks like the OpenCL driver still can't load files from application folder where the folder path contains spaces (like "Program files"). What is strange this problem is only with nVidia drivers (I suppose that you have nVidia gfx card). Temporary to run the application you can move Mandelbulber program folder it to some place where there are no spaces in the path.
|
|
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #42 on: October 02, 2013, 10:25:12 PM » |
|
I've got the program updated to 1.17-2, so I don't think that's the problem, and yes, it's a nVidia 550 ti in my machine (Windows 7 32bit). Anyway, the program was in a folder with spaces (Program Files, funnily enough), so I copied the Mandelbulber folder to the root of the drive. I'm afraid it still didn't seem to work, but this time, I got a slightly different error. I'll include the more generic lines this time, just in case it helps. OpenCL Platform number is: 1 OpenCL Platform is by: NVIDIA Corporation OpenCL contexts created OpenCL Number of compute units: 4 OpenCL Max work item dimmensions: 3 OpenCL Max work group size: 1024 OpenCL Max clock frequency 1800 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 OpenCL Build log: :9:10: fatal error: 'mandelbulber_cl_data.h' file not found #include "mandelbulber_cl_data.h" ^
ERROR: Program::build() (-11) Is there any other information I can provide that might help?
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #43 on: October 03, 2013, 06:36:00 PM » |
|
Now I'm completely don't know why it can't find 'mandelbulber_cl_data.h' file. Because I don't have computer with Windows and nVidia gfx card (I have ATI), I can't reproduce this error on my computer and I need to know where OpenCL library tries to find this file. But I have some idea how to do some diagnostic of the problem. You have to do something for me. 1. Download "Process Monitor" from http://technet.microsoft.com/pl-pl/sysinternals/bb896645.aspx2. Launch Mandelbulber OpenCL 3. launch Process Monitor 4. Set filter (menu Filter/Filter...) as it is showed on attached image. (Process Name | is | mandelbulber-opencl.exe | then | Include) and click Add and OK 5. Enable OpenCL in Mandelbulber 6. Look at output in Process Monitor window and try to find some reference for 'mandelbulber_cl_data.h'. It should look like on second attached image. The most interesting for me are events where result is "NAME NOT FOUND". Please do screenshot and send me. I hope this will tell me more.
|
|
|
Logged
|
|
|
|
Syntopia
|
|
« Reply #44 on: October 03, 2013, 09:24:12 PM » |
|
The only way I could get Mandelbulber to run on my Nvidia card, was by hardcoding the path of the "mandelbulber_cl_data.h" in the OpenCL code.
I've attached the Process Monitor dump for my system. I installed Mandelbulber in "E:\Mandelbulber", and in the console the parameter -I"E:\Mandelbulb/cl" is passed to the Nvidia compiler.
|
|
|
|
|