Antwort

Parallelverarbeitung für genetisches Training und Generierung

10 Antworten

kainc301

Kunde, bbp_participant, Gemeinschaft, 54 Antworten.

Profil besuchen

vor 4 Jahren #247191

Hallo zusammen. Soweit ich weiß, hat das SQ-Team eine Menge Geschwindigkeitsverbesserungen für SQX vorgenommen, darunter auch parallele Berechnungen für Monte Carlo- und WFO-Simulationen.

Ist es jedoch möglich, parallele Berechnungen für das genetische Training und die Zufallsgenerierung zu verwenden? Ich würde vermuten, dass dies diesen Prozess für CPUs mit höherer Kernzahl wesentlich schneller machen würde.

Ich habe auch gesehen, dass die GPU-Beschleunigung für Berechnungen auf der Liste der später zu erledigenden Aufgaben steht. Soweit ich weiß, kann die GPU-Berechnung aber nur dann zur Beschleunigung des Aufbaus der Strategien beitragen, wenn der Aufbau und das Training mit paralleler Verarbeitung durchgeführt werden. Ich möchte in Premium-GPUs investieren, um sie mit meinem Rechner für SQX zu nutzen, wenn diese Funktion verfügbar ist. Ich wollte jedoch sicherstellen, dass sie die Geschwindigkeit der Erstellung und des Trainings von Strategien tatsächlich verbessert.

Ich habe gesehen, dass die GPU-Beschleunigung die Geschwindigkeit des Trainings von Machine-Learning-Modellen um Größenordnungen verbessert. Könnte dasselbe auf SQX angewendet werden? Ich bin neugierig auf die Meinung von Mark oder dem Entwicklungsteam. Es wäre wirklich fantastisch, die 10-100-fachen Geschwindigkeitsverbesserungen zu erreichen, die bei verschiedenen Modellen mit Multi-GPU-Setups beobachtet wurden 🙂

0

bentra

Kunde, bbp_participant, community, sq-ultimate, 22 Antworten.

Profil besuchen

vor 4 Jahren #247208

Von wiki: Parallel Computing ist eine Art der Berechnung, bei der viele Berechnungen oder die Ausführung von Prozessen gleichzeitig durchgeführt werden. Dies geschieht technisch gesehen bereits seit SQ3 und vielleicht auch schon davor. (Andernfalls wäre es nicht möglich, mehr als einen Kern gleichzeitig zu verwenden.)

Ich freue mich auch auf die GPU-Unterstützung, sie sollte viel schneller sein, aber es könnte eine Menge Arbeit sein, um dorthin zu gelangen...

Aus diesem Papier: https://pdfs.semanticscholar.org/8fa2/9a317120add5525e61f41f73c5a96e932d60.pdf
GPGPU-Programmierung ist Schreiben Massiv parallele Programme zur Ausführung auf Personalcomputern.

 

Mögen alle deine Anzüge locker sitzen.


https://www.darwinex.com/darwin/SUG.4.2/

0

Gianfranco

Teilnehmer, bbp_participant, Kunde, Gemeinschaft, 114 Antworten.

Profil besuchen

vor 4 Jahren #247214

wie die Cuda-Kerne von Nvidia

Ich kenne einige optimierte Software mit Nvidia Cuda-Bibliotheken, die die Cuda-Kerne der Nvidia gpu.... oder Tesla-Karten für parallele Berechnung nutzen... aber ich denke, es ist eine große Aufgabe, die Sqx mit Cuda-Bibliotheken optimiert zu schreiben

0

kainc301

Kunde, bbp_participant, Gemeinschaft, 54 Antworten.

Profil besuchen

vor 4 Jahren #247226

Dies geschieht technisch gesehen bereits seit SQ3 und vielleicht auch schon davor. (Andernfalls wäre es nicht möglich, mehr als einen Kern gleichzeitig zu verwenden.)

Ich dachte, nur WFO und Monte Carlo nutzten diese Möglichkeit, aber ich habe keine Ahnung, wie SQX funktioniert, daher war das nur eine Vermutung.

Ich kenne einige optimierte Software mit Nvidia Cuda-Bibliotheken, die die Cuda-Kerne der Nvidia gpu.... oder Tesla-Karten für parallele Berechnung nutzen... aber ich denke, es ist eine große Aufgabe, die Sqx mit Cuda-Bibliotheken optimiert zu schreiben

Wenn ich nur ein einziges Weihnachtsgeschenk haben könnte, wäre es das hier lol

 

0

clonex / Ivan Hudec

Kunde, bbp_participant, community, sq-ultimate, Mitwirkender, Autor, Herausgeber, 271 Antworten.

Profil besuchen

vor 4 Jahren #247241

es wurde hier schon oft geschrieben, wie sqx funktioniert, warum es nicht möglich ist, GPU zu benutzen usw. benutzen Sie einfach die Suchfunktion

0

kainc301

Kunde, bbp_participant, Gemeinschaft, 54 Antworten.

Profil besuchen

vor 4 Jahren #247243

es wurde hier schon oft geschrieben, wie sqx funktioniert, warum es nicht möglich ist, GPU zu benutzen usw. benutzen Sie einfach die Suchfunktion

Mark hat die GPU-Fähigkeiten in die Liste der Meilensteine für SQX aufgenommen, die noch zu erledigen sind: https://roadmap.strategyquant.com/tasks/sq4_2985

Ich habe gelesen, worauf Sie sich beziehen, aber nachdem diese Aufgabe vorgelegt wurde und es eine Diskussion darüber gab, wie sie umgesetzt werden könnte, bin ich davon ausgegangen, dass sich diese Meinung geändert hat.

0

kainc301

Kunde, bbp_participant, Gemeinschaft, 54 Antworten.

Profil besuchen

vor 4 Jahren #247246

Ich habe in den SQ-Foren und anderswo viel recherchiert, um die aktuellen Engpässe der GPU-Berechnung beim Backtesting zu verstehen. Als Mark in der Vergangenheit darüber sprach, ging es um die Verwendung von GPUs für allgemeine Berechnungen, da das Backtesting komplexer war als mathematische Operationen. Ein ähnlicher Gedanke wurde in dieser akademischen Zusammenfassung hier beschrieben: https://pdfs.semanticscholar.org/d087/f5cb4a92f98aaef5008ceb682954f7ffbee2.pdf

Es scheint jedoch, dass zwei Forscher in der Lage waren, GPUs effektiv mit genetischen Algorithmen auf FX-Märkten zu nutzen. Ich empfehle dringend, sich diesen Ansatz anzusehen und möglicherweise zu implementieren. Einen vollständigen Link zu ihrer akademischen Forschung finden Sie hier: http://people.scs.carleton.ca/~dmckenne/5704/Paper/Final_Paper.pdf

Ich habe auch herausgefunden, dass NVIDIA in der Lage war, GPUs für Backtests an den Finanzmärkten einzusetzen und eine 6000-fache Beschleunigung zu erreichen https://www.nvidia.com/content/dam/en-zz/Solutions/industries/finance/finance-trading-executive-briefing-hr-web.pdf

Wie sie das gemacht haben, weiß ich nicht, also werde ich weiter suchen, aber es scheint einen Weg zu geben, CUDA-Logik einzubauen, die in der Lage ist, die Art von Backtesting durchzuführen, die bisher als nahezu unmöglich galt. Ich glaube also, dass es noch Hoffnung gibt, dass dies eines Tages in SQX implementiert werden kann. Wenn es schon einmal gemacht wurde, halte ich es nicht für "unmöglich". Die Forscher, die GPUs in ihren genetischen Algorithmus eingebaut haben, verwendeten auch CUDA, um ihre Ergebnisse zu erzielen.

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 4 Jahren #247279

Ich berate mich wiederholt mit meinen Doktorandenfreunden von der Universität, die mit GPUs arbeiten, und leider ändert sich der Status nicht - GPUs sind für uns nicht geeignet.

Es ist möglich, genetische Evolution auch "eine Art" von Backtesting auf GPU laufen zu lassen. Das Problem ist die offene Natur der SQ, die wir erreichen wollen.

Wir könnten eine feste Strategiearchitektur und einen festen Satz von Indikatoren entwickeln, die in der GPU getestet werden, aber dann wären wir nicht in der Lage, Dinge wie Strategievorlagen, die Programmierung von benutzerdefinierten Indikatoren und anderen Blöcken zu verwenden, die alle Stärken von SQ X sind.

Diese hundertfache Beschleunigung, von der in der Literatur die Rede ist, ist nur unter bestimmten Bedingungen und mit bestimmten Programmen möglich, eine solche Beschleunigung des allgemeinen Backtesting-Prozesses ist noch nicht möglich.

Mark
StrategyQuant Architekt

0

kainc301

Kunde, bbp_participant, Gemeinschaft, 54 Antworten.

Profil besuchen

vor 4 Jahren #247291

Ich habe dies wiederholt mit meinen Doktorandenfreunden von der Universität besprochen, die mit GPUs arbeiten, und leider hat sich der Status nicht geändert - GPUs sind für uns nicht geeignet. Es ist möglich, genetische Evolution und auch "irgendeine Art" von Backtesting auf GPUs durchzuführen. Das Problem ist die offene Natur von SQ, die wir erreichen wollen. Wir könnten eine feste Strategiearchitektur und einen festen Satz von Indikatoren erstellen, die auf der GPU getestet werden, aber dann wären wir nicht in der Lage, Dinge wie Strategievorlagen, die Programmierung von benutzerdefinierten Indikatoren und andere Blöcke zu verwenden, die alle Stärken von SQ X sind. Diese hundertfache Beschleunigung, die in den Papieren erwähnt wird, ist nur unter bestimmten Bedingungen und mit bestimmten Programmen möglich, es ist noch nicht möglich, den allgemeinen Backtesting-Prozess so zu beschleunigen.

Das ist bedauerlich. Ich stimme zu, dass es viel wichtiger ist, die Flexibilität bei der Verwendung von benutzerdefinierten Indikatoren/Templates zu erhalten, als diese für die Leistung zu opfern.

Die wahre Lösung für eine höhere Leistung durch Hardware ist also die Verwendung mehrerer CPUs, die über ein Grid-System verbunden sind. Zumindest kann ich Geld für teure GPUs sparen, haha.

0

gusyoan

Kunde, bbp_participant, Gemeinschaft, 21 Antworten.

Profil besuchen

vor 4 Jahren #254839

Hallo Mark,

Ist es möglich, neben der GPU auch eine FPGA-Karte oder einen ASIC zu verwenden?

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 4 Jahren #257552

nein, diese Art von Karten sind nicht möglich zu verwenden. Aber ich verstehe nicht die Besessenheit über die höchstmögliche Leistung - es ist nicht der Schlüssel zum profitablen Handel.

Mark
StrategyQuant Architekt

0

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)