Einfache CUBLAS-Matrix-Multiplikation Beispiel?

Ich bin auf der Suche nach einem sehr nackten Knochen-matrix-Multiplikation Beispiel für CUBLAS, dass sich M-mal N und Stelle die Ergebnisse in P für den folgenden code, mit high-performance-GPU-Betrieb:

float M[500][500], N[500][500], P[500][500];
for(int i = 0; i < Width; i++){
    for(int j = 0; j < Width; j++)
    {
        M[i][j] = 500;
        N[i][j] = 500;
        P[i][j] = 0;
    }
}

So weit, die meisten Codes die ich zu finden bin, irgendeine Art von matrix-Multiplikation mit CUBLAS ist (scheinbar?) übermäßig kompliziert ist.

Ich bin versucht, das design ein basic-Labor, wo die Studenten vergleichen können, die Leistung der matrix-Multiplikation auf der GPU vs-matrix-Multiplikation auf der CPU, vermutlich mit erhöhter Leistung auf der GPU.

  • Halten Sie die simpleCublas Beispiel in der CUDA SDK "zu kompliziert"?
  • Ja. Ich meine, wenn das so einfach ist, wie es kommt, ich denke, wir müssen nur mit ihm zu beschäftigen. Ich habe nur gehofft, es würde eine Art von code, der mit einer offensichtlichen CPU gleichwertig, so dass wir konnten, die Zeit und vergleichen Sie die Ergebnisse.
  • Ich bin die GTA für ein 500-level-Datenstrukturen-Klasse. So sind wir schon Pumpen Sie so voller details zur Programmierung der verschiedenen Bäume, heaps und anderen Datenstrukturen sowie entsprechende C++ und Experimentieren Konventionen, die mit Ihnen lernen, dass viele syntaktische details für CUBLAS wäre wirklich aus dem Umfang der relevanten Informationen für die Klasse.
  • CUBLAS lineare algebra nennt sich selbst nur Folgen der gleichen syntax/API wie standard-BLAS, die ist absolut die defacto-lineare algebra-API und Bibliothek und wurde seit den 1980er-Jahren, als es geschrieben wurde. Mit der GPU bereits bei einem system mit einer non-uniform memory space, und so entstehen einige zusätzliche API-overhead. Also, wenn Sie denken würden, entweder jenseits der oberen Grenze von dem, was Sie versuchen zu lehren, dann denke ich, Sie sind aus Glück heraus.
  • Okay. Vielen Dank für die hintergrund-info. Ich werde weiter suchen um. Ich kann die Notwendigkeit zu Fragen, eine mehr Allgemeine Frage zu SO. Alles was ich brauche ist nur ein Beispiel, einfach wie möglich, dass ich zeigen kann, wird die GPU gegenüber der CPU auf jede Art von algorithmischen Aufgabe, mithilfe von CUDA.
Schreibe einen Kommentar