Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- Alternative to dgemm(A', A, B) which only calculates upper/lower triangular matrix? (CBLAS)

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

Henrik_A_

Beginner

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

06-15-2012
06:34 AM

89 Views

Alternative to dgemm(A', A, B) which only calculates upper/lower triangular matrix? (CBLAS)

I have tried manually implementing this calculation, by multiplying row vectors/blocks of A' by A and storing these in the corresponding blocks of B, however depending on the block size the overhead due to multiple calls can even lead to a decrease in performance (very small blocks) or a gain in performance < 50%.

Alternatively, what would the optimal block size be to reduce the overhead in multiple calls, and spinning up threads? Is any information available on how the algorithm partitions the data into multiple threads internally?

1 Solution

Murat_G_Intel

Employee

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

06-16-2012
04:15 PM

89 Views

Could you please check whether the DSYRK function in MKL BLASwill work for you? Here is an excerpt from the MKL Reference Manual:

The ?syrk routines perform a matrix-matrix operation using symmetric matrices. The operation is defined as

C := alpha*A*A' + beta*C,

or

C := alpha*A'*A + beta*C

Thank you,

Efe

Link Copied

3 Replies

Murat_G_Intel

Employee

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

06-16-2012
04:15 PM

90 Views

Could you please check whether the DSYRK function in MKL BLASwill work for you? Here is an excerpt from the MKL Reference Manual:

The ?syrk routines perform a matrix-matrix operation using symmetric matrices. The operation is defined as

C := alpha*A*A' + beta*C,

or

C := alpha*A'*A + beta*C

Thank you,

Efe

Henrik_A_

Beginner

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

06-18-2012
02:29 AM

89 Views

Murat_G_Intel

Employee

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

06-19-2012
12:24 AM

89 Views

You're right,the documentationcould be more descriptive. Thank you for the input.

Topic Options

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

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