![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ja, ich glaube, ich verstehe, dass Sie nicht zufrieden sind mit
1. die Kompliziertheit der Algorithmen und die Überschreitung des Speicherplatzes bei der Verwendung
2. und Sie möchten in der Lage sein, in der Kopierphase einen Ausgleich vorzunehmen.
Sie müssen also nicht 100000 Elemente kopieren und dann 998000 Offsets vornehmen.
Die Variante mit Offset, die wir jetzt haben, sollten wir aber beibehalten, weil sie uns erlaubt, ein und dieselben Daten nicht mehrfach zu kopieren, sondern sie für eine neue Aufgabe aus einem bereits vorhandenen CL-Puffer mit einem neuen Offset zu übernehmen.
1. nein. Ich mag es nicht, Zeit mit zusätzlichen Kopien zu verschwenden. Wenn wir allerdings float verwenden, müssen wir sowieso in die Lücke kopieren.
2. Ja.
3. Ja.
Erste Pfannkuchen: https://www.mql5.com/ru/forum/138292/page7#601897
Sehr schön. Beeindruckend. Leckere Pfannkuchen.
//---
Wird es einen Artikel über OpenCL geben? Ich habe mich diesem Thema in der Praxis noch nicht genähert, aber es wäre sehr interessant, es im Zusammenhang zu lesen. Oder zumindest ein paar Beispielskripte in der Hilfe, wie man es benutzt. Es gibt nicht genug Informationen, um sie zu verteilen.
Ich habe es geschafft, die Geschwindigkeit meiner Karte im Vergleich zu einem einzelnen CPU-Kern um das 200-fache zu erhöhen.
Bitte testen Sie und veröffentlichen Sie die Ergebnisse.
Wenn die Karte keinen Speicherplatz beansprucht, reduzieren Sie den Verlauf (CountBars) oder die Anzahl der Durchläufe (CountPass), was weniger wünschenswert ist.
Anhänger eines Mehrkanalprüfgeräts
Mein Ergebnis: eine Beschleunigung um den Faktor 133:
Es ist erstaunlich, dass der i7 auf einem einzelnen Kern 2 mal schneller läuft als der X6 1100T - bei vergleichbaren Frequenzen (der i7 liegt bei 3,8 GHz, der 1100T bei 3,7). Es ist verständlich, dass es sich dabei um solche Berechnungen handelt, aber der Unterschied in der CPU-Geschwindigkeit bei niedrigen Threads ist ungeheuerlich.
Ich habe viel nachgedacht und Google gelesen.
Ich habe mir den Kopf zerbrochen.
Entweder haben sie den fortschrittlichsten mql-Compiler-Optimierer für sich selbst eingespannt und geben ihn nicht an uns weiter, oder ich weiß es nicht mehr.
So funktioniert das nicht. "Das glaube ich nicht!" (c) KSS.
Und höchstwahrscheinlich haben sie einen für Intel optimierten Codogenerator.
Ich werde mich bei der UNO beschweren.
Aus irgendeinem Grund konnte ich in den Protokollen keine Zeile über die CPU finden.
Intel Celeron G530 2.4GHz
Das ist der Punkt, den ich nicht verstehe:
Ich habe eine GeForce GT 440 mit OpenCL 1.1 (2 Einheiten, 1660 MHz, 1024 Mb, Version 295.73) GPU Zeit = 1513 ms
Ich habe GeForce GT 520 mit OpenCL 1.1 (1 Einheiten, 1620 MHz, 512 Mb, Version 285.62) GPU Zeit = 234 ms
Wie ist das möglich?
Hier GeForce GT 440 und hier GeForce GT 520 verglichen Spezifikationen, ist meine durch alle Parameter mehr, aber die Laufzeit ist 6,5 mal mehr.