[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