Das nachstehende Beispiel zeigt eine Open Computing Language (OpenCL™) Implementierung™ eines asiatisch-optionalen Preisalgorithmus. Eine asiatisch-liche Option ist eine Finanzanweisung, deren Preis von ihrem Preis abhängig ist. Die Auszahlung einer solchen Option hängt vom durchschnittlichen Preis über einer Reihe von in die Stichprobe einbezogenen Punkten ab der Startzeit bis zum Zeitpunkt der Laufzeit ab. Dieses Beispiel berücksichtigt speziell die Preise arithmetischer optionen asiens.
Durch die Verwendung mehrerer Kernels und der Erweiterung der Kanäle von Intels Anbietern wird in diesem Beispiel aufgezeigt, wie eine Monte-Carlo-Simulation zum Preis von asiatisch erhältlichen Optionen effizient implementiert werden kann. Der Kern der Berechnung ist ein Kernel, der das Black-Scholes-Modell implementiert. Zwei andere Kernel implementieren einen Mersenne Twister Zufallszahlengenerator, der verwendet wird, um dem Black-Scholes-Kernel Zufallszahlen unter Verwendung von Kanälen als Kommunikationsmechanismus zu liefern. Schließlich wird die Ausgabe des Black-Scholes-Kernels von einem anderen Kernel kumuliert, um den gesamten Auszahlungswert zu erzeugen. Eine detaillierte Erklärung finden Sie im Quellcode im Design-Beispielpaket.
Dieses Beispiel unterstützt auch die gleichzeitige Ausführung auf mehreren OpenCL-Geräten. Jedes Gerät ist den Preisen einer asiatischen Option mit einem anderen Satz von Parametern gewidmet, wodurch eine skalierbare parallele Offload vieler Optionspreisberechnungen demonstriert wird.
Leistungsskalierung mit mehreren OpenCL-Geräten
OpenCL-Mainboard |
Ein Gerät |
Zwei Geräte |
---|---|---|
12 Milliarden Simulationen/s |
24 Milliarden Simulationen/s |
Funktionen
- Erweiterung der Kanäle für Anbieter
- Gleitkomma-Gleitkomma mit doppelter Präzision
- Ausführung mehrerer Geräte
- Mehrere Kernel, einschließlich einzelner Work-Item-Kernel
Downloads
Das Design-Beispiel liefert den Quellcode für das OpenCL-Gerät (.cl) und die Host-Anwendung. Zum Kompilieren der Host-Anwendung enthält das Linux-Paket eine Makefile und das Windows-Paket enthält ein Microsoft Visual Studio 2010-Projekt.
Die folgenden Downloads werden für dieses Beispiel bereitgestellt:
- v17.1 x64 Linux-Paket (.kernel.gz)
- v17.1 x64 Windows-Paket (.zip)
- Monte-Carlo-Preise für asiatisch-FPGAs mit OpenCL (PDF)
Die Verwendung dieses Designs unterliegt den Bedingungen der Hardware-Referenzdesignlizenzvereinbarung.
Software- und Hardware-Anforderungen
Dieses Designbeispiel erfordert die folgenden Tools:
- Intel® FPGA-Software v17.1 oder neuer
- Intel FPGA SDK für OpenCL™ v16.1 oder neuer
- Unter Linux: GNU Make und gcc
- Unter Windows: Microsoft Visual Studio 2010
Um die Intel Design-Tools herunterzuladen, besuchen Sie die OpenCL-Download-Seite. Die Anforderungen an das zugrunde liegende Betriebssystem sind dieselben wie die des Intel FPGA SDK für OpenCL.
OpenCL und das OpenCL-Logo sind Marken von Apple Inc., die mit Genehmigung von Khronos verwendet werden.
* Das Produkt basiert auf einer veröffentlichten Khronos-Spezifikation und hat den Khronos-Konformitätstest bestanden. Der aktuelle Konformitätsstatus finden Sie unter www.khronos.org/conformance.