[patch] QR
Jules Bergmann
jules at codesourcery.com
Mon May 8 13:16:28 UTC 2006
This patch builds on the QR portion of Assem's earlier QR/SVD patch. It
has the following changes:
- Explicitly disables using Qrd for full-QR (storage_type == qrd_saveq)
when using SAL as the implementation. Trying to create a Qrd object
for qrd_saveq will throw an unimplemented exception.
- Uses the dispatcher from LU and Cholesky.
- Fix the use of Ext_data objects to avoid modifying the block being
accessed during the Ext_data object's lifetime.
When using an Ext_data object to access a block's data directly, you
should not modify the block's values during the Ext_data object's
lifetime. When the block supports direct access, this happens to
work OK, but when the block does not support direct access, Ext_data
will copy data and changes made to the block will not be reflected in
the copy.
While we did choose the block types in Qrd with direct access in
mind, we should keep the usage "correct" so that it doesn't get
exported via cut-and-paste or subtly break in the future.
(One test idea: we could build a special version of the library that
forces all Ext_data objects to copy and see what breaks!)
- Add support for split-complex
- Added back assertions on input sizes to impl_prodq and impl_rsol.
In general, assertions are a good thing. Here they help enforce
that input matrices from the user have the right shape.
Also in this patch:
- Updated QR tests to only cover types and storage types supported
by the implementation. In particular, avoids testing double
precision and full-QR when using SAL.
- Small configure.ac fix for FFTW3. Adds an AC_SUBST for
VSIP_IMPL_FFTW3. Slight logic change when checking if
FFTW3 is not enabled (was checking against empty string,
now checks against "no").
A couple of questions
Assem,
Is there any reason we are using matmgs_dqr instead of matmgs_dqrx?
Likewise for the other SAL functions (magmgs_srhr, etc). I don't see
matmgs_dqr documented in the SAL reference manual (nor the other "non-x"
functions documented). It looks like the difference is the missing ESAL
flags.
If the "non-x" functions are not documented, we should use the "x"
functions instead.
Stefan,
Does the configure.ac bit for FFTW look OK?
thanks,
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: qr.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20060508/09837907/attachment.ksh>
More information about the vsipl++
mailing list