wie kann ich cuda mit nodejs
Cuda ist Nivida bereitgestellte api, mit der c/c++ verwenden, die gpu für ein paar Sachen, obwohl ich weiß nicht, was, dass einige Sachen & möchte wissen, von dem, was ich sah, die Gewinne waren bemerkenswert. Auch cuda funktioniert nur mit nivida-gpus...
Es existiert ein Modul für nodejs, aber es ist nur für die 64bit version von windows, aber es gibt cuda für die 32bit-version als auch so, nur was fehlt, Bindung/Erweiterung für nodejs, um cuda in c++. Und Es ist kein Zeichen von Dokumenten irgendwo auf github oder internet über dieses Modul. Letzten commits wurden, wie 1/2 Jahr+ Monat.
Wenn es möglich ist, als es sein würde, sehr groß. Wie nodejs verwendet werden würde gpu-Operationen, indem es in die ganz neue Ebene für web-Sachen und andere Anwendungen. Auch die parallele Natur von nodejs es passt perfekt mit der gpu, die parallel zur Natur.
Nehme an, es gibt kein Modul, das existiert jetzt. Was sind meine Möglichkeiten.
es ist getan worden, die bereits von jemand anderem: http://www.cs.cmu.edu/afs/cs/academic/class/15418-s12/www/competition/r2jitu.com/418/final_report.pdf
- Versuchen Sie bei dieser Node.JS -Erweiterung. Es bietet OpenCL-bindings, kein CUDA, aber es könnte noch besser sein, da es unterstützt auch ATI/AMD Grafikkarten.
- ich kann nicht scheinen, um webcl Arbeit auf meinem computer installieren egal was ich mache...es geht nur um node-gyp rebuild und dann einfach aufhört, wie es abgeschlossen aber wenn ich die Beispiel-Dateien, die es sagt, webcl-Modul nicht gefunden....so frustrierend.
- Leider scheint es alle Motorola Mobility github-account entfernt wurde. Es scheint eine Gabel in github.com/mikeseven/node-webcl
- Hier ein Beispiel für ein node-native-addon, das bindet CUDA: github.com/kashif/node-cuda
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den richtigen Weg, dies zu tun, ist die Verwendung der Nvidia-CUDA-toolkit zu schreiben, Ihre cuda-app in C++ und dann rufen Sie es als einen separaten Prozess aus Knoten. Auf diese Weise können Sie die meisten von CUDA, und zeichnen Sie auf die macht der Knoten für die Steuerung des Prozesses.
Beispielsweise, wenn Sie über eine cuda-Anwendung, und Sie möchten, um es zu skalieren, sagen wir, 32 Computer, die Sie schreiben, wäre die Anwendung in schnellen C-oder C++ und verwenden Sie dann den Knoten zu schieben, um alle PC ' s im cluster und die Verarbeitung der Kommunikation mit jedem remote-Prozess über das Netzwerk. Knoten scheint in diesem Bereich. Einmal pro CUDA-app-Instanz beendet es den job, kommen Sie alle Daten, die mit Knoten und präsentieren Sie dem Benutzer.
hier ist eine Bindung.gyp-Datei, erstellen Sie einen Knoten Erweiterung mit zwei source-Dateien
hello.cpp, goodby.cu, und goodby1.cu
Der natürlichste Weg, um hook up CUDA und Node.js würde durch einen "addon", die erlaubt, Sie zu entlarven c++ - code, um Ihre javascript-Programme laufen auf einem Knoten.
Knoten selbst ist eine c++ - app basiert auf der v8-javascript-engine, und die addons sind eine Möglichkeit für Sie zu schreiben c++ - Bibliotheken, die verwendet werden können, die von javascript-libraries, die in der gleichen Art und Weise, dass die Knoten, die eigenen Bibliotheken zu tun.
Von außen, ein addon, das nur aussieht wie ein Modul. Die c++ kompiliert wird, in eine dynamische Bibliothek und dann ausgesetzt Knoten wie jedes andere Modul.
z.B. my-addon.cc -> (compile) -> my-addon.dylib -> (node-gyp) -> my-addon.Knoten ->
var myFoo = require('my-addon').foo()
Vom inneren des addon verwenden Sie den v8 und Node-APIs, um eine Schnittstelle mit der Javascript-Umgebung, und der Zugang CUDA, mit der der normalen c++ - APIs.
Gibt es eine Menge von beweglichen teilen nach unten auf diesem Niveau. Etwas so einfaches wie die übergabe eines Wertes von einem auf den anderen bedeutet, dass Sie brauchen, um über c++ - Speicherverwaltung und der javascript-garbage-collector während Sie wrap/unwrap javascript Werte aus entsprechenden c++ - Typen.
Die gute Nachricht ist, dass die meisten Probleme, die sind fein, individuell, mit tollen docs und Unterstützung von Bibliotheken, im überfluss vorhanden, z.B. nan erhalten ein Skelett-addon zum laufen in kürzester Zeit, und auf der CUDA-Seite, Sie reden über Ihre normale c++ - Schnittstelle, mit LKW-Ladungen von Dokumentationen und tutorials.