Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Rund um die Programmierung ::  OpenCL  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Vernunftmensch
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.06.2012
Beiträge: 25
Beitrag Vernunftmensch Mitglied 20:46:03 18.06.2012   Titel:              Zitieren

zu 1: http://www.occultusactus. ....... Konvertierungsproblem.jpg

zu 2:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Cut off sphere.
void euclidianpointcloud::unmarksphere (cadcam::mwTPoint3d<double> msphere, double r)
{
    int x,y,z; //Arraypoint.
    cadcam::mwTPoint3d<double> realpoint;//Real point.
 
    //What to calculate?
    cadcam::mwTPoint3d<double> c;
    cadcam::mwTPoint3d<double> m_gew;//Rel. point cloud vector;
    cadcam::mwTPoint3d<double> m_gew2;//Rel. point cloud vector;
    m_gew=msphere-ref;
    m_gew=m_gew/grid_delta;
    double r_gew=r/grid_delta;
    m_gew2=m_gew+r_gew*einsvektor+einsvektor;
    if (m_gew2.x()>nx) m_gew2.x(nx);
    if (m_gew2.y()>ny) m_gew2.y(ny);
    if (m_gew2.z()>nz) m_gew2.z(nz);
   
    x=(int) (m_gew.x()-r_gew-1);
    if (x<0)
    x=0;
    while (x<m_gew2.x())
    {
        y=(int) (m_gew.y()-r_gew-1);
        if (y<0)
        y=0;
        while (y<m_gew2.y())
        {
            z=(int) (m_gew.z()-r_gew-1);
            if (z<0)
            z=0;
            while (z<m_gew2.z())
            {
                //Calculate actuall rel. cloude-vector.
                c.x(x);c.y(y);c.z(z);
 
                //All points are c to check.
                realpoint=ref+c*grid_delta;
                if (~(realpoint-msphere)<=r)
                mark (realpoint);
 
                z++;
            };
            y++;
        };
        x++;
    };
};

_________________
Wer den C64er nicht ehrt, der ist des x64ers nicht wert.
rapso
Moderator

Benutzerprofil
Anmeldungsdatum: 17.06.2002
Beiträge: 7727
Beitrag rapso Moderator 17:01:56 20.06.2012   Titel:              Zitieren

dot schrieb:
Dravere schrieb:
Eine gute Desktopgraphikkarte kann sogar bis zu 512 und mehr Threads physisch parallel verarbeiten.

Seit die GTX 680 heraußen ist, stehen wir bei 1536 Threads ;)

halbes jahr vorher waren es noch 2048 als die 7970 rauskam.

wobei die GPUs mehr 'threads' verarbeiten als das, das sind nur die ausfuehrungseinheiten fuer arithmetische berechnungen, die thread zahl die active ist, ist glaube ich 8192 bei GK104

dot schrieb:

Abgesehen davon, hat die 680 leider einige Issues, die sie für Compute Anwendungen unter Umständen nicht ganz so attraktiv machen. Aber die demnächst kommenden Kepler Karten, werden da gewaltig Abhilfe schaffen
welche issues? meinst nicht die schlechten luxmark werte wegen fehlender treiber optimierung? was gab es denn da noch was mit neuer hardware gefixt wird?

Zeus schrieb:
*hust* 2013 soll doch schon Maxwell kommen, die sollen laut Nvidia acht mal effizienter werden.

das war aber gegenueber fermi, oder? wuerde in die reihe passen, kepler ist laut NVidia paper ca 2x-3x effizienter

Zitat:
2. Gibt es ein Tool, das die Auslastung aller GPUs anzeigen kann?

es gibt z.B. NSight von nvidia, das kann dir sehr genau sagen zu welchem anteil du welche einheiten deiner GPU ausnutzt, zudem werden dir die limitierenden stellen angezeigt und es gibt sogar tipps, wie du noch effizienter die GPU auslasten koenntest.

_________________
Kilo Byte=1000,Kilobyte=1024 ANSI/IEEE Standard 1084-1986
-Mod im Spiele-/Grafikprogrammierung| rapsoo@hotmail.com | #dionysos irc.quakenet.org | amazon stole my PS3 :(
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2847
Beitrag Zeus Mitglied 18:02:51 20.06.2012   Titel:              Zitieren

rapso schrieb:

Zeus schrieb:
*hust* 2013 soll doch schon Maxwell kommen, die sollen laut Nvidia acht mal effizienter werden.

das war aber gegenueber fermi, oder? wuerde in die reihe passen, kepler ist laut NVidia paper ca 2x-3x effizienter

Mein Fehler in der Tat gegenüber Fermi.
Vernunftmensch
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.06.2012
Beiträge: 25
Beitrag Vernunftmensch Mitglied 18:16:33 20.06.2012   Titel:              Zitieren

Hat jemand hier schon ein größeres Projekt in OpenCl fertiggemacht?

_________________
Wer den C64er nicht ehrt, der ist des x64ers nicht wert.
Dravere
Moderator

Benutzerprofil
Anmeldungsdatum: 13.06.2005
Beiträge: 8178
Beitrag Dravere Moderator 19:05:50 20.06.2012   Titel:              Zitieren

Vernunftmensch schrieb:
Hat jemand hier schon ein größeres Projekt in OpenCl fertiggemacht?

Kommt darauf an, was du als grösseres Projekt bezeichnest. Ein wesentlicher Teil meiner Bachelorarbeit war/ist OpenCL. Ob ich bestehe, kommt allerdings erst noch raus *an den Fingernägeln kaut* :D

Die Arbeit ist zwar fertig, aber das Projekt wohl noch länger nicht. Gibt noch viel zu tun und aktuell bremsen auch die OpenCL Treiber von Nvidia. Zumindest scheint es an denen zu liegen. Die GTX 560 Ti will einfach keinerlei Befehle parallel ausführen, heisst z.B. parallel Daten hoch-,runterladen und Kernel ausführen. Habe auch von anderen Entwicklern mit dem gleichem Problem gehört. Wird wohl einfach von den Nvidia Treibern (unter Linux) nicht unterstützt. Bewusst oder unbewusst... Eine Stellungsnahme von Nvidia dazu gibt es jedenfalls nicht, bzw. ich konnte bisher dazu nichts finden.

Grüssli

_________________
Danke für die Hilfe, Antwort oder Meinung!
C++: Std-Lib Referenz
C# .Net: MSDN kennt die Antwort
So siehts aus
Unregistrierter




Beitrag So siehts aus Unregistrierter 10:53:59 21.06.2012   Titel:              Zitieren

Kann man OpenCL und OpenGL eigentlich gleichzeitig benutzen?

Also die GPU sowohl für Computing Sachen als auch für die 3d Darstellung zur selben Zeit nutzen oder braucht man dafür zwei GPUs?


Und falls das gleichzeitig geht, kann man die Arbeit manuell aufteilen?
Wenn eine GPU z.B. 100 Threads schafft, kann ich dann sagen, 60 Threads für die Grafik und 40 für das Computing?
dot
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5618
Beitrag dot Mitglied 10:59:08 21.06.2012   Titel:              Zitieren

So siehts aus schrieb:
Kann man OpenCL und OpenGL eigentlich gleichzeitig benutzen?

Ja, also gemeinsam im selben Programm. OpenGL und OpenCL können miteinander kommunizieren.

So siehts aus schrieb:
Wenn eine GPU z.B. 100 Threads schafft, kann ich dann sagen, 60 Threads für die Grafik und 40 für das Computing?

Nein, zumindest nicht im Moment.

_________________
one point of view will never reveal the entire scene.


Zuletzt bearbeitet von dot am 11:00:38 21.06.2012, insgesamt 2-mal bearbeitet
So siehts aus
Unregistrierter




Beitrag So siehts aus Unregistrierter 11:21:32 21.06.2012   Titel:              Zitieren

dot schrieb:
So siehts aus schrieb:
Kann man OpenCL und OpenGL eigentlich gleichzeitig benutzen?

Ja, also gemeinsam im selben Programm. OpenGL und OpenCL können miteinander kommunizieren.

So siehts aus schrieb:
Wenn eine GPU z.B. 100 Threads schafft, kann ich dann sagen, 60 Threads für die Grafik und 40 für das Computing?

Nein, zumindest nicht im Moment.


Hm, okay und wie wird das dann aufgeteilt?
Macht das die GPU automatisch?

Kann ich wenigstens Prioritäten setzten?
rapso
Moderator

Benutzerprofil
Anmeldungsdatum: 17.06.2002
Beiträge: 7727
Beitrag rapso Moderator 11:26:32 21.06.2012   Titel:              Zitieren

So siehts aus schrieb:
dot schrieb:
So siehts aus schrieb:
Kann man OpenCL und OpenGL eigentlich gleichzeitig benutzen?

Ja, also gemeinsam im selben Programm. OpenGL und OpenCL können miteinander kommunizieren.

So siehts aus schrieb:
Wenn eine GPU z.B. 100 Threads schafft, kann ich dann sagen, 60 Threads für die Grafik und 40 für das Computing?

Nein, zumindest nicht im Moment.


Hm, okay und wie wird das dann aufgeteilt?
die werden in der reihenfolge abgearbeitet in der du die kommandos schickst.
Zitat:

Macht das die GPU automatisch?
ja, die arbeitet job fuer job ab, sobald genug resourcen fuer einen neuen job vorhanden sind, wird dieser ausgefuehrt.
Zitat:

Kann ich wenigstens Prioritäten setzten?
nur indem du die wichtigen sachen zuerst schickst und mit niedriger prioritaet spaeter.

_________________
Kilo Byte=1000,Kilobyte=1024 ANSI/IEEE Standard 1084-1986
-Mod im Spiele-/Grafikprogrammierung| rapsoo@hotmail.com | #dionysos irc.quakenet.org | amazon stole my PS3 :(
dot
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5618
Beitrag dot Mitglied 11:28:44 21.06.2012   Titel:              Zitieren

Wobei sich da mit der nächsten GPU Generation was tun wird.

_________________
one point of view will never reveal the entire scene.
c++.de :: Rund um die Programmierung ::  OpenCL  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.