Re: [BLAS bindings] help appreciated on using trmv and gbmv
Florent Teichteil <[email protected]>
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CAMW3hvNwmftGeHyNNqiryAB+LC6Rvxa-tasCrU+9rsLqKuDTXg@mail.gmail.com> |
> Hello Florent, > > thanks for all the testing! I would like to try your test cases, hunt down > potential bugs, and, if you agree, include the test cases in the testing > part of the bindings. Could you please provide your code as an attachment? > > Thanks, > > > Rutger > Hi Rutger, Thanks for your interest. You'll find my tests in the attached file test.cc as well as the output file testoutput.txt which I get when running it. I'm using Ubuntu with ATLAS backend. I would stress that there is in my opinion no other library like ublas and its bindings around there, that handles so many matrix formats and matrix storage options, and that we can bind to cblas compliant libraries and others. It's really a great job. The problem is that I'm using it in a large production code, so that I must say that I thought to move to another library (eigen for instance), but in fact they aren't much libraries like ublas that handle packed matrix formats like triangular_matrix and banded_matrix. For my needs, I dream that I could use proxies of triangular and banded (packed) matrices in conjunction with the blas bindings, but it seems that it is not possible for some technical reasons (I am not sure to understand why, because netlib's blas or atlas also handle packed triangular and banded matrices...). OK, but for the moment, it would be wonderful if binding functions like trmv and gbmv work properly with dense matrices and triangular and banded adaptors. (Perhaps they work properly, but I'm misusing them, see my attached test files). Cheers Florent _______________________________________________ ublas mailing list [email protected] http://lists.boost.org/mailman/listinfo.cgi/ublas Sent to: [email protected]
testoutput.txt
(text/plain, 1.1 KB)
FIRST TEST CASE: triangular matrices with column major storage gemv: CORRECT trmv: CORRECT trmv with packed triangular matrix: DOES NOT COMPILE gemv with trans: WRONG trmv with trans v1: WRONG trmv with trans v2: WRONG trmv with trans and packed triangular matrix: DOES NOT COMPILE SECOND TEST CASE: triangular matrices with row major storage gemv: WRONG trmv: WRONG trmv with packed triangular matrix: DOES NOT COMPILE gemv with trans: CORRECT trmv with trans v1: WRONG trmv with trans v2: WRONG trmv with trans and packed triangular matrix: DOES NOT COMPILE THIRD TEST CASE: banded matrices with column major storage gemv: CORRECT gbmv: WRONG gbmv with packed banded matrix: WRONG gemv with trans: WRONG gbmv with trans v1: WRONG gbmv with trans v2: DOES NOT COMPILE gbmv with trans and packed banded matrix: DOES NOT COMPILE FOURTH TEST CASE: banded matrices with row major storage gemv: WRONG gbmv: WRONG gbmv with packed banded matrix: WRONG gemv with trans: CORRECT gbmv with trans v1: WRONG gbmv with trans v2: DOES NOT COMPILE gbmv with trans and packed banded matrix: DOES NOT COMPILE
test.cc
(application/octet-stream, 5.1 KB) - not displayed