Schlagwort-Archive: C++

Shared memory Allocator mit der STL

Ich habe mich die letzten Tage mit der STL herungeärgert. Ich wollte einen Allocator schreiben, welcher mir die STL-Container in ein Shared Memory Segment legt. Ich habe es nicht wirklich hinbekommen. Inzwischen weiß ich, dass es die Leute von boost … Weiterlesen

Veröffentlicht unter Programmieren | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Mehrkern oder nicht Mehrkern, dass ist die Frage

Ich habe inzwischen ein paar Experimente mit verschiedenen Mehrkernarchitekturen gemacht. Ich habe verschiende Algorithmen mit Cilk++ implementiert. Dabei kam es zu interessanten Ergebnissen. Ich hatte von superlinearen Speedup bis zu einem Speedup unter 1 alles. Aber woran liegt das, dass … Weiterlesen

Veröffentlicht unter HPC | Verschlagwortet mit , , | 2 Kommentare

Dein Freund der Cachemiss

Ich habe in meinen letzten Eintrag über Superlinearen Speedup geschrieben. Caching Effekte lassen sich auch in sequenziellen Programmen ausnutzen. So kann man lässt sich die klassische Matrixmultiplikation um Größenordnungen beschleunigen.

Dazu muss man nur die Matrix B transponiert abspeichern. Wenn man jetzt duch die Spalten der Matrix B geht hat man eine höhere Lokalität und damit weniger Cachemisses.

Weiterlesen

Veröffentlicht unter HPC | Verschlagwortet mit , | Hinterlasse einen Kommentar

Superlinearer Speedup

Ich habe für meine Diplomarbeit die Matrixmultiplikation nach Strassen implementiert. Das ganze habe ich mit Cilk++ implementiert. Ich war recht erstaunt, als ich diese Ergebnisse gesehen habe. Es ist erklärbar, weswegen ich einen superlinearen Speedup erreicht habe. Wenn ich auf … Weiterlesen

Veröffentlicht unter HPC | Verschlagwortet mit , , , | Hinterlasse einen Kommentar