mpi for internal renderer (clustering)

Blender's renderer and external renderer export

Moderators: jesterKing, stiv

Post Reply
qwequ777
Posts: 26
Joined: Sat Nov 25, 2006 6:05 pm

mpi for internal renderer (clustering)

Post by qwequ777 » Sat Nov 25, 2006 6:40 pm

I'm a completely new forum-user here and would like to know whether anyone ever thought of integrating mpi (message passing interface) into the internal renderer. After taking a look at the complex render pipeline here I thought that it would not be easy but that it is not impossible.

There was only one version of blender (2.37) where there was a mpi-patch available. The only chance to speed up your render nowadays is to render each frame separately on different computers or buy a faster CPU.

I'm not yet a programer :( but my idea is to include mpi (e.g. open-mpi, http://www.open-mpi.org) at several levels. The user/blender has to choose which level should be used, i.e:


- level 1: split the animation into several parts or single frames (depending on the number of nodes available)
- level 2: split the fields, i.e. render them simultaneously on different nodes
- level 3: split the osa-sample-renders, i.e. render them simultaneously on different nodes
- level 4: split the image on the tile-level, i.e. ......


You could even combine every level (?)
Of course, which combinations or single levels to use depend on the scene. It is completely useless to "split" a single-image-render on the first level and it is useless to split a 1000 frame long animation on the 4th level if one frame takes only one second to render because distributing the tiles would take far more time than you gain by splitting it up.

I do not know much about mpi but, as its name suggests, is "passes messages" between the different nodes via a LAN or the internet. The whole open-mpi only consists of three libraries and if you are already familiar with hundreds it would not be too difficult to take a look at another three :D


People always say that when I am asking for something it sounds like "Could you please make warm ice-cream that plays music", so if my suggestion/question/feature request is really stupid please do not hesitate to tell me *g*

Thanks for reading this awfully long post

lololol
Posts: 7
Joined: Thu Sep 28, 2006 8:27 am

Post by lololol » Tue Nov 28, 2006 3:31 am

That's a wonderful idea, but perhaps not to the average like me, with only one decent pc ,my laptop has a 4mb graphics card and cannot support blender's openGL interface, lol. And I think few people would be making movies with blender, they would rather use 3ds max, maya or lightwave
qinjuehang.deviantart.com

LetterRip
Posts: 1462
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip » Tue Nov 28, 2006 7:50 am

lololol,

you really aren't qualified to speak on the topic. There is already a company making a feature animation using almost exclusively Blender. Blender is roughly equivalent to Lightwave in terms of capabilities.

qwequ777,
I'm not yet a programer Sad but my idea is to include mpi (e.g. open-mpi, http://www.open-mpi.org) at several levels.
Well I wish you luck in becoming one if that is your ambition.

I don't see this as likely to be on someones plate in the immediate future, but you never know.

LetterRip

qwequ777
Posts: 26
Joined: Sat Nov 25, 2006 6:05 pm

Post by qwequ777 » Tue Nov 28, 2006 6:21 pm

Thanks for the replies!
I am planning to learn C and C++ but I have to pass the Matura (April/May) which is more or less the same thing as the A-Levels as far as I know. This means I have not got very much time. I would like to help integrating mpi or a similar thing into blender but I know that blender's source code is not something you can understand after two months learning C or C++ :D

Thanks anyway for taking a look at this idea - maybe someone even gets interested :)

jesterKing
Site Admin
Posts: 1848
Joined: Fri Oct 18, 2002 12:48 pm
Location: Finland

Post by jesterKing » Wed Nov 29, 2006 8:42 am

If you plan on learning programming, keep in mind that the most important thing you should learn is the concepts behind programming, and not focus too much on how one programming language provides mechanisms to solve problems. This way it will be much easier to learn other languages too (like Python, Lua, Java, etc).

I wish you luck with your aspirations :)

/Nathan

matt_e
Posts: 898
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Post by matt_e » Fri Dec 01, 2006 7:49 am

qwequ777: Have you seen this project from some students at the University of Sydney?

http://wiki.vislab.usyd.edu.au/moinwiki/BlenderMods/

I came across it the other day - don't know how up-to-date it is, but looks like the kind of thing you're talking about.

qwequ777
Posts: 26
Joined: Sat Nov 25, 2006 6:05 pm

Post by qwequ777 » Fri Dec 01, 2006 7:58 pm

yes I came across this page but their mod is for blender 2.37a and that is waaay too much behind. I checked how much of the patch-file they provide still works and it is almost nothing. As far as I know, Ton completely recoded the render-engine between versions 2.40 and 2.41 (i.e. tile-based rendering introduced, many things improved) and this means the source code looks absolutely different now.

But at least the webpage shows that it is possible and that the concept works for blender :)

thanks for the hint

lololol
Posts: 7
Joined: Thu Sep 28, 2006 8:27 am

Post by lololol » Tue Dec 12, 2006 1:11 pm

Ok, I realised that Blender has great capabilities, but LetterRip, u are a bit impolite aren't you?
qinjuehang.deviantart.com

LetterRip
Posts: 1462
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip » Tue Dec 12, 2006 8:51 pm

I wasn't trying to be impolite, just pointing out that someone who has very little apparent knowledge of a topic is not a good source of information on such subjects.

LetterRip

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests