{"push_id":1038384811,"size":6,"distinct_size":6,"ref":"refs/heads/feature/ublas00004_simd_gemm","head":"6aed985ce46a0a27fbd6ba469fbdef4fbd4094c3","before":"f02588c521259d0aa9b95cd06224a5f3b8b11b9e","commits":[{"sha":"d6ceeda41d60a3c1967f20fb4d19fc8635822f2d","author":{"email":"0ca97cd4f56857405ad36dffa8b6a57b1229467f@yahoo.co.uk","name":"Imre Palik"},"message":"ublas: improved dense matrix multiplication performance\n\nThis patch includes the gemm implementation from Michael Lehn to\nboost::ublas.\n\nThis modifies the workings of ublas::prod() and ublas::axppy_prod()\nto use gemm() above a certain matrix size.\n\nThis patch only contains the basic architecture, and a generic c++\nimplementation.\n\nSigned-off-by: Imre Palik <imre_palik@yahoo.co.uk>\nCc: Michael Lehn <michael.lehn@uni-ulm.de>","distinct":true,"url":"https://api.github.com/repos/imre-palik/ublas/commits/d6ceeda41d60a3c1967f20fb4d19fc8635822f2d"},{"sha":"946f190af2d2501cceb27e8ec1f4af9c1eaac993","author":{"email":"0ca97cd4f56857405ad36dffa8b6a57b1229467f@yahoo.co.uk","name":"Imre Palik"},"message":"boost::ublas: gcc support for optimal matrix multiplication\n\nThis patch contains an optimised, vectorised kernel, using gcc's\nSIMD vectors.  This reaches matrix multiplication speeds\ncomparable to hand-crafted assembly kernels on x86 Haswell\nmicroarchitecture.\n\nThe kernels are compile-time parametrisable, ans the patch also\ncontains optimised kernel parameters for float, double, and long\ndouble.\n\nThe validity of the parameters are checked during compile-time,\nbut the produced compile error can be relatively obscure if\nvector_length is too big.\n\nFor architectures that doesn't support vectorisation for all types, it is\npossible to specify parameters that cause really suboptimal code generation.\nBut as far as I see code correctness is ensured.\n\nSigned-off-by: Imre Palik <imre_palik@yahoo.co.uk>\nCc: Michael Lehn <michael.lehn@uni-ulm.de>","distinct":true,"url":"https://api.github.com/repos/imre-palik/ublas/commits/946f190af2d2501cceb27e8ec1f4af9c1eaac993"},{"sha":"cdeaa292d8f4c8210ec51bc0c5ff14104db98a8c","author":{"email":"0ca97cd4f56857405ad36dffa8b6a57b1229467f@yahoo.co.uk","name":"Imre Palik"},"message":"boost::ublas increasing the range of BLAS level 3 benchmarks\n\nThis patch increases the range of BLAS level 3 benchmarks for dense\nmatrices up to 1000*1000 matrices.\n\nSigned-off-by: Imre Palik <imre_palik@yahoo.co.uk>","distinct":true,"url":"https://api.github.com/repos/imre-palik/ublas/commits/cdeaa292d8f4c8210ec51bc0c5ff14104db98a8c"},{"sha":"02b4fae79678204a33007bebdad19a5e89774f33","author":{"email":"0ca97cd4f56857405ad36dffa8b6a57b1229467f@yahoo.co.uk","name":"Imre Palik"},"message":"ublas::gemm adding support for clang\n\nThis patch enables the optimised kernel for clang.\nSadly, when compiled by clang, the performance of this kernel on\nHaswell is approximately half of the kernel compiled by gcc.\nBut it is still way faster than anything else.\n\nSigned-off-by: Imre Palik <imre_palik@yahoo.co.uk>","distinct":true,"url":"https://api.github.com/repos/imre-palik/ublas/commits/02b4fae79678204a33007bebdad19a5e89774f33"},{"sha":"7f8213d39471c4d65064ad32334fe27def0f6f77","author":{"email":"0ca97cd4f56857405ad36dffa8b6a57b1229467f@yahoo.co.uk","name":"Imre Palik"},"message":"ublas::gemm making possible to disable gemm as the default dense matrix multiplication\n\nIf the preprocessor macro BOOST_UBLAS_LEGACY_PRODUCT is defined, then\nboth prod() and axpy_prod() falls back to the legacy matrix\nmultiplication algorithm.\n\nSigned-off-by: Imre Palik <imre_palik@yahoo.co.uk>","distinct":true,"url":"https://api.github.com/repos/imre-palik/ublas/commits/7f8213d39471c4d65064ad32334fe27def0f6f77"},{"sha":"6aed985ce46a0a27fbd6ba469fbdef4fbd4094c3","author":{"email":"0ca97cd4f56857405ad36dffa8b6a57b1229467f@yahoo.co.uk","name":"Imre Palik"},"message":"ublas:gemm kernels for complex multiplication\n\nThis patch contains optimised kernels for multiplying complex matrices,\ntogether with the kernel parameters I find decently performing on Haswell.\n\nSigned-off-by: Imre Palik <imre_palik@yahoo.co.uk>","distinct":true,"url":"https://api.github.com/repos/imre-palik/ublas/commits/6aed985ce46a0a27fbd6ba469fbdef4fbd4094c3"}]}