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

GPU support and PortBLAS #799

Open
chsasank opened this issue Feb 19, 2024 · 4 comments
Open

GPU support and PortBLAS #799

chsasank opened this issue Feb 19, 2024 · 4 comments

Comments

@chsasank
Copy link

chsasank commented Feb 19, 2024

I see in your readme that you're interested in GPU support. A library like yours called PortBLAS exists which promises performance portability across different GPUs: https://github.com/codeplaysoftware/portBLAS. It uses sycl standard and this library used to be called sycl-blas. I wonder if some inspiration (or code) can be take from here to support GPUs for BLIS.

Am no expert at BLAS stuff, but happy to contribute if hand holded a bit.

@jeffhammond
Copy link
Member

DGEMM cannot and will not be performance portable unless your standards for performance are low. There are decades of empirical results confirming this.

@chsasank
Copy link
Author

I think with a pinch of autotuning, I think it is possible. For example, see what triton does for matrix multiplication. No hard coding of important parameters and higher level abstraction. Nothing specific to Nvidia anymore.

If your definition of performance portability is the same binary and no hardware specific optimizations, I agree with you. But I guess, my definition of that is not dissimilar to BLIS's own version of it: https://github.com/flame/blis/tree/master/config

@nick-knight
Copy link

my definition of that is not dissimilar to BLIS's own version of it: https://github.com/flame/blis/tree/master/config

We welcome your contributions of new configurations, to accompany the ones you've discovered in blis/config. And you are welcome to use autotuning to assist your (micro)kernel development.

@chsasank
Copy link
Author

Unfortunately BLIS doesn't compile to any sort of GPU :(

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

3 participants