- Was ist künstliche Intelligenz?
- Mythos oder Realität der neuronalen Netzwerkintelligenz?
- Zugriffsschutz für Informationen
- Leben in der Wolke
- Cloud Computing
- Anonymizer als Mittel zum Schutz von elektronischem Geld
- Erstellung eines Firmenblogs
- Viren auf Webseiten
- Endlose Weiten des Internets. E-Mail.
- Einführung in OpenCL
- Informationssicherheit einer kleinen Organisation
- Videokonferenzsysteme
Kretov Nikolai Nikolaevich: Einführung in OpenCL
Die Entwicklung wird von der berüchtigten Khronos Group geleitet. Derjenige, der OpenGl und OpenAL fördert. Darüber hinaus stammen OpenGL und OpenCL im Wesentlichen aus derselben Softwareinfrastruktur und können sehr eng interagieren.
Die Essenz der Idee ist, dass es uns absolut egal ist - der Prozessor vor uns oder die Grafikkarte. Wir abstrahieren von der Plattform als solcher und gehen davon aus, dass wir N Rechengeräte haben. OpenCL als Standard beschreibt die Regeln für das Rechnen auf diesen Geräten. Somit erhalten wir einen einzigen Code, der absolut auf jede Plattform portierbar ist. AMD oder Intel, Sie haben einen Prozessor, eine nVidia- oder ATI-Grafikkarte oder einen Blade-Server mit Cell-Kernen - es spielt überhaupt keine Rolle. Die Anwendung funktioniert überall dort, wo Geräte den OpenCL-Standard unterstützen.
Es ist erwähnenswert, dass wir über paralleles Rechnen mit SIMD-Befehlen sprechen.
OpenCL ist eine Erweiterung der Sprache C. Wir haben eine Host-Anwendung und eine OpenCL-Anwendung. Der Host bereitet einen Satz verfügbarer Geräte für die Verwendung vor und übergibt die Aufgabe zur Ausführung an den OpenCL-Teil. Danach erfüllt OpenCL und gibt das Ergebnis an den Host zurück.
OpenCL-Code wird in *.cl-Dateien gespeichert und zur Laufzeit für eine bestimmte Architektur kompiliert. Dadurch wird die Portabilität der Anwendung gewährleistet.
Apple ging noch einen Schritt weiter, indem es die Kernel-Level-Unterstützung für OpenCL in seinem Snow Leopard-Betriebssystem veröffentlichte und erhebliche Leistungssteigerungen erzielte.
Wofür wird es benötigt?
OpenCL frisst SIMD-Algorithmen gut. Dafür wurde er geschaffen. Und das sind verschiedene Kryptografien, verschiedene Nachbearbeitungseffekte, Tonverarbeitung und verschiedene mathematische Modelle, Videokodierung.
Für Entwickler
Derzeit sind Versionen von nVidia OpenCL SDK und AMD OpenCL SDK verfügbar. Sie können sie jederzeit von den offiziellen Websites dieser Unternehmen herunterladen.
In zukünftigen Artikeln werde ich Ihnen sagen, wie Sie diese Technologie in der Praxis in Ihren eigenen Anwendungen einsetzen können.