 |
|
|
|
Actions
|
|
[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [vsipl++] [patch] BLAS dispatch
- To: VSIPL++ Developers List <vsipl++@xxxxxxxxxxxxxxxx>
- Subject: Re: [vsipl++] [patch] BLAS dispatch
- From: Don McCoy <don@xxxxxxxxxxxxxxxx>
- Date: Thu, 10 Nov 2005 17:11:10 -0700
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
|
|