Woche #49

(Zeitraum: 24.9.2012 – 28.9.2012)

Ich entschied mich für den komplexeren Auftrag: Einen Peakfinder bauen. Und das ist gar nicht so leicht. So schwer, dass ich irgendwann Ende der Woche überzeugt bin, dass es nicht mit den Thrust-Routinen geht.
Zumindest fast überzeugt, denn ich möchte jetzt erstmal noch ein bisschen im Internet recherchieren, wie andere Leute das Problem des zweidimensionalen Peakfindings gelöst haben und ob ich nicht vielleicht mit diesen Ideen mein Problem parallelisiert in Thrust umsetzen kann. Sonst seh’ ich schwarz für parallel.

Ich fand währenddessen heraus, dass die Performance einer Structure of Arrays besser ist gegenüber eines Arrays of Structures. Also thrust::host_vector<int> x, thrust::host_vector<double> z ist besser als thrust::host_vector<thrust::tuple<int, double> > x_z. Da ich das aber zwischendurch verwendet habe, baue ich mir für meinen Ah2DPeakfinder einen Konvertierer.
Außerdem baue ich eine Methode, die alle (x,y,V)-Punkte rausschmeißt, deren V unter einem gewissen Cutoff-Parameter liegt. x und y sind dabei die Koordinaten in einem Histogramm, V ist die Höhe der Zelle an diesen Koordinaten (die Multiplizität).
All das, was ich schon am Peakfinder zustande gebracht habe, ist auf Github.

Nebenbei ging’s Donnerstag noch auf die Dispuation eines Kollegen nach Bonn.