Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

what is panel format? #174

Open
ztjjj9 opened this issue May 7, 2024 · 2 comments
Open

what is panel format? #174

ztjjj9 opened this issue May 7, 2024 · 2 comments

Comments

@ztjjj9
Copy link

ztjjj9 commented May 7, 2024

Hello, I am very interested in your work.
I would like to ask if the testing results in your paper did not transform the raw data into “panel” for cost calculation? And what are the advantages of panel-based computation compared to column-major or row-major computation? Thanks!

@giaf
Copy link
Owner

giaf commented Jun 28, 2024

The results in the 1st BLASFEO paper https://arxiv.org/abs/1704.02457 are for matrices in panel-major (so no timing of possible conversions from and to other formats).
The assumption is that it is possible to write the entire algorithm (e.g. the entire interior point method in HPIPM) using the panel-major matrix format, so there are no conversions from and to column- or row-major matrix formats (or only at an higher interface level, so the conversion cost is negligible).
As described in the paper, the advantage of the panel-major matrix format is that this is somehow similar to the format internally used by all other optimized BLAS implementations (e.g. MKL, OpenBLAS, BLIS, GotoBLAS, ...) and thus it allows for high computational performance.
And, by being exposed and allowing the entire algorithm to be coded with it avoiding unnecessary conversions between matrix formats (implicitly performed within BLAS itself), it greatly improves performance for small-ish matrices.

If you need to convert from and to column- or row-major format at each BLASFEO routine call, then it's more efficient to use the standard BLAS and LAPACK API provided by BLASFEO, as described in the 2nd BLASFEO paper https://arxiv.org/abs/1902.08115.

@ztjjj9
Copy link
Author

ztjjj9 commented Jul 2, 2024

Thank you for your answer, I understand!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants