Wednesday, 9 May 2012

Multi-matching: A mixed blessing


So... Multi-matching... slowly becoming my biggest pain (first being my seperation from my cat and second being my seperation from online gaming with Diablo III being released next week).

The matching is turning into a very tempermental system. Last time I posted, I had managed to get the "dumb matching" working with some small issues implementing it with the FDP algorithms. This has since been fixed (though it's still not implemented with the Barnes Hut due to the god awful complexity of the data structures involved). I am now given good output with similar graph drawings generated for matchings of 2 and "rougher" drawings for further matchings (to be expected, an analysis of which will be included at a later date).

Unfortunately, there is a significant runtime difference between this and the previous hard coded implementation (single matching): a difference in the region of 9x the runtime. Outputting runtimes for individual components (calculations of individual forces), the significant difference in runtime comes from the use of the tree in the global force calculations, which has more levels than the previous work (most likely due to changes when adapting it to use the multi-matching scheme).

Diagnosis and fixes are in the works as I type and further information will be posted later, but for now, know that the latest implementation of the coarsening tree is drastically slower than the previous. I will hopefully update later this week (or early next) when the issue is resolved.

No comments:

Post a Comment