Right now I do run-time switching between the legacy and the gemm-based implementation based on the matrix size.
This incurs a slight overhead because of the extra branch, but this is the best tradeoff I was able to come up.
I'd rather avoid introducing a new function for multiplying matrices, as there are already five ways to do that in ublas. So it is already way more confusing than it should be.
I could change the branch to a compile-time one for matrix types where compile-time size information is available, but I am unsure of how widely those matrix types are used. (I've never seen anybody using anything else than vanilla matrix.) If you (or anybody) would be interested in such a feature, then please let me know.
On Monday, 7 March 2016, 17:56, Riccardo Rossi <rrossi@cimne.upc.edu> wrote:
RiccardocheersHi,just to give my two cents, some care shall be taken so that there is no overhead for very small matrices (say 3*3)
On Sun, Mar 6, 2016 at 9:58 PM, palik imre <imre_palik@yahoo.co.uk> wrote:
It just ocured to me, that based on the descriptor struct it would be possible to choose between parallel and serial implementation of the kernels.
Anybody would be interested in having something like that in ublas?
Would an OpenMP parallel implementation be accepted to the library?
Thanks,
Imre
Fork is here: https://github.com/imre-palik/ublas/tree/feature/ublas00004_simd_gemm
pull request is sent.
_______________________________________________
ublas mailing list
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: rrossi@cimne.upc.edu
--
Riccardo Rossi
PhD, Civil Engineer
lecturer at Universitat Politècnica de Catalunya, BarcelonaTech (UPC)
Research fellow at International Center for Numerical Methods in Engineering (CIMNE)
C/ Gran Capità, s/n, Campus Nord UPC, Ed. C1, Despatx C908034 – Barcelona – Spain – www.cimne.com -Les dades personals contingudes en aquest missatge són tractades amb la finalitat de mantenir el contacte professional entre CIMNE i voste. Podra exercir els drets d'accés, rectificació, cancel·lació i oposició, dirigint-se a cimne@cimne.upc.edu. La utilització de la seva adreça de correu electronic per part de CIMNE queda subjecte a les disposicions de la Llei 34/2002, de Serveis de la Societat de la Informació i el Comerç Electronic.Imprimiu aquest missatge, només si és estrictament necessari.
_______________________________________________ ublas mailing list ublas@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/ublas Sent to: athanasios.iliopoulos.ctr.gr@nrl.navy.mil