Skip to content

GPU support and PortBLAS #799

Description

@chsasank

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.

Activity

  1. jeffhammond commented on Feb 25, 2024

    @jeffhammond
    Member

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

  2. chsasank commented on Feb 26, 2024

    @chsasank
    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

  3. nick-knight commented on Feb 26, 2024

    @nick-knight

    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.

  4. chsasank commented on Feb 26, 2024

    @chsasank
    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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions