by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Krzysztof Marczak
@buddhi1980
Why you think that it would be slow?
Martin
@acidhunter
a 20k x 20k image needs some minutes to get the network clients start rendering
Krzysztof Marczak
@buddhi1980
The problem is lack of memory in this case
Martin
@acidhunter
yes that is the point
sry its difficult to explain, my english sucks a bit
beacause that i ask if it would be possible to render tiles
if a settings file get uploaded to the nodes, every node is only rendering a part and uploads the image afterwards to a ftp
so every node works alone
Krzysztof Marczak
@buddhi1980
What I can change is another allocation of memory for NetRender clients. Now it allocates memory for full image. I can change this to allocate only that parts which are actually rendered by given client.
It should solve this problem.
Martin
@acidhunter
i dont know if this works
just an idea
Krzysztof Marczak
@buddhi1980
I don't like idea with tiles, because it will be difficult to balance between nodes. Some of nodes can finish rendering very fast and some after very long time. Then it will be unefficient.
Martin
@acidhunter
i dont mean to implement this in netrender
Krzysztof Marczak
@buddhi1980
If you just ask to rendering parts of image, it's only partially implemented in the code, but not finished.
Martin
@acidhunter
another example,
uploading a settings file to 100 servers, every server renders a defined part and uploads it afterwards to a ftp or something else
so it would be possible to distribute it to a cloud provider to render images with unlimited size
after all nodes are finished the tiles can merged
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