uBLAS vs IntelMKL/AMD/SunPerf

hello, i am writing BLAS L3 code that i wish to be optimal on 3 CPU kinds (Intel core2, AMD k8/k10, SPARCIV+/T1/T2). There are IntelMKL, AMD perf and SUN perf library that are supposedly optimized for the respective processor. They probably (haven't looked yet) have different interfaces. Then there is uBLAS. Is uBLAS configurable to forward calls to the 3rd party lib, or should i just study these libs, and introduce myself an indirection layer? Any thoughts appreciated, rds,

Actually, BLAS has a defined interface in C and Fortran 77. You can link any of those libraries (using their headers as appropriate) to a program that needs BLAS and they should work. The Intel and AMD libraries both have very good performance on their competitors' chips. Any of these libraries is about twice as fast as the reference Netlib BLAS. It doesn't look like uBLAS can delegate to these libraries, they have different interfaces and there would be a significant performance hit translating from the uBLAS structures (matrix, vector_expression classes, etc) to the bare-bones BLAS interface. HTH, Damien -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Hicham Mouline Sent: Friday, April 25, 2008 2:31 AM To: boost-users@lists.boost.org Subject: [Boost-users] uBLAS vs IntelMKL/AMD/SunPerf hello, i am writing BLAS L3 code that i wish to be optimal on 3 CPU kinds (Intel core2, AMD k8/k10, SPARCIV+/T1/T2). There are IntelMKL, AMD perf and SUN perf library that are supposedly optimized for the respective processor. They probably (haven't looked yet) have different interfaces. Then there is uBLAS. Is uBLAS configurable to forward calls to the 3rd party lib, or should i just study these libs, and introduce myself an indirection layer? Any thoughts appreciated, rds, _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

You might want to look here for some bindings to uBlas:
http://mathema.tician.de/software/boost-bindings
I've been using them with atlas and I got quite a nice speedup.
-- Norman
On Fri, Apr 25, 2008 at 9:31 AM, Hicham Mouline
hello, i am writing BLAS L3 code that i wish to be optimal on 3 CPU kinds (Intel core2, AMD k8/k10, SPARCIV+/T1/T2). There are IntelMKL, AMD perf and SUN perf library that are supposedly optimized for the respective processor. They probably (haven't looked yet) have different interfaces. Then there is uBLAS. Is uBLAS configurable to forward calls to the 3rd party lib, or should i just study these libs, and introduce myself an indirection layer?
Any thoughts appreciated,
rds, _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Damien Hocking
-
Hicham Mouline
-
Norman Casagrande