Single-WS vs. Render-Nodes

cisto1999

Neuling
Thread Starter
Mitglied seit
20.12.2012
Beiträge
583
Ich würde gern einen Rat haben von Leuten, die vielleicht selbst mit Blender rendern oder generell sich gut mit dem Thema auskennen:
Ich habe in den unterschiedlichen Blender-Foren sowohl die eine oder andere Meinung gehört und bin nun etwas verunsichert:
Möchte demnächst mit Blender einige Animationsfilme rendern (je ca 5-8 min). Aufgrund der Schnelligkeit würde ich gern auf GPU-basierte Render-Engines setzen (Cycles oä).

Nun stehe vor folgender Frage:
Ist es besser mehrere Render-Nodes mit z.B. je 2 GPUs zu machen und die Nodes dann nach den Bedürfnisse einfach zu vermehren? Gibt es überhaupt die Möglichkeit in Blender von Netzwerk-basiertem GPU-rendering? (Hab keine eindeutige Auskunft, ob der Network-renderer dazu fähig ist... hab ich schon Deadline 7 gefunden - eine Render-Management-Software). Der Vorteil dieser Variante wäre meines Erachtens, dass man das ganze System den Bedürfnissen langsam und stetig anpassen kann, ohne gleich einen großen Patzen Geld investieren zu müssen (das Gleiche tirfft beim Aufrüsten zu). Zudem habe ich auch mal gehört, dass Nodes ingesamt besser skalieren als ein einziges System. Der Nachteil: Ich stell mir das Ganze sehr schwierig vor beim Einrichten und sehr Fehler-anfällig.
Die Alternative wäre für mich ein Custom-Gehäuse, in dem ich bis zu 6 GPUs (luftgekühlt) verbauen kann, mit einem Dual-Socket-MB, 2 Netzteilen usw... lauter High-End Sachen, die vergleichsweise sicher teurer kommen, als mehrere "schwächere" Nodes... zudem wäre ich auf höchstens 7 GPUs beschränkt (7 PCIe Slots).

Wäre für jeden Ratschlag und für jedes Argument Für und Wider dankbar, damit ich hier eine Entscheidung treffen kann. Danke schon mal :-)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Die Alternative wäre für mich ein Custom-Gehäuse, in dem ich bis zu 6 GPUs (luftgekühlt) verbauen kann, mit einem Dual-Socket-MB, 2 Netzteilen usw... lauter High-End Sachen, die vergleichsweise sicher teurer kommen, als mehrere "schwächere" Nodes... zudem wäre ich auf höchstens 7 GPUs beschränkt (7 PCIe Slots).

Es gibt fertige HPC GPU Server mit 8 GPU Steckplätzen, da braucht man keinen Custom Build nehmen.
 
Ist das was einmaliges oder hast du in Zukunft vor immer mal wieder so etwas zu machen?
Ist das nur Hobby oder willst du damit Geld verdienen?

Eine eigene kleine Render-Farm zu bauen ist sehr teuer und GPU Server verballern unmengen an Energie. Auch musst du dich entscheiden welche GPUs du nehmen willst.
Ggf. kannst du deine Projekte auch an eine Render-Farm schicken als alternative?
Die Frage bei nem selfbuild ist halt, ob du die Rendergeschwindigkeit brauchst oder ob das auch mal 1-2 Tag dauern kann.
Ich selbst arbeite mit Cinema4D das kann ohne Plugins leider kein GPU Render. Daher hab ich eher die Billigvariante und beziehe einfach alle Clients die ich hier habe in den Team-Render mit ein.
 
Ich mache das Hobby-mäßig. Ich habe vor, schon regelmäßig Animationsfilme zu machen, ist also kein einmaliges Projekt. Die Animationsfilme werden nicht super-detailgeträu sein, sondern eher Cartoon-mäßig sein und zwischen 5-8 min lang sein. Und ich bastle gern an Hardware herum...
Ein HPC GPU Server kostet mich wahrscheinlich (selbst nur das Rack-mount-case) mehr, als das Custom-Gehäuse und ich denke, dass ich mit 5-6 GPUs schon glücklich bin :-) Diese sollten halt luftgekühlt sein, daher mit mehr Abstand zwischen den einzelnen Karten usw...
Ob es auch 1-2 Tage dauern kann? Ja, unter Umständen schon - aber das Arbeiten damit soll halt so sein, dass es noch "Spass" macht und nicht weitere 3 Tage immer dauert, bis man ein Ergebnis sieht, das man dann vielleicht wieder verbessern muss usw... D.h. ich will halt Hardware, mit der ich selbst anständig was machen kann.
Render-Farm ist wäre wahrscheinlich die günstigste Lösung - aber da ich selbst gern mit Hardware arbeite und mir das Spass macht, möchte ich das lieber nicht aus der Hand geben :-)

In Anbetracht dessen ist für mich halt die Frage, was - speziell im Hinblick auf Blender und GPU-Rendering - "vernünftiger" ist... eine teure WS oder mehrere kleinere Render-Nodes.
 
Ein HPC GPU Server kostet mich wahrscheinlich (selbst nur das Rack-mount-case) mehr, als das Custom-Gehäuse und ich denke, dass ich mit 5-6 GPUs schon glücklich bin :-)
Du brauchst dann aber trotzdem ein passendes Mainboard in die sind meistens Custom Size, sprich Du wirst nicht darum kommen gleich den Server Barebone zu kaufen. Beispiel SuperMicro 7048GR-TR. Das Mainboard X10DRG-Q paßt nur in SuperMicro Gehäuse.

Für private Zwecke dürfte das Asus Z97-WS oder P9D-WS o.ä. eine sinnvolle Alternative sein, da kannst Du vier GPUs verbauen. Mit Abstand dazwischen wird es wohl kaum möglich sein, da so ein Mainboard nicht angeboten wird. Bei den Servern ist es ohnehin kein Problem, notfalls reißt man den Lüfter von der GPU-Karte und das Plastik herunter und baut die Karte nackt ins System ein. Der Luftstrom des Servers reicht üblicherweise aus die Karten zu kühlen. Reicht Dir eine Box nicht aus, baust Du dir halt noch eine dazu.
 
Ich hätte bei der Single-WS eher an das ASUS Z10PE-D8 WS gedacht... es gibt ja auch Riser-Kabeln... daher wäre das mit dem Abstand auch hinzubekommen (wie gesagt - man bräuchte eben ein Custon-Gehäuse, wenns mehr als 4 Karten mit Abstand sein sollten). Aber ich tendiere doch eher zu den Render-Nodes.

Kann vielleicht jemand zumindest bestätigen, dass Network-Rendering per GPU mit Blender überhaupt funktioniert? Oder braucht man dazu wieder teure Zusatzsoftware/Lizenzen???
 
Ich weiß ja nicht, wie groß deine Projekte sind, aber wenn du noch nichtmal mehr die Dokumentation lesen kannst, weiß ich nicht, wieso du ein Riesensystem (dir ist auch bewusst, dass du beim GPU-Rendern kaum CPU nutzen wirst :?) brauchst...: Doc:2.6/Manual/Render/Performance/Netrender - BlenderWiki – um deine Ergebnisse zu überprüfen reicht es wohl meist a) einzelne Frames und b) weniger Auflösung zu rendern ... Ein Bekannter hat im Zuge seiner Grafikkartenaufrüstung die Variante mit den Kabeln gemacht, ist auch ok, wenn man das alte Zeug eh hat, viel Geld würd' ich in so eine Lösung nicht investieren.
Am Sinnvollsten wäre meiner Ansicht nach ein Dual-GPU-System mit S1155-Xeon, das kostet dann ~2000€, die verbleibenden 5-8000€ kannst du dann in GPU-Instances bei Amazon und eine gute Internetverbindung stecken.
 
Ich weiß ja nicht, wie groß deine Projekte sind, aber wenn du noch nichtmal mehr die Dokumentation lesen kannst, weiß ich nicht, .

Naja... auch wenn ich Manual keine Antwort auf meine Frage gefunden habe... aber vielleicht versteh ich von all dem auch zu wenig, um die Antwort herauslesen zu können (das ist gut möglich, deshalb frage ich ja in diesem Forum, weil ich hoffe, dass da jemand ist, der sich vielleicht besser auskennt).
Praxis und Manual (Theorie) sind außerdem oft zwei paar Schuhe und zudem gibt es ja nicht nur den NetRender, sondern auch andere Network-Renderer für Blender...
Und ist mir eben nicht ganz klar, inwieweit beim GPU-Rendern nicht auch von der CPU Gebrauch gemacht wird - meines Wissens (es sei denn, ich hab die Info auf der Nvidia-Site falsch verstanden) werden nämlich bei z.B. bei IRAY sowohl CPU und GPU nutzbar gemacht.
 
Zuletzt bearbeitet:
Vorweg, ich hab keine Ahnung von Rendern über Netzwerk.
Normalerweise kann man die Skalierung von SLI und MultiGPU-System nicht miteinander vergleichen. SLI bricht ja schon bei mehr wie 2 Karten deutlich ein. Ich hoffe, ich erzähle jetzt nichts falsches..
Aber soweit ich das mal gelesen hatte, lohnt ein Multi-GPU System auch nur bis zu einer bestimmten Anzahl an Karten, da zwar alle sehr gut skalieren, aber trotzdem aufeinander warten müssen, bis alles abgearbeitet ist, um das nächste Frame oder Szene beginnen zu können. Daher profitiert man dann eher von mehreren eigenständigen Systemen mit "angenommen je ~3 GPU's" als ein System aus vll. 4 DualGPU Karten. Vielleicht unterscheiden sich hier aber auch wieder die verschiedenen Programme und profitieren bzw nutzen dies unterschiedlich. Alles ohne Gewähr

Bei so einem Projekt, würde ich mal in den speziellen Programmforen nachfragen, um möglichst viel Input und Vergleiche zu bekommen.
 
Vielen Dank soweit mal für die Rückmeldungen!
 
Zuletzt bearbeitet:
Hast Du mal durchkalkuliert wie viel Renderzeit Du in der Clowd mit Deiner Hardware-Investition kaufen könntest? Nicht dass es sich gar nicht rechnet.
Wir haben hier Render-Nodes verwendet.
Einfach weil es für 4 Beschäftigte beknackt gewesen wäre riesige hochgezüchtete WS zu kaufen, die eigentlich die ganze Zeit nur zum Editing gebraucht werden.
Dafür standen im Server-Raum dann halt 12 Barebones die gerechnet haben, über Nacht.
Bevor man gegangen ist den Auftrag in die Netzwerk-Verteil-Software, die jeden Frame nacheinander einem Render-Node zuweist, darauf wartet das der Node "fertig" meldet und dann den nächsten anstehenden Frame abschickt.

Allerdings noch zu Zeiten wo nix mit GPU-Rendering war. Deshalb bin ich da wieder überfragt.
 
Hast Du mal durchkalkuliert wie viel Renderzeit Du in der Clowd mit Deiner Hardware-Investition kaufen könntest? Nicht dass es sich gar nicht rechnet.
.

Mir geht es definitiv nicht um die "Wirtschaftlichkeit" der Variante - ich bastle gern an Hardware herum und möchte daher die Dinge bei mir selbst rendern und nicht irgendwo rendern lassen, auch wenn es vielleicht unterm Strich günstiger wäre. Worum es mir mehr geht, sind 2 Sachen:
1) Ist die Variante mit den GPU-Render Nodes in Blender praktisch gut durchführbar? Ich hab bisher keine definitive Antwort drauf finden können. Vermutungen, dass es geht, habe ich schon erhalten, aber ebenso Rückmeldungen, dass es zu erheblichen Schwierigkeiten komme, wenn man bspw. GPUs mit unterschiedlichem VRAM verwendet usw. Hier wäre ich für eine "definitive" Rückmeldung oder Dokumentation, die es irgendwo dazu gibt sehr dankbar.
2) Die zweite Frage wäre noch (falls das mit den GPU-Render-Nodes überhaupt möglich ist), ob ich bei Animationsvideos in Blender von 5-8min Länge mit einer Single-High-End WS leistungsmäßig besser dran wäre als mit mehreren Render Nodes.

In einem Blender-Forum habe ich dazu 2 gegensätzlich Antworten erhalten:

It depends what you are rendering. For previews and single frames, multiple cards in the same machine are superior. You cannot currently net-render single frames. You can have multiple machines work on them, but you do it by having them each render the same image with a different render seed, them mix them all. (500 samples at seed 0 + 500s samples at seed 1 = 1,000 samples.) You could also split an image up by tiles, but that's not really any better.

It also matters if your cards are working together or separate. Two cards working on the same render only gives you ~50-60% of the speed of the second card. For this reason, it can be better to have the cards work separately. In the case of animation, instead of having 2 cards work on the same frame and suffer a hit, it will often be better to have them work separately on 2 different frames, so each gets full power. So, maximum speed comes from an environment where you can run multiple instances of blender, with each card working on a separate frame range. That also means you can assign appropriate parts of a scene to stronger or weaker cards (such as if you had some lower VRAM cards, you could give them a renderlayer with less going on.)
Sounds like multiple nodes are the better option.

und die andere Rückmeldung:

Cycles scale well up to 3-4 cards on complex scenes and I know from Octane, Cuda scale nearly 100% up to 8 or more cards.
Cycles is not so good but the developer work on it.
One big system is much more effective than 3-4 small ones.

Natürlich wäre es das einfachste, beide Varianten einfach selbst auszuprobieren, aber leider habe ich nicht einfach mal 5 PCs einfach so rumstehen... und bevor ich eben einen Patzen Geld investiere, wollte ich mich erkundigen, mit welcher Variante für meine Bedürfnisse das Geld wohl besser angelegt wäre.
 
Wenn du an Hardware basteln willst, kauf dir einen AVR (keinen arduino) und bastel' damit (kostet etwa 1/1000 deiner jetzigen Idee, wenn du unbedingt 1000€ ausgeben willst hol' ein FPGA-Development-Kit)... PC zusammenstecken kann iwie jeder, ob du jetzt 10 Grafikkarten oder keine reinsteckst ist auch egal ;)
 
Die Rechnung ist eigentlich ganz einfach.
Egal wie viel Takt Du an Deiner WS hast (wenn es nur um CPU-Rechenleistung geht).
Kerne schlagen Takt.
Weil man das Rendern ja so schön verteilen kann.

Bei Grakas: ich bin überfragt.
 
Wenn du an Hardware basteln willst, kauf dir einen AVR (keinen arduino) und bastel' damit (kostet etwa 1/1000 deiner jetzigen Idee, wenn du unbedingt 1000€ ausgeben willst hol' ein FPGA-Development-Kit)... PC zusammenstecken kann iwie jeder, ob du jetzt 10 Grafikkarten oder keine reinsteckst ist auch egal ;)
Danke für deine stets hilfreichen Postings in diesem Thread :banana:

Die Rechnung ist eigentlich ganz einfach.
Egal wie viel Takt Du an Deiner WS hast (wenn es nur um CPU-Rechenleistung geht).
Kerne schlagen Takt.
Weil man das Rendern ja so schön verteilen kann.

Bei Grakas: ich bin überfragt.
Das ist mir bekannt - aber danke für die Bemühung und die Rückmeldungen... vielleicht findet sich ja noch jemand, der sich mit Grakas und Blender etwas näher beschäftigt hat :-)
 
Wenig hilfreich mag es sein, aber leider stell' ich mich nur sehr langsam auf irrationale Anforderungsprofile ein ;).

Ernsthaft-EDIT: Blender sollte eigentlich ja schon beim Kommandozeilenaufruf Cycles nutzen können, im schlimmsten Fall musst du dir halt dein eigenes Skript schreiben, das dann das File auf die Nodes teilt (ich geh' mal davon aus, du weißt, dass das mit den Nodes so und so framebasiert ist...); auf den Nodes brauchst du dann kaum CPU, das Hauptsystem (wo du dann auch baken darfst) kannst du ja meinetwegen mit LGA-2011 bauen (k.a. wie sehr das baken multithreaded ist); Nachteil bei Cycles ist halt, dass die Texturgrößen durch den letztendlich (außer bei den 2000€-Karten) sehr endlichen Grafikspeicher begrenzt werden.
 
Zuletzt bearbeitet:
@flxmmr: Danke jedenfalls für Deine letzte Rückmeldung, mit der ich auch was anfangen kann.
Tut mir leid, dass ich mich nicht gleich auf den Punkt geäußert habe... bin kein Profi und erst dabei, mich in die Materie einzuarbeiten.
Einfach ein "eigenes Skript" schreiben... naja - ich hab weder Informatik studiert noch einen Programmierkurs belegt... insofern ist für mich die Frage, ob es einen GPU-basierten Network-Renderer, der einigermaßen gut in Blender funktioniert nicht irrational... vielleicht habe ich auch bisher nur zu wenig recherchiert, kann auch sein. Alles andere, was du geschrieben hast, ist einleuchtend und klar.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh