Ich habe über Nvidia Cuda gelesen und ich habe einige Fragen zu SO gesehen, dass Leute geantwortet haben, wo sie den Kommentar enthalten, dass "Ihr Problem nicht geeignet ist, auf einer GPU zu laufen".Nvidia Cuda Programm - ist mein Problem für die Cuda-Architektur geeignet?
In meinem Büro haben wir eine Datenbank mit einer enormen Anzahl von Datensätzen, die wir abfragen, und es kann ewig dauern. Wir haben SQL-Abfragen implementiert, die DISTINCT SELECT verwenden, oder sie wenden eine Großbuchstabe-Funktion für einen Wert an. Als Einführung zu Cuda dachte ich darüber nach, ein Programm zu schreiben, das alle Strings und Großbuchstaben auf der GPU aufnehmen könnte.
Ich habe ein Buch über Cuda gelesen, in dem der Autor darüber spricht, die GPU-Cores so weit wie möglich auszuführen, um die Latenz beim Lesen von Daten über den PCI-Bus oder beim Platzieren von Dingen im globalen Speicher zu verbergen. Da die Speichergrößen ziemlich klein sind und ich Millionen verschiedener Wörter habe, werde ich natürlich den Bus sättigen und die GPU-Kerne verhungern lassen.
Ist das ein Problem, das von einer Grafikkarte im Gegensatz zur CPU nicht einen fantastischen Leistungsschub erhalten würde?
Danke,
mj
Wird der Großteil der Abfragezeit nicht durch die Geschwindigkeit der Datenträger-E/A verursacht? Wenn die Antwort "Ja" lautet, können Sie die Abfragezeit nur verringern, indem Sie den E/A-Durchsatz verbessern. Eine GPU kann damit nicht helfen. – talonmies
Sie haben absolut Recht damit. Lassen Sie eine weitere Annahme hinzufügen, dass ich auf einem Server mit 64 GB RAM bin und versuche, alle meine Daten im Speicher zu behalten. –
Immer noch keine. Ihre Aufgabe ist nicht rechenintensiv, aber teuer. Daher ist GPU keine gute Option. OpenMP ist möglicherweise besser geeignet, wenn Sie Ihre Daten bereits im Speicher haben. – Azrael3000