GPU : a Global Processing Unit

General questions about Indigo, the scene format, rendering etc...
aslocum
Posts: 24
Joined: Tue Aug 05, 2008 9:36 pm
Location: Germany, Luebeck

Post by aslocum » Sun Aug 10, 2008 3:10 am

well we made some tests and its working so far.. one little problem and maybe a request for indigo: the frame size to be uploaded is sometimes very big. almost every render is >50mb. can we have some sort of delta compression for the upload? so that just the differencies will be uploaded to the master?

User avatar
CTZn
Posts: 7240
Joined: Thu Nov 16, 2006 4:34 pm
Location: Paris, France

Post by CTZn » Sun Aug 10, 2008 4:11 am

I can confirm thats working, I for one never thought I'd have an occasion to participate in a network rendering session ! Many thanks to Thexa and GPU developers !

Ok I'm massively editing this post because most of it was incorrect.

clients are limited to 20mn, set frame_upload_period to something that will allow the client to warm up, render, save frame buffer and upload it to server ! By the way this is limiting in practice the resolution a job can handle. With a 3k image fb was 187MB, 90mn transfer from me to master.

jobs can be queued, so after the clients where killed by time limit, they can be called in again by the next job. There is no limit to the number of clients able to connect to the master, unlike I posted b4 !

Ok that's pretty much it for now, just try and ask :)

edit: I think this formula can be nice for helping WIPs and so on, we can decide for apointements for massive rendering sessions, or people can shake hands in Indigo's shoutbox etc. I think it's great !

@aslocum: write a request for this if that wasn't done already !?
obsolete asset

User avatar
Thexa4
Posts: 7
Joined: Thu Aug 07, 2008 12:00 pm
Contact:

Post by Thexa4 » Sun Aug 10, 2008 6:46 pm

We did a few tests with the plugin, and concluded that bandwidth is the main problem.
If you have a client with a very slow internet upload speed, it will freeze the uploading of frames for a period.
A minimum speed of 64kb/s upload speed is recommended.

The plugin is not yet stable, and is meant as a prototype.

User avatar
CTZn
Posts: 7240
Joined: Thu Nov 16, 2006 4:34 pm
Location: Paris, France

Post by CTZn » Mon Aug 11, 2008 3:40 am

If you have a client with a very slow internet upload speed, it will freeze the uploading of frames for a period.
This is also because Indigo master can receive only one frame at a time, each client must wait for the previous to finish it's frame upload (althought it continues rendering meanwhile).

Thus the benefits are delayed but still they exist.

If indigo could receive simultaneous frames, main image updates with clients frames would be more frequent.
obsolete asset

Lord of the Rings Junkie
Posts: 222
Joined: Fri Feb 23, 2007 4:38 pm

Post by Lord of the Rings Junkie » Thu Aug 14, 2008 3:33 am

Ok, I have gotta know from the people who are trying this: Just how fast is it? :P

User avatar
CTZn
Posts: 7240
Joined: Thu Nov 16, 2006 4:34 pm
Location: Paris, France

Post by CTZn » Thu Aug 14, 2008 10:47 am

AFAIK Thexa4 is in vacations now :)

Once they have downloaded the scene from the master, slaves don't stop computing, even when they are sending their frame buffer; in that regard I'd tend to say: "as fast as LAN rendering". But, frame buffers transfer from slaves is delayed, obviously by bandwidth/queue order.

-> computatuonally the same, but updates are delayed by transfer times. I don't see this as being very important as sooner or later all samples computed will be sent. BUT, as mentioned earlier, the master can not receive two frame buffers at a time (what I called queue order), so if there are various slow uploaders last update would be delayed by the sum of all transfer times, wich can be... noticeable at the end.

Thus, it is important to know one's uploading speed, so upload times can be set accordingly, not to have to much frame buffers pending and lost when render is killed, that would be a waste.

Sorry I should have done shorter as I'm repeating myself a bit :? :D
obsolete asset

Sukrim
Posts: 66
Joined: Wed Jan 09, 2008 6:47 am

Post by Sukrim » Sun Aug 24, 2008 10:49 am

I'd rather have a BOINC-Project/Client... ;-)

Well... Could some of the mentioned steps be automated somehow? I once took a small look at GPU but thought it would be more of a piece of art/individualism/proof of concept than actual useful software (only 10-15 Nodes online...), maybe that has changed over time.

Indigo doesn't need to be a master or something, just let the "slaves" render independently away and take the igi-outputs and recombine them back to an image - no master needed, only weighted averages of values.

I fear Deltas won't help much, since with noisy renders nearly every pixel would change a bit over time, however if the render gets better this could help - but since a few people would render on the same image, it won't help much to have a clear image on your computer, since this would surely be overkill + a waste of cycles - distributed rendering in indigo is about many "bad" (noisy) pictures calculated into one good one! :)

So how could (should?) this work:
- "Master" creates a scene and sets a desired spp value in GPU (NOT in indigo!)
- "Master" packs a scene and somehow announces it in GPU
- "Slaves" download the file (maybe via BitTorrent or something, to reduce upload limitations on the master) and start their indigo-rendering (e.g. for 20 minutes)
- "Slaves" end indigo after 20 minutes, take the resulting igi, report the spp-values back to the master and send the igi (independently of indigo, maybe with some checksums or something for better integrity)
- "Master" receives the igis + the spp values and checks if the wanted spp values are already reached
- if yes, he tells the clients that they can delete their packed scenen, if no one or more slaves get another 20 minutes to render (the master now knows ~how many spp to expect from the slaves in those 20 minutes)
- "Master" combines the various igis to the final image.

Done.

User avatar
PureSpider
Posts: 1459
Joined: Tue Apr 08, 2008 9:37 am
Location: Karlsruhe, BW, Germany
Contact:

Post by PureSpider » Sun Aug 24, 2008 1:32 pm

Sukrim wrote:So how could (should?) this work:
- "Master" creates a scene and sets a desired spp value in GPU (NOT in indigo!)
- "Master" packs a scene and somehow announces it in GPU
- "Slaves" download the file (maybe via BitTorrent or something, to reduce upload limitations on the master) and start their indigo-rendering (e.g. for 20 minutes)
- "Slaves" end indigo after 20 minutes, take the resulting igi, report the spp-values back to the master and send the igi (independently of indigo, maybe with some checksums or something for better integrity)
- "Master" receives the igis + the spp values and checks if the wanted spp values are already reached
- if yes, he tells the clients that they can delete their packed scenen, if no one or more slaves get another 20 minutes to render (the master now knows ~how many spp to expect from the slaves in those 20 minutes)
- "Master" combines the various igis to the final image.
+1!

User avatar
Thexa4
Posts: 7
Joined: Thu Aug 07, 2008 12:00 pm
Contact:

Post by Thexa4 » Sun Aug 24, 2008 8:04 pm

I could make a system like that, but it is already built into Indigo itself.
You can set a desired ssp setting in the Indigo master, and all the clients will stop calculating once that value is reached.

This is how it now works:
- "Master" creates a scene and sets a desired ssp value in Indigo.
- "Master" packs a scene.
- "Master" announces it through GPU
- "Slaves" download the packed file and start rendering it through indigo.
- "Master" receives all the frame buffers and combines it to a picture
- "Slaves stop rendering after 20 minutes, so the "Master" reannounces his scene every 20 minutes.

I could make a small program that makes the first three steps easyer, but I don't see the point in making my own distribution system.

User avatar
PureSpider
Posts: 1459
Joined: Tue Apr 08, 2008 9:37 am
Location: Karlsruhe, BW, Germany
Contact:

Post by PureSpider » Mon Aug 25, 2008 12:30 am

A programm that allows us to just open the igs, make indigo then pack all the files via CLI and announce it would be cool, indeed!

Post Reply
25 posts

Who is online

Users browsing this forum: No registered users and 62 guests