PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mandelbrot


Gast
2007-02-01, 22:13:26
Hab zwar schon in nem anderen Thread mal nachgefragt, aber hier nochmal einen mit der richtigen ünerschrift:
Hallo erstmal ;-)
also ich muss fürs Studium die Mandelbrotmenge auf der GPU berechnen. Leider habe ich nicht so die Cg bzw. OpenGL kenntnisse.

Ich würde am liebsten einen kleinen simplen Code haben, an dem ich dann etwas rumspielen (lernen) kann. Das beste wäre für mich ein Visual Studio Project File. Das wäre halt am einfachsten, habe schon vergeblich versucht viele verschiedene Codes zu kompilieren usw, deswegen das Project File.

Es sollte wirklich ein kleines überschaubarer Code sein, ohne Zomm usw...

Wäre wirklich für jede Hilfe äußerst dankbar!!!

Gruß

pajofego
2007-02-01, 22:29:00
http://www.gpgpu.org

Unter devolper gucken!

Gruß

pajofego

Gast
2007-02-01, 22:38:17
ja längst getan und nun?

pajofego
2007-02-01, 22:47:41
ja längst getan und nun?

Du studierst? Da darf man wohl erwarten, dass du die dortigen Beispiele studierst und durch eigene Tranfareleistung auf die Lösung deines o.g. Problems kommst, oder nicht?:rolleyes:

Gast
2007-02-01, 23:01:04
Schaust du hier:

http://sourceforge.net/search/?type_of_search=soft&words=FFFF

Läßt sich auch mit Visual Studio compilieren !

Gast
2007-02-01, 23:08:23
ist auch bekannt danke, aber viel zu komplex.
habe dies hier kompiliert bekommen.http://www-cc.gakushuin.ac.jp/~xyazawa/mandelbrot/open_gl/index.html
aber wird das wirklich auf der gpu gerechnet?

Gast
2007-02-02, 00:02:54
nein, wird es nicht.
seh ich das richtig, dass du im prinzip keine ahnung von garnichts hast, dich aber gerne mit fremden federn schmücken würdest?

Gast
2007-02-02, 00:52:24
ist auch bekannt danke, aber viel zu komplex.
habe dies hier kompiliert bekommen.http://www-cc.gakushuin.ac.jp/~xyazawa/mandelbrot/open_gl/index.html
aber wird das wirklich auf der gpu gerechnet?

Also wenn Dir eine paar komplexe Multiplikationen und Additionen auf der
GPU zu komplex sind, dann wird das schwierig mit Mandelbrot ;-)

Aber mal im Ernst: Wenn du ein einigermaßen aktuelles Visual Studio
hast helfen vielleicht Beispiele aus dem Microsoft DirektX SDK weiter.

Da sind dann auch ein assembler/compiler für Vertex- und Pixelshaderprogramme dabei. Was soll's denn sein ? Shader Model 2.0 oder 3.0 oder egal ?

Seit kurzem gibt es z.B. von Nvidia für 8800 Hardware einen
C-Compiler, der Code erzeugt, der auf der GPU läuft.
Für die "ganz Faulen" wäre das doch die einfachste Lösung, oder ?

ScottManDeath
2007-02-02, 03:36:57
Naja, CUDA ist so trivial nicht, man muss, um optimale Performance zu erhalten, den Code schon auf das datenparallele Programmiermodell umstellen und sich an die doch recht komplexe Speicherhierarchie gewöhnen. Mandelbrot sollte aber einfach sein zu implementieren, das es keinen Speicher braucht, außer zum Ergebnisse bunkern. Mhmm, mal sehen, vieleicht komm ich demnächst dazu es mal auszuprobieren.

Davon abgesehen gibts CUDA zur Zeit nur mit Maulkorb :(

Ganon
2007-02-02, 08:11:44
Kommt man mit Mandelbrot @ GPU überhaupt weit? Sind doch afaik nur 32bit Datentypen. Sooooooooooo weit kommt man da ja nicht ;)

Interessant wäre mal ein Mandelbrot@GMP mit quasi unendlichen Datentypen. ;)

Gast
2007-02-02, 10:47:58
Kommt man mit Mandelbrot @ GPU überhaupt weit? Sind doch afaik nur 32bit Datentypen. Sooooooooooo weit kommt man da ja nicht ;)

Interessant wäre mal ein Mandelbrot@GMP mit quasi unendlichen Datentypen. ;)

In der Werbung liest man immer was von 128 Bit, aber damit ist ja dann wohl 4*32 gemeint. Aber wie auch immer. Jede beliebig genaue Iteration
muß ja irgendwie die benötigte Genauigkeit auf die Hardware-Wortbreite umsetzen. Ob die HW-Wortbreite nun 128, 64 oder 32 Bit sind ist ja egal.

Solange man z.B. 64 Einheiten hat, die alle gleichzeitig arbeiten !
Insofern stimme ich Ganon voll zu: Mandelbrot mit beliebiger bzw. sehr hoher Genauigkeit (>= 256 Bit) auf der GPU, das wär mal eine Herausforderung !

gentoo
2007-02-02, 16:53:19
guckst du bei den samples (http://ati.amd.com/developer/radeonSDK.html)

lg,
class Foo: pass ( von FremdRechner );)

Gast
2007-02-03, 16:16:57
Ich hab 2 Shader Programme (*.frag u. *.vert).
ich hab von einem shadermanegr gehört. wie kann ich diese shader öffnen? gibts da fertigen code? also einen fretigen shadermanager meine ich.

class Foo: pass
2007-02-03, 16:29:59
Hi,

im ATI SDK (Framework) siehst du eh wie man shader compiliert und "linked".
Falls du ein Programm zum shader programmieren + testen haben willst kann ich dir nur den ATI RenderMonkey (http://ati.amd.com/developer/rendermonkey/index.html) empfehlen.
Ein auch sehr gutes tool ist der OpenGL Shader Designer (http://85.152.40.5/index.php?option=com_content&task=view&id=20&Itemid=26).

lg,
Stefan

Gast
2007-02-04, 02:37:59
Vielen Dank.
Ich hab den OpenGL Shader Designer mal getest, die beiden dateien habe ich auch fehlerfrei compiliert bzw das project, nur sehen konnte ich leider nichts.
ich hab die beiden mandelbrot shaderprogramme von hier genommen (orange book):
http://developer.3dlabs.com/downloads/glsldemo/

dank!

Gast
2007-02-04, 02:52:21
Nachtrag: sind eigentlich ziemlich bekannte beispiele. der ati renderer sagt zB :
RENDERING ERROR(s):
Missing shader constant parameter named 'DiffuseContribution' in pass 'Pass 0'
Missing shader constant parameter named 'InnerColor' in pass 'Pass 0'
Missing shader constant parameter named 'LightPosition' in pass 'Pass 0'
Missing shader constant parameter named 'MaxIterations' in pass 'Pass 0'
Missing shader constant parameter named 'OuterColor1' in pass 'Pass 0'
Missing shader constant parameter named 'OuterColor2' in pass 'Pass 0'
Missing shader constant parameter named 'Shininess' in pass 'Pass 0'
Missing shader constant parameter named 'SpecularContribution' in pass 'Pass 0'
Missing shader constant parameter named 'Xcenter' in pass 'Pass 0'
Missing shader constant parameter named 'Ycenter' in pass 'Pass 0'
Missing shader constant parameter named 'Zoom' in pass 'Pass 0'

hmmm...ne idee?

Nasenbaer
2007-02-04, 11:54:28
Ihr glaubt gar nicht wie weit man kommen kann ohne eine einzige Prüfung zu bestehen. Erst ab dem 6. Semester wird man bei uns zwangsexmatrikuliert. :D

BTW: Sind zur Zeit nicht Semesterferien? Dann kauf die ein ordentliches Buch wie "OpenGL Programming Guide" und arbeite das durch. Wenn du es verstehst, dann kannst du dir diese Fragen alle selbst beantworten.
Es bringt nix irgendwelche Shaderprogramme zu erstellen, wenn du nicht mal einfachsten OpenGL Code verstehst. Oder die Nehe-Tutorials: http://nehe.gamedev.net


OpenGL Programming Guide

ISBN-10: 0321335732
ISBN-13: 978-0321335739