Stream Executor Documentation

39 views
Skip to first unread message

Mini Goel

unread,
May 31, 2024, 3:05:51 PMMay 31
to OpenXLA Discuss
Hello,

Is there a documentation that explains the implementation of Stream Executor in XLA?

Thanks,
Mini


Eugene Zhulenev

unread,
May 31, 2024, 3:11:55 PMMay 31
to Mini Goel, OpenXLA Discuss
No, not really, only the code.

At a high level it's just a few key components:
 - Kernel - a binary blob that runs on device and does computations (for CUDA backends it's a PTX/CUDA kernel)
 - Stream - defines execution order of kernels on device (mapped to CUDA stream for CUDA backend)
 - Event - events to define ordering between streams
 - DeviceMemory - a bag of bytes on device
 - CommandBuffer - a specification that describes multiple kernel launches to save host overheads
 - StreamExecutor - bundles all of these things together under single API

This is a thin abstraction layer on top of underlying device and platform-specific libraries (CUDA, ROCM).

Eugene

--
You received this message because you are subscribed to the Google Groups "OpenXLA Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openxla-discu...@openxla.org.
To view this discussion on the web visit https://groups.google.com/a/openxla.org/d/msgid/openxla-discuss/df9f9963-6e57-4b76-afca-a1fa71940d1bn%40openxla.org.
For more options, visit https://groups.google.com/a/openxla.org/d/optout.

Mini Goel

unread,
May 31, 2024, 3:13:34 PMMay 31
to Eugene Zhulenev, OpenXLA Discuss
Thanks!

Regards

Mini Goel
Reply all
Reply to author
Forward
0 new messages