Hey Andreas,

On Thu, Nov 6, 2014 at 12:50 PM, Andreas Tille <andr...@an3as.eu> wrote:

> > KMC said:
> >
> >  Asmlib is essential in performance sense. In KMC there is a lot of work
> > with buffers, sometimes these buffers or its part must be copied and
> asmlib
> > provide quicker copying than standard implementation.
>
> I'd keep on asking two things:
>
>   1. How quick means "quicker".  What factor of speed does the usage of
>      asmlib gain?
>
>   2. Is there any chance to provide a compile time option
>
>          --without-amslib
>
>      or whatever name which simply uses the native implementation?
>
>
Brilliant.
I'll do that.


> > > In the sense what I wrote above I personally would be happy if KMC
> > > authors would use plain C/C++ code and do some serious testing what
> > > speed they really gain and how maintainable their code would be.
> > >
> >
> > I will see if I can get some evidence form the KMC authors as to why they
> > choose this implementation, rather than native.
>
> Fine.  At least an optional usage should come pretty cheap with some
> preprocessor statements.
>
>
yeap!


> > I also thought this task would be much simpler than what it's turning out
> > to be.
>
> ... as always. ;-)
>

:)


>
> > > Here we are facing another drawback of asmlib usage:  KMC authors are
> > > excluding promising architectures like arm64 and ppc64el which might in
> > > the not so distant future could become relevant for tasks in
> > > bioinformatics.
> >
> > Very valid point. I will bring this point accross on the next
> communication.
> > I can cc you if you want. If you want to talk to them directly, that
> could
> > also help.
>
> I'd consider it the best idea to CC debian-med list.  I'm definitely no
> expert about assembly code and we could easily ask for further help on
> other Debian lists if the discussion is archived online.
>

Sounds good.
Will CC debian-med on the next communication.


>
> BTW, I had a *very* short sneak into the code and by doing one pretty
> simple
> experiment with
>
> kmc-2.0/kmer_counter $ diff -u mem_disk_file.cpp.orig mem_disk_file.cpp
> --- mem_disk_file.cpp.orig      2014-10-23 16:22:21.000000000 +0200
> +++ mem_disk_file.cpp   2014-11-06 13:47:09.834995768 +0100
> @@ -10,7 +10,10 @@
>  */
>
>  #include "mem_disk_file.h"
> -#include "libs/asmlib.h"
> +
> +// #include "libs/asmlib.h"
> +#define A_memcpy memcpy
> +#define nullptr  NULL
>
>
>  
> //----------------------------------------------------------------------------------
>  // Constructor
>
>
> The compiler revealed only issues which are probably caused by something
> else than asmlib.  So wrapping this into #ifdef statements could help
> here - but please consider this as the most simple experiment to look
> how our chances to avoid asmlib are and not as real code.
>
>
I understand.
We had a chat around the office and were thinking of building kmc without
using asmlib to understand the trade off.
But also here we put this as plan b for now.


Thanks for having a look at this.

Regards,

Jorge

Reply via email to