wir haben hier auf der Arbeit einen Rechner mit 3 Grafikkarten im SLI verbund stehen und ich frage mich gerade wie man die genau benutzt..
Also, kümmert sich der Treiber darum das alles zu verwalten etc, oder muss ich in meinem Programm da was speziell für einbauen? Hab da leider überhaupt keine Erfahrung, aber auf jeden Fall mal lust mit dem Rechner rumzuspielen :p
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
Meines Wissens nach regelt der Treiber das, selbst "einschalten" muss man da in den eigenen Programmen nichts. Es gibt allerdings, wie in dem PDF gezeigt, einige Dinge die es zu beachten gilt damit man das SLI-System nicht unnötig ausbremst.
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2621 Wohnort: Berlin
Programmiersprache: Go, C/C++
Kommt drauf an. Dein Treiber kann das Rendering verteilen, das kannst im Nvidia Tool einstellen(gehe davon aus, dass es Geforce oder Quadro ist, da du von SLI sprichst), welche GPU's für rendering und Physik benutzt werden sollen. Bei OpenCL, DirectCompute musst du die Aufträge selber an die Devices verteilen. Die Leistungs skalierung von DX und OpenGL sind unterirdisch bei SLI und Crossfire ist nicht so viel schneller, während OpenCL sehr gut skaliert.
Besser ist es ne Tesla Karten zu kaufen statt 3 Geforce/Quadro Karten oder die beste Geforce. Zwar kann Tesla kein Sli aber dafür ist die auch um ein vielfaches schneller, halt für Rechencenter gedacht und gibt es in Blade und PCI-E Variante.
Ich hab ne GF590, welche 2 GPU's auf einer Karte hat, also nicht mal der blöde PCI-E Bus dazwischen und selbst da versagt SLI schon grandios. Denn Spiele haben mit der GF580 nahezu die gleiche FPS aber bei OpenCL geht mein System ab wie Schmitz Katz, da ich ein Kernel auf alle Cores von beiden GPU's verteilen kann, sofern ich genug Arbeit Produzieren kann.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Danke für eure Tipps soweit, hat mir schon mal geholfen - es hat echt gereicht im Treiber ein paar Settings zu machen damit die Framerate steigt
Hier ist das Ziel ein recht aufwändiges Szenario in Realtime dazustellen, dafür stecken in dem Rechner gerade 3x GeForce GTX TITAN Karten drin, eben als SLI.
Ich kenn mich mit der Hardware leider wenig aus, aber die Tesla Karten sind doch weniger für OpenGL/D3D ausgelegt.. oder?
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2621 Wohnort: Berlin
Programmiersprache: Go, C/C++
Tesla Karten sind für Computing gedacht aber man kann mit rendern, keine Ahnung ob die bei OpenGL auch schneller sind. Wir haben ne Teslakarte im Rechenzentrum, von Profitbricks und simulieren Physik und rendern damit in OpenGL. Oc2k1 hat den kram geschrieben, von daher weiß er da wesentlich besser bescheit als ich.
Für komplexe und große Renderings benutzen einige Tiled rendering. Dabei wird nacheinander ein Bereich der Szene gerendert und zu einem großen ganzen zusammen kopiert. Wenn wir z.B. Plakate für unsere Spiele machen mussten, dann haben wir mit Unity3D die Zielauflösung fest gelegt und die Kamera dann an ein Ausschnitt verschoben, gerendert und den Teil in den Arbeitsspeicher verschoben.
Wenn man echtzeit braucht, dann kann man auch die einzelnen Tiles auf jeweils ein Monitor aus geben und über SLI/Crossfire bzw. mehrere Rechner rendern. OpenSG unterstützt das netzwerk rendering auf mehrere Monitore wohl sehr gut.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.