Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Mandelbulb Implementation => Topic started by: cortexman on January 17, 2010, 12:50:12 AM




Title: Cross platform with infinite precision
Post by: cortexman on January 17, 2010, 12:50:12 AM
Hi all, I have been lurking for a while now. I think I've seen *all* of your amazing Mandelbulb renders, pics & vids included. Very impressive work you've all done. Unfortunately the only renderer that I've found which works on Linux (located here (http://frictionalgames.blogspot.com/2009/11/fractional-fun.html)) doesn't produce very impressive renders and is buggy.

I have some ideas for the software which I would use to produce a cross platform renderer. Although I am capable of writing C/C++ it makes my skin crawl, therefore I would be interested in using PyCUDA (http://mathema.tician.de/software/pycuda).

Additionally, from my reading of the Mandelbulb forums the current limitation of all renderers is that even those that support infinite precision (such as UltraFractal) are extremely slow. I have available to me a cluster with 24 nodes, each node of which has an nVidia Quadro FX 370 LP (which is CUDA capable). Additionally each node is connected using Infiniband for very low latency. Therefore if we could identify a parallel algorithm for unlimited precision, and a Mandelbulb implemenation on CUDA, we could use my cluster to produce deep renders. We can utilize the Infiniband interconnects via PyMPI (http://pympi.sourceforge.net/) or a similar technology. Even if we can't come up with an inherently parallel infinite precision algorithm, perhaps we can make a slower one faster using the cluster.

The first step to such a project is to implement a renderer via PyCUDA. Since I am new to graphics and fractal rendering in general I would like to seek some assistance in this matter. If you're willing to work together on a PyCUDA impl, or have other ideas about how we should go about this, give me a shoutout.  ;D


Title: Re: Cross platform with infinite precision
Post by: cortexman on January 17, 2010, 04:41:29 AM
I've actually had a change of heart on this. After discovering the GMP arbitrary precision arithmetic library I realized it wouldn't be that hard to implement a renderer using our own software, emergent (http://grey.colorado.edu/emergent). We have a neural network simulator with a very generic architecture (by design) that is written in C++ and optimized for speed. It even has the ability to open OpenGL canvases in new tabs. I just hadn't thought of using it as a fractal explorer until now :) It's written in C++. I think I will call it the emergent fractal explorer. Now I will refocus my efforts around an opengl renderer using gmp if possible. After that I can easily plug it into emergent using our plugin architecture.

Another nice thing: We already package it for linux, mac and windows.