Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- best way to compute products of the form A*S*A' where S is symmetric?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

rnickb

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-26-2015
03:20 PM

12 Views

best way to compute products of the form A*S*A' where S is symmetric?

What's the best way to efficiently compute a product of the form A*S*A' where S is symmetric with MKL?

Does MKL provide anything similar to the sykrx function that's part of cublas (http://docs.nvidia.com/cuda/cublas/#cublasxt_syrkx)? so that you can use it along with symm to compute the product without having to recompute symmetric entries?

3 Replies

Highlighted
##

Ying_H_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

02-01-2015
05:11 PM

12 Views

Hi rnickb,

I checked with internal team. Unfortunately there is no analogous routine in MKL. But could you please share some background about the functionality (here or send me private message), so i may create a feature request to our developer if there is a good strong motivation behind that.

Thanks

Ying

Highlighted
##

rnickb

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

02-01-2015
05:31 PM

12 Views

Thanks for checking.

That computation is used in the update step to the inverse hessian approximation in the BFGS optimization algorithm (http://en.wikipedia.org/wiki/Broyden–Fletcher–Goldfarb–Shanno_algorithm) so it would be useful functionality to support.

Highlighted
##

Ying_H_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-17-2015
06:29 PM

12 Views

Hi rnickb,

We introduced a new GEMM-like extension into MKL, available starting in MKL 11.3b1. It is called GEMMT, and it is similar to GEMM except that it updates only the upper or lower triangular part of the C matrix. It also requires C to be square (size n x n).

To compute A * S * A', you can do as suggested: use SYMM to compute B=A*S, then use GEMMT to compute B*A'.

As MKl 11.3 beta 1 are included Intel Parallel Studio XE 2016 beta. I send one beta invitation letter to you. You are welcomed to try it and let us know if any feedback.

Thanks

Ying

For more complete information about compiler optimizations, see our Optimization Notice.