
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es sieht so aus.
Ich bin mir nicht sicher, weil ich versuche, keine kniffligen Konstruktionen zu verwenden (mit dem Auge schwer zu erkennen), aber wahrscheinlich sollte ich es nicht tun, da es den Code beschleunigen kann.
Ihr Code sollte wahrscheinlich langsamer sein, da die Variable b bei jeder Schleifeniteration neu deklariert wird.
Nein, das ist nicht fair. Sie bearbeiten Andrei's Code und beschleunigen ihn.
Was habe ich getan?
Welche Anforderungen werden an den Optimierer gestellt? Weniger Overhead bei gleichbleibenden Ergebnissen! Schauen Sie sich das an, es macht alles zusammen einen Cent aus.
:)
// Übrigens !!! Dieser Code wirft meinen Treiber nicht ab, auch nicht mit #define BUF_SIZE 1024*1024*4 !!!
// Das ist ein Durchbruch!
;))))
Was habe ich getan?
Welche Anforderungen werden an den Optimierer gestellt? Geringerer Aufwand bei gleichbleibenden Ergebnissen! Schauen Sie sich das an, es macht alles zusammen einen Cent aus.
:)
Passt er? Wie haben Sie das überprüft? :O
Ich habe acht davon parallel geschaltet und überprüft.
Ihr Taschenrechner lügt. :)
Der Zyklus addiert 0+1+2+3+...+99999999. Und nach jeweils 10000 Schritten ist der Wert 0.
Was haben Sie getan? - Sie haben eine Flugnummer vergeben und das war's. Wie können meine Ergebnisse die gleichen sein wie Ihre?
Ich habe ein wenig recherchiert und vermutet, dass diese
Die Sache ist die, dass get_global_id() höchstwahrscheinlich keine Funktion ist, sondern eine superschnelle Registeroperation.
Wenn jemand braucht und will, bitte melden Sie die Ergebnisse an das Studio. es wird nützlich sein.Welche Anforderungen werden an den Optimierer gestellt? Weniger Overhead bei gleichbleibenden Ergebnissen! Schauen Sie sich das an, es macht alles zusammen einen Cent aus.
// Übrigens !!! Dieser Code wirft meinen Treiber nicht ab, auch nicht mit #define BUF_SIZE 1024*1024*4 !!!
Ich habe ein bisschen länger geraucht und mich geärgert. Andererseits - wenn der Fahrer es nicht fallen lässt, ist die Gleichwertigkeit im Ergebnis schon unvollständig.
Verdammt... So ein Pech :(
Nein, du hast nicht gut geraucht.
1^3 + 2^3 + 3^3 + ... + 1000000000^3 = 1000000000^2 * (1000000000 + 1)^2 / 4
Links und rechts sind ein und dasselbe, völlig gleichwertig.
Nur mit dem linken Ausdruck wird der Stein ziemlich lange erhitzt, während es mit dem rechten fast augenblicklich geschieht, der Prozessor merkt es nicht und bleibt kalt.
P.S. Ich habe auf OpenCL 1.2 aktualisiert (es ist Beta). Bitte beachten Sie den kleinen Zusatz nach der Versionsnummer - sse2.
Ich will nicht sagen, dass es sich dramatisch verbessert hat, aber es hat sich bei einigen Tests beschleunigt. Sagen wir, auf Tast_Mand_ (ja, du bist ein Perverser, Andrewha) - 5% bis 10%. Nur ein bisschen, aber gut.
Ihr Taschenrechner lügt. :)
Die Schleife addiert 0+1+2+3+...+99999999. Und nach jeweils 10000 Schritten ist der Wert 0.
Was haben Sie getan? - Sie haben eine Flugnummer vergeben und das war's. Wie können also meine Ergebnisse mit den Ihren übereinstimmen?
Ich habe Ihnen fast 24 Stunden Zeit gegeben, zur Vernunft zu kommen. Bestehen Sie immer noch darauf? :)
Schauen wir mal: