vgteam / gssw

efficient alignment of strings to partially ordered string graphs
33 stars 17 forks source link

Moving allocations #3

Open RaviGaddipati opened 8 years ago

RaviGaddipati commented 8 years ago

Was there a reason to do pvHStore, pvHLoad, pvHmax, and pvE memory allocations in the gssw_sw_sse2 functions? Moving the allocations up to graph_fill and reusing the same allocations for each node gave a huge performance boost.

ekg commented 8 years ago

Do you have a patch? It would require a recycler no? The size of the allocated matrix will vary. On Nov 26, 2015 10:00 PM, "Ravi Gaddipati" notifications@github.com wrote:

Was there a reason to do pvHStore, pvHLoad, pvHmax, and pvE memory allocations in the gssw_sw_sse2 functions? Moving the allocations up to graph_fill and reusing the same allocations for each node gave a huge performance boost.

— Reply to this email directly or view it on GitHub https://github.com/ekg/gssw/issues/3.

RaviGaddipati commented 8 years ago

No patch for this yet. The size is dependent on segLen (i.e. readLen), and since that's the same for all nodes the allocation size is the same. Not sure what you mean by recycler. I've been still getting accurate results with a modified version of gssw that does this (https://github.com/gaddra/gssw/tree/positional).

ekg commented 8 years ago

There is also pH, if I remember correctly. The entire score matrix. This allocation could be recycled. The others yes absolutely. They should definitely be refused directly!!! On Nov 26, 2015 10:22 PM, "Ravi Gaddipati" notifications@github.com wrote:

No patch for this yet. The size is dependent on segLen (i.e. readLen), and since that's the same for all nodes the allocation size is the same. I've been still getting accurate results with a modified version of gssw that does this (https://github.com/gaddra/gssw/tree/positional).

— Reply to this email directly or view it on GitHub https://github.com/ekg/gssw/issues/3#issuecomment-159999633.

RaviGaddipati commented 8 years ago

Ah yes, I had no use for traceback so I had removed mH. I'll make a pull request sometime soon.