Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Apr 26, 2024 16:00

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Multi GPU support
BeitragVerfasst: Do Nov 20, 2014 23:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Hallo Leute,

Welche Möglichkeiten gibt es die Anzahl der GPUs unter Windows zu ermitteln? Bisher habe ich hier nur von Nvidia das "wglEnumGpusNV" gefunden. Aber keine Ahnung wann man das aufrufen soll usw.... Außerdem ist es ja nvidia spezifisch, fehlt also noch AMD.

Danke :)

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Fr Nov 21, 2014 09:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Afaik gibts dazu (bisher) nichts hersteller-übergreifends. Bei AMD müsste man dann halt wglGetGPUIDsAMD nutzen, also vorher schauen welche Extension da ist und dann die NV oder AMD-Funktionen nutzen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Fr Nov 21, 2014 12:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Alles klar, haben die auch sowas wie AffinityDC ?

[edit]
gerade noch einmal ein bissl gegoogelt ... anscheinend ist der multi GPU support unter OpenGL fürn A****. Mehr muss man dazu wohl nicht sagen oder?

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Sa Nov 22, 2014 11:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Warum sollte das die Aufgabe von OpenGL sein? OpenGL ist eine hardwareunabhängige API. Die Verteilung der Rechenleistung auf die verschiedenen GPUs ist Aufgabe des Hardwareherstellers bzw. des Hardwaretreibers. Wenn du deine Grafikkarte speziell für Berechnungen nutzen willst, ist OpenCL oder CUDA die bessere Lösung.

_________________
Wenn Gauß heute lebte, wäre er ein Hacker.
Peter Sarnak, Professor an der Princeton University


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Sa Nov 22, 2014 16:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
dj3hut1 hat geschrieben:
Warum sollte das die Aufgabe von OpenGL sein? OpenGL ist eine hardwareunabhängige API. Die Verteilung der Rechenleistung auf die verschiedenen GPUs ist Aufgabe des Hardwareherstellers bzw. des Hardwaretreibers. Wenn du deine Grafikkarte speziell für Berechnungen nutzen willst, ist OpenCL oder CUDA die bessere Lösung.




Nein da hast du was falsch verstanden. Es geht nicht darum GPGPU auf einer Grafikkarte zu machen und zeichnen auf der anderen, sondern darum auf beiden Grafikkarten unterschiedliche Dinge zu zeichnen. Also zum Beispiel eine Grafikkarte zeichnet den aktuellen Frame und die andere den nächsten Frame. Und genau hier ist OpenGL der limitierende Faktor, denn es arbeitet mit dem Display und nicht mit der Grafikkarte. Sprich, selbst wenn du die jeweiligen Extensions der Hersteller benutzt arbeitet OpenGL immer noch mit nur einen Display statt 2 Grafikkarten und bremst so alles aus.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Sa Nov 22, 2014 18:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 588
Programmiersprache: C++
yunharla hat geschrieben:
Also zum Beispiel eine Grafikkarte zeichnet den aktuellen Frame und die andere den nächsten Frame.
Das nennt sich Alternate Frame Rendering und darum kümmern sich bereits die Grafiktreiber von AMD und Nvidia, sofern du Crossfire/SLI eingeschaltet hast. Von Anwendungsseite aus muss dazu nix implementiert werden.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Mo Nov 24, 2014 19:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
@yunharla In dem Fall könnte man vielleicht einen zweiten OpenGL-Kontext (Offscreen) erstellen und hoffen, dass die zweite GPU diesen verarbeitet. Bestimmte Objekte wie Texturen oder Bufferobjekte können zwischen Kontexten geteilt werden. (siehe auch und hier)

_________________
Wenn Gauß heute lebte, wäre er ein Hacker.
Peter Sarnak, Professor an der Princeton University


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multi GPU support
BeitragVerfasst: Mo Nov 24, 2014 22:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Ja darüber hatte ich auch schon nachgedacht. Das Problem ist aber wie gesagt das OpenGL über den Display geht. Sprich du bräuchtest erst einmal sowas wie einen virtuellen Screen der die zweite Grafikkarte als primären Device nimmt. Mit GLX soll das wohl irgendwie gehen aber unter Window habe ich keinen ähnlichen Workaround gefunden. In den meisten Fällen könnte man halt, wie glAwesome vorschlägt, Techniken verwenden die Retained Mode mehr oder weniger vorraussetzen. Diese funktionieren bereits sehr gut mit mehreren Grafikkarten. Aber genau hier liegt der Hase begraben, denn ich halte Retained Mode Rendering für einen grundsätzlich falschen Ansatz. Es sei denn man will Videospiele machen :)

Es gibt aber Grund zur Hoffnung, soweit ich das jetzt gesehen habe will MS diese Limitierung rausschmeißen. Es wäre also gut möglich das OpenGL von dieser Entwicklung auch profitieren kann.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 114 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.112s | 17 Queries | GZIP : On ]