Hi,

 >     Yeah, it certainly is a bit tedious. Feel free to only do this for
>     matrix-matrix multiplications for now, a full operation table is
>     presumably too much of a refactoring for ViennaCL 1.x.y, but much
>     better suited for 2.0.0.
>
>
> Yes. It's actually a pretty complicated problem, because of the
> different signatures of the different BLAS functions... It seems like
> the cleanest way to do it would be using std::function<>, and
> std::bind<>, which may indeed be widely available at the time ViennaCL
> 2.0.0 comes out. I hadn't seen this coming.

The interfacing problem is just a matter of wrapping everything behind a 
common function interface and then use function pointers appropriately. 
C++11 is not an option for me for a few more years to come, mostly 
because this is the usual timeframe on large-scale clusters. (Our test 
system now includes a CentOS 5.10 machine with GCC 4.1.2...)

> Wouldn't a classic preprocessor directive but with better BLAS support
> (as I have it implemented now : cpy, swap, asum, norm2, gemv, gemm) be
> more interesting feature-wise than a dynamic gemm only dispatch, in the
> end?

How would that look like? Do you mean a classic #ifdef? If right now we 
are only interested in GEMM, then yes, a simple static dispatch is 
enough. It just shouldn't start growing if we don't see this as the 
right way to go in the future.


> Plus, it seems like the dynamic dispatch will be much more
> interesting in the context of ViennaCL 2.0.0 where more things will be
> dynamic, with possibly already kernel-dispatch for the generator based
> on the input sizes (I'm thinking about it)...

Absolutely. I think it's important to have directions for the future 
(being more dynamic is apparently one of them), but from the 1.5.0 delay 
I have learned the hard way that one should not start too many changes 
at the same time... ;-)

Best regards,
Karli


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
ViennaCL-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to