by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Martin
@acidhunter
output could be something like this
Sebastian Jennen
@zebastian
@buddhi1980 please see latest commit. this may interfere with your code changes. watchout for merge conflicts! buddhi1980/mandelbulber2@2fb9571
Krzysztof Marczak
@buddhi1980
Thanks for your commit. It's good idea to test fractal formulas. Now I'm merging changes.
Krzysztof Marczak
@buddhi1980
I can take some time, because I have to solve problem with mandelbulber_cl_data.h inclusion
Krzysztof Marczak
@buddhi1980
I have merged all code. You can continue. But before please read comments added on GitHub in latest commit.
Martin
@acidhunter
hello there
is opencl included by default when building from git?
i can do some tests on archlinux and docker
Krzysztof Marczak
@buddhi1980
in mandelbulber2/qmake directory there is mandelbulber-opencl.pro. This will create makefile for opencl version. When you start Mandelbulber go to preferences and enable OpenCl on GPU tab.
Sebastian Jennen
@zebastian
i am having a problem with fractal.hpp, the enums are nested inside structs, like:
// basic combo
struct sFractalCombo
{
    enum combo
    {
        mode0,
        mode1,
        mode2,
        mode3,
        mode4,
        mode5,
        mode6,
        mode7,
    };
    combo modeA;
    //        combo modeB;
    //        combo modeC;
};
Krzysztof Marczak
@buddhi1980
doesn't work in pure C?
Sebastian Jennen
@zebastian
this does not work inside opencl:
/usr/share/mandelbulber2/opencl/../opencl/fractal_cl.h:278:2: error: type name does not allow storage class to be specified
typedef enum {
my first idea was to simply unloop this and put enums before the including struct, but we have got collisions with each other and the global namespace: acos
Krzysztof Marczak
@buddhi1980
It can be done if you convert them to correct names like: enumFractalComboCombo and items cound be: FractalComboComboMode0, FractalComboComboMode1...
another example: enumFractalMagTransformsMulti_orderOfTransf, and items like enumFractalMagTransformsMulti_orderOfTransfTypeT1, enumFractalMagTransformsMulti_orderOfTransfTypeT2 ...
they are long but will be no collissions
Sebastian Jennen
@zebastian
i see, thats problably the right way in the first place, and decouples the formula specific struct from the general enum types which are used cross formula
Krzysztof Marczak
@buddhi1980
I think we have no other choice
Sebastian Jennen
@zebastian
puh, got it
that was a lot of find and replace, if we want to change the names again, this should now be easier
Krzysztof Marczak
@buddhi1980
@zebastan, I have changed names of all enums to start with enum..., but now your script cannot rename items in emums body, so we have duplicate names. I have corrected all enums manually, but would be good to correct php script (if it is possible).
Martin
@acidhunter
@buddhi1980 it works on archlinux ;-)
really fast^^
Krzysztof Marczak
@buddhi1980
I'm starting to standardize interfaces (parameters) for fractal formula functions. Please do not commit any changes to the code for next several hours. I will let you know when I finish
Krzysztof Marczak
@buddhi1980
All changes done. Now all formulas use 4D algebra and functions have the same parameter set. @zebastian, now you can continue your work
Sebastian Jennen
@zebastian
really good! this will make opencl development way easier
Sebastian Jennen
@zebastian
I just rechecked all cl formula files currently available, all working fine: https://github.com/buddhi1980/mandelbulber2/tree/master/mandelbulber2/formula/opencl
Sebastian Jennen
@zebastian
packet testrender.png

just did a test with packet: https://app.packet.net/portal
They offer 96cores of AMDv8 machines for 0.50$ / hour, was quite easy to setup an ubuntu, prepare for development.
compilation took less than a minute! --> make -j 93
rendering performance is quite descent but not comparable to intel CPU

In the image:
upper part: running of mandelbulber in cli mode for the flight animation
lower part: the output of htop (not showing all cores, since screen too small)

Krzysztof Marczak
@buddhi1980
Nice!
Sebastian Jennen
@zebastian
menger smooth 001.jpg
some of the mengers give really nice images, even with the limited opencl engine
Krzysztof Marczak
@buddhi1980
What you think to release alpha version of the program in currect state of implementation of opencl? Initial feedback from users will give us input to correct core functions.
To do this release we need to integrate UI functions from perefences dialog and figure out how to compile the program with mingw.
Sebastian Jennen
@zebastian
sure, we just need to make it clear, that this is a alpha version
BTW: can i do the refactor of the cpp code right now? there are a lot of header comments missing and some code indentation stuff.
Krzysztof Marczak
@buddhi1980
ok, you can do this now
@zebastian , can you take care about UI elements for GPU in preferences dialog? I will work with cross-compilation
I will also add missing DE calculation for pseudo-kleinian formulas
Sebastian Jennen
@zebastian
done with refactoring, all back in shape.
I will look into UI changes...
Krzysztof Marczak
@buddhi1980
wingw64 cross-build works! I have used CLEW for dynamic loading of opencl.lib. It is actually limited to OpenCl 1.1 functionality but we don't use any functions from OpenCl 1.2
Krzysztof Marczak
@buddhi1980
@mancoast , I hope msvc build is not broken because of clew. But I recommend to use clew, to not have problems with loading opencl.dll from different vendors.
Krzysztof Marczak
@buddhi1980
now we need to find way how to exclude clew.cpp from build under linux and osx. Something is needed in qmake/common.pri file
Bernardo Martelli
@bermarte
Hi there, is it a problem to upload cl.hpp inside the src/ folder? the way to include this file in OSX is different, on OSX one needs to download the file separately.
Krzysztof Marczak
@buddhi1980
I will check this on Thursday. Now I'm in the travel.
Sebastian Jennen
@zebastian
hey krzysztof, would you mind if i run the cleanup scripts for the code base now?
Krzysztof Marczak
@buddhi1980
You can do this. Now I don't have any pending edits
Sebastian Jennen
@zebastian
alright just pushed :)
will be leaving tomorrow for vacation, see you soon guys!