[patch] BLAS dispatch

Don McCoy don at codesourcery.com
Fri Nov 4 19:36:22 UTC 2005


The attached patch adds dispatch support for certain BLAS functions.  
Two things that are worth drawing attention to are: 1) The row-major 
cases for outer() with complex values and 2) The various run-time and 
compile-time checks used in the blas evaluator functions.

For 1), my concern is that the BLAS 'ger' variant used can only 
conjugate the second vector argument.  I'm using the non-conj version 
and performing the conjugation on the first vector argument manually.  
It involves memory allocation and an extra loop through one of the 
vectors.  I'd like to know if there is a more efficient way to do this.

For 2), just want to make sure I didn't omit any checks that would 
dispatch a call to BLAS that it cannot handle.  I was careful to verify 
that BLAS was only called when it should be, but it would be easy to 
overlook something if there is not a corresponding test case for it.  In 
cases like outer, it is not tested with a column-major result matrix if 
only the vsip::outer() is called (because it allocates the matrix with 
the default block).  So, for the test, I added the col-major cases 
explicitly by calling vsip::impl::outer() directly.  There may be other 
cases where we should add specific tests for col-major layouts.

Regards,

-- 
Don McCoy
CodeSourcery, LLC




-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bd.changes
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20051104/ab806a17/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bd.diff
Type: text/x-patch
Size: 56225 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20051104/ab806a17/attachment.bin>


More information about the vsipl++ mailing list