[vsipl++] [patch] BLAS dispatch

Don McCoy don at codesourcery.com
Fri Nov 11 00:11:10 UTC 2005


Jules Bergmann wrote:

> Don McCoy wrote:
>
>> 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.
>
>
> This patch looks good.  I have two small comments below, please check 
> it in once they're addressed.
>
Done.  Patch is committed now.

>> 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.
>
>
> The choices here seem to be:
>  1) use generic implementation
>  2) compute result in wrong dimension order, then tranpose in place.
>  3) conjugate in-place, compute outer, reverse conjugate
>  4) allocate temporary storage to store conjugate (as you currently do)
>
> Let's go with either (1) or (3).  (2) would be good, but although we 
> have a stub in Ext_data to reorgnize data, its not implemented yet.  
> We can't do (4), the current approach, because of the memory 
> allocation. We need to avoid memory allocation that would occur during 
> the inner loop of an application.
>
FYI, I chose 3). 

-- 
Don McCoy
CodeSourcery, LLC




More information about the vsipl++ mailing list