CINXE.COM
Contributing to OpenXLA | OpenXLA Project
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="OpenXLA Project"> <meta property="og:type" content="website"><meta name="theme-color" content="#1a344c"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/openxla/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/css/app.css"> <link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/css/dark-theme.css" disabled> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/favicon.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/touchicon-180.png"><link rel="canonical" href="https://openxla.org/xla/contributing"><link rel="search" type="application/opensearchdescription+xml" title="OpenXLA Project" href="https://openxla.org/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://openxla.org/xla/contributing" /><link rel="alternate" hreflang="x-default" href="https://openxla.org/xla/contributing" /><link rel="alternate" hreflang="ar" href="https://openxla.org/xla/contributing?hl=ar" /><link rel="alternate" hreflang="bn" href="https://openxla.org/xla/contributing?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://openxla.org/xla/contributing?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://openxla.org/xla/contributing?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://openxla.org/xla/contributing?hl=fa" /><link rel="alternate" hreflang="fr" href="https://openxla.org/xla/contributing?hl=fr" /><link rel="alternate" hreflang="de" href="https://openxla.org/xla/contributing?hl=de" /><link rel="alternate" hreflang="he" href="https://openxla.org/xla/contributing?hl=he" /><link rel="alternate" hreflang="hi" href="https://openxla.org/xla/contributing?hl=hi" /><link rel="alternate" hreflang="id" href="https://openxla.org/xla/contributing?hl=id" /><link rel="alternate" hreflang="it" href="https://openxla.org/xla/contributing?hl=it" /><link rel="alternate" hreflang="ja" href="https://openxla.org/xla/contributing?hl=ja" /><link rel="alternate" hreflang="ko" href="https://openxla.org/xla/contributing?hl=ko" /><link rel="alternate" hreflang="pl" href="https://openxla.org/xla/contributing?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://openxla.org/xla/contributing?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://openxla.org/xla/contributing?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://openxla.org/xla/contributing?hl=es-419" /><link rel="alternate" hreflang="th" href="https://openxla.org/xla/contributing?hl=th" /><link rel="alternate" hreflang="tr" href="https://openxla.org/xla/contributing?hl=tr" /><link rel="alternate" hreflang="vi" href="https://openxla.org/xla/contributing?hl=vi" /><title>Contributing to OpenXLA | OpenXLA Project</title> <meta property="og:title" content="Contributing to OpenXLA | OpenXLA Project"><meta property="og:url" content="https://openxla.org/xla/contributing"><meta property="og:image" content="https://openxla.org/static/site-assets/images/OpenXLA-Logo-RGB-STACK-LIGHT-BG.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Contributing to OpenXLA" } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="openxla-theme" type="article" appearance layout="docs" display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <a href="#main-content" class="skip-link button"> Skip to main content </a> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner" data-nosnippet> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="openXLAProject" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <source srcset="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/lockup-dark-theme.svg" media="(prefers-color-scheme: dark)" class="devsite-dark-theme"> <img src="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/lockup.svg" class="devsite-site-logo" alt="OpenXLA Project"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab class="devsite-dropdown devsite-active "> <a href="https://openxla.org/#xla" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#xla" track-type="nav" track-metadata-position="nav - xla" track-metadata-module="primary nav" aria-label="XLA, selected" data-category="Site-Wide Custom Events" data-label="Tab: XLA" track-name="xla" > XLA </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for XLA" track-type="nav" track-metadata-eventdetail="https://openxla.org/#xla" track-metadata-position="nav - xla" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: XLA" track-name="xla" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://openxla.org/#xla" track-type="nav" track-metadata-eventdetail="https://openxla.org/#xla" track-metadata-position="nav - xla" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Installation/Usage </div> </a> </li> <li class="devsite-nav-item"> <a href="https://openxla.org/xla" track-type="nav" track-metadata-eventdetail="https://openxla.org/xla" track-metadata-position="nav - xla" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/xla" track-type="nav" track-metadata-eventdetail="https://github.com/openxla/xla" track-metadata-position="nav - xla" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Source Code </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://openxla.org/#stablehlo" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#stablehlo" track-type="nav" track-metadata-position="nav - stablehlo" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: StableHLO" track-name="stablehlo" > StableHLO </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for StableHLO" track-type="nav" track-metadata-eventdetail="https://openxla.org/#stablehlo" track-metadata-position="nav - stablehlo" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: StableHLO" track-name="stablehlo" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://openxla.org/stablehlo" track-type="nav" track-metadata-eventdetail="https://openxla.org/stablehlo" track-metadata-position="nav - stablehlo" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/stablehlo" track-type="nav" track-metadata-eventdetail="https://github.com/openxla/stablehlo" track-metadata-position="nav - stablehlo" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Source Code </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://openxla.org/#shardy" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#shardy" track-type="nav" track-metadata-position="nav - shardy" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Shardy" track-name="shardy" > Shardy </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Shardy" track-type="nav" track-metadata-eventdetail="https://openxla.org/#shardy" track-metadata-position="nav - shardy" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Shardy" track-name="shardy" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://openxla.org/shardy" track-type="nav" track-metadata-eventdetail="https://openxla.org/shardy" track-metadata-position="nav - shardy" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/shardy" track-type="nav" track-metadata-eventdetail="https://github.com/openxla/shardy" track-metadata-position="nav - shardy" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Source Code </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://openxla.org/#pjrt" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#pjrt" track-type="nav" track-metadata-position="nav - pjrt" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: PJRT" track-name="pjrt" > PJRT </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for PJRT" track-type="nav" track-metadata-eventdetail="https://openxla.org/#pjrt" track-metadata-position="nav - pjrt" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: PJRT" track-name="pjrt" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://openxla.org/xla/pjrt" track-type="nav" track-metadata-eventdetail="https://openxla.org/xla/pjrt" track-metadata-position="nav - pjrt" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/xla/tree/main/xla/pjrt" track-type="nav" track-metadata-eventdetail="https://github.com/openxla/xla/tree/main/xla/pjrt" track-metadata-position="nav - pjrt" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Source Code </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://openxla.org/#community" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#community" track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > Community </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Community" track-type="nav" track-metadata-eventdetail="https://openxla.org/#community" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://openxla.org/events/fall_devlab_2024" track-type="nav" track-metadata-eventdetail="https://openxla.org/events/fall_devlab_2024" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> 2024 OpenXLA Fall Dev Lab </div> </a> </li> <li class="devsite-nav-item"> <a href="https://openxla.org/events" track-type="nav" track-metadata-eventdetail="https://openxla.org/events" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Events & Recordings </div> </a> </li> <li class="devsite-nav-item"> <a href="https://docs.google.com/document/d/161Tigj7rxgduI3kzIp_IsGNDkakIJUkv7E_44WSJ_aw" track-type="nav" track-metadata-eventdetail="https://docs.google.com/document/d/161Tigj7rxgduI3kzIp_IsGNDkakIJUkv7E_44WSJ_aw" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Community Meetings </div> </a> </li> <li class="devsite-nav-item"> <a href="https://groups.google.com/a/openxla.org/g/openxla-discuss" track-type="nav" track-metadata-eventdetail="https://groups.google.com/a/openxla.org/g/openxla-discuss" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> OpenXLA Discuss </div> </a> </li> <li class="devsite-nav-item"> <a href="https://discord.gg/ZKXq7b3V8A" track-type="nav" track-metadata-eventdetail="https://discord.gg/ZKXq7b3V8A" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Discord </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://openxla.org/#industry-partners" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#industry-partners" track-type="nav" track-metadata-position="nav - industry partners" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Industry Partners" track-name="industry partners" > Industry Partners </a> </tab> <tab > <a href="https://openxla.org/#contact" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://openxla.org/#contact" track-type="nav" track-metadata-position="nav - contact" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Contact" track-name="contact" > Contact </a> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="OpenXLA" tenant-name="OpenXLA Project" > <form class="devsite-search-form" action="https://openxla.org/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-appearance-selector></devsite-appearance-selector> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section devsite-header-no-lower-tabs "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://openxla.org/#xla" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > XLA </a> </li> </ul> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="openXLAProject" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <source srcset="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/lockup-dark-theme.svg" media="(prefers-color-scheme: dark)" class="devsite-dark-theme"> <img src="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/lockup.svg" class="devsite-site-logo" alt="OpenXLA Project"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/#xla" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: XLA" track-name="xla" data-category="Site-Wide Custom Events" data-label="Responsive Tab: XLA" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > XLA </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: XLA" track-name="xla" > <span class="devsite-nav-text" tooltip menu="XLA"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="XLA"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/#stablehlo" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: StableHLO" track-name="stablehlo" data-category="Site-Wide Custom Events" data-label="Responsive Tab: StableHLO" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > StableHLO </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: StableHLO" track-name="stablehlo" > <span class="devsite-nav-text" tooltip menu="StableHLO"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="StableHLO"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/#shardy" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Shardy" track-name="shardy" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Shardy" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Shardy </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Shardy" track-name="shardy" > <span class="devsite-nav-text" tooltip menu="Shardy"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Shardy"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/#pjrt" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: PJRT" track-name="pjrt" data-category="Site-Wide Custom Events" data-label="Responsive Tab: PJRT" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > PJRT </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: PJRT" track-name="pjrt" > <span class="devsite-nav-text" tooltip menu="PJRT"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="PJRT"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/#community" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/#industry-partners" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Industry Partners" track-name="industry partners" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Industry Partners" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Industry Partners </span> </a> </li> <li class="devsite-nav-item"> <a href="/#contact" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Contact" track-name="contact" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contact" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contact </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>XLA developer guide</span> </div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Getting started</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/xla" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/xla/operation_semantics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/operation_semantics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/operation_semantics" ><span class="devsite-nav-text" tooltip>Operation semantics</span></a></li><li class="devsite-nav-item"><a href="/xla/architecture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/architecture" ><span class="devsite-nav-text" tooltip>XLA architecture</span></a></li><li class="devsite-nav-item"><a href="/xla/terminology" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/terminology" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/terminology" ><span class="devsite-nav-text" tooltip>XLA terminology</span></a></li></ul></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Developer details</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/xla/aliasing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/aliasing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/aliasing" ><span class="devsite-nav-text" tooltip>Aliasing</span></a></li><li class="devsite-nav-item"><a href="/xla/async_ops" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/async_ops" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/async_ops" ><span class="devsite-nav-text" tooltip>Async HLO instructions</span></a></li><li class="devsite-nav-item"><a href="/xla/broadcasting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/broadcasting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/broadcasting" ><span class="devsite-nav-text" tooltip>Broadcasting</span></a></li><li class="devsite-nav-item"><a href="/xla/copybara" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/copybara" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/copybara" ><span class="devsite-nav-text" tooltip>Copybara quirks</span></a></li><li class="devsite-nav-item"><a href="/xla/determinism" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/determinism" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/determinism" ><span class="devsite-nav-text" tooltip>Determinism</span></a></li><li class="devsite-nav-item"><a href="/xla/emitters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/emitters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/emitters" ><span class="devsite-nav-text" tooltip>Emitters</span></a></li><li class="devsite-nav-item"><a href="/xla/hermetic_cuda" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/hermetic_cuda" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/hermetic_cuda" ><span class="devsite-nav-text" tooltip>Hermetic CUDA overview</span></a></li><li class="devsite-nav-item"><a href="/xla/indexing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/indexing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/indexing" ><span class="devsite-nav-text" tooltip>Indexing Analysis</span></a></li><li class="devsite-nav-item"><a href="/xla/tools_multihost_hlo_runner" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tools_multihost_hlo_runner" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tools_multihost_hlo_runner" ><span class="devsite-nav-text" tooltip>Multi-host HLO runner</span></a></li><li class="devsite-nav-item"><a href="/xla/persisted_autotuning" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/persisted_autotuning" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/persisted_autotuning" ><span class="devsite-nav-text" tooltip>Persisted autotuning</span></a></li><li class="devsite-nav-item"><a href="/xla/shapes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/shapes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/shapes" ><span class="devsite-nav-text" tooltip>Shapes and layout</span></a></li><li class="devsite-nav-item"><a href="/xla/test_hlo_passes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/test_hlo_passes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/test_hlo_passes" ><span class="devsite-nav-text" tooltip>Testing HLO passes</span></a></li><li class="devsite-nav-item"><a href="/xla/tiled_layout" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tiled_layout" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tiled_layout" ><span class="devsite-nav-text" tooltip>Tiled layout</span></a></li><li class="devsite-nav-item"><a href="/xla/lsp" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/lsp" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/lsp" ><span class="devsite-nav-text" tooltip>Using LSP autocompletion</span></a></li><li class="devsite-nav-item"><a href="/xla/custom_call" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/custom_call" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/custom_call" ><span class="devsite-nav-text" tooltip>Writing custom calls</span></a></li><li class="devsite-nav-item"><a href="/xla/tools" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tools" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tools" ><span class="devsite-nav-text" tooltip>XLA Tooling</span></a></li></ul></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Contributing</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/xla/contributing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/contributing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/contributing" ><span class="devsite-nav-text" tooltip>Contributing</span></a></li><li class="devsite-nav-item"><a href="/xla/build_from_source" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/build_from_source" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/build_from_source" ><span class="devsite-nav-text" tooltip>Build from source</span></a></li><li class="devsite-nav-item"><a href="/xla/developing_new_backend" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/developing_new_backend" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/developing_new_backend" ><span class="devsite-nav-text" tooltip>Develop a new backend for XLA</span></a></li><li class="devsite-nav-item"><a href="/xla/developer_guide" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/developer_guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/developer_guide" ><span class="devsite-nav-text" tooltip>Developer guide</span></a></li></ul></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>PJRT Plugins</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/xla/pjrt/pjrt_integration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/pjrt/pjrt_integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/pjrt/pjrt_integration" ><span class="devsite-nav-text" tooltip>Develop a new PJRT plugin</span></a></li><li class="devsite-nav-item"><a href="/xla/pjrt/cpp_api_overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/pjrt/cpp_api_overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/pjrt/cpp_api_overview" ><span class="devsite-nav-text" tooltip>PJRT C++ API Overview</span></a></li><li class="devsite-nav-item"><a href="/xla/pjrt/examples" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/pjrt/examples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/pjrt/examples" ><span class="devsite-nav-text" tooltip>PJRT Examples</span></a></li></ul></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Using XLA in TensorFlow</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/xla/tf2xla" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tf2xla" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tf2xla" ><span class="devsite-nav-text" tooltip>Using XLA in TensorFlow</span></a></li><li class="devsite-nav-item"><a href="/xla/tf2xla/tfcompile" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tf2xla/tfcompile" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tf2xla/tfcompile" ><span class="devsite-nav-text" tooltip>Use tfcompile</span></a></li><li class="devsite-nav-item"><a href="/xla/tf2xla/tutorials/autoclustering_xla" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tf2xla/tutorials/autoclustering_xla" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tf2xla/tutorials/autoclustering_xla" ><span class="devsite-nav-text" tooltip>Autoclustering tutorial</span></a></li><li class="devsite-nav-item"><a href="/xla/tf2xla/tutorials/jit_compile" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /xla/tf2xla/tutorials/jit_compile" track-type="bookNav" track-name="click" track-metadata-eventdetail="/xla/tf2xla/tutorials/jit_compile" ><span class="devsite-nav-text" tooltip>Use XLA with tf.function</span></a></li></ul></li> </ul> <ul class="devsite-nav-list" menu="XLA" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/#xla" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Installation/Usage" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Installation/Usage </span> </a> </li> <li class="devsite-nav-item"> <a href="/xla" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/xla" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Source Code" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Source Code </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="StableHLO" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/stablehlo" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/stablehlo" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Source Code" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Source Code </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Shardy" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/shardy" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/shardy" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Source Code" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Source Code </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="PJRT" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/xla/pjrt" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/openxla/xla/tree/main/xla/pjrt" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Source Code" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Source Code </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/events/fall_devlab_2024" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: 2024 OpenXLA Fall Dev Lab" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > 2024 OpenXLA Fall Dev Lab </span> </a> </li> <li class="devsite-nav-item"> <a href="/events" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Events & Recordings" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Events & Recordings </span> </a> </li> <li class="devsite-nav-item"> <a href="https://docs.google.com/document/d/161Tigj7rxgduI3kzIp_IsGNDkakIJUkv7E_44WSJ_aw" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community Meetings" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community Meetings </span> </a> </li> <li class="devsite-nav-item"> <a href="https://groups.google.com/a/openxla.org/g/openxla-discuss" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: OpenXLA Discuss" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > OpenXLA Discuss </span> </a> </li> <li class="devsite-nav-item"> <a href="https://discord.gg/ZKXq7b3V8A" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Discord" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Discord </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" has-book-nav has-sidebar > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars ></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://openxla.org/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="OpenXLA" > OpenXLA </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://openxla.org/#xla" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > XLA </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="OpenXLA" product-id="5319284" bucket="" context="" version="t-devsite-webserver-20250325-r00-rc03.468100743126793331" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/touchicon-180.png" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Contributing to OpenXLA <div class="devsite-actions" data-nosnippet><devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip></div> </h1> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <p></p> <!-- DO NOT EDIT! Automatically generated file. --> <p>Everyone can contribute to OpenXLA, and we value everyone’s contributions. There are several ways to contribute, including:</p> <ul> <li><p>Answering questions on OpenXLA’s discussions forums (openxla-discuss)</p></li> <li><p>Improving or expanding OpenXLA’s documentation</p></li> <li><p>Contributing to OpenXLA’s code-base</p></li> <li><p>Contributing in any of the above ways to the broader ecosystem of libraries built on OpenXLA</p></li> </ul> <p>The OpenXLA project follows <a href="https://opensource.google/conduct/">Google’s Open Source Community Guidelines</a>.</p> <h2 id="before_you_begin" data-text="Before you begin" tabindex="-1">Before you begin</h2> <h3 id="sign_the_contributor_license_agreement" data-text="Sign the Contributor License Agreement" tabindex="-1">Sign the Contributor License Agreement</h3> <p>Contributions to this project must be accompanied by a <a href="https://cla.developers.google.com/about">Contributor License Agreement</a> (CLA). You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project.</p> <p>If you or your current employer have already signed the Google CLA (even if it was for a different project), you probably don't need to do it again.</p> <p>Visit <<a href="https://cla.developers.google.com/">https://cla.developers.google.com/</a>> to see your current agreements or to sign a new one.</p> <h3 id="review_the_code_of_conduct" data-text="Review the Code of Conduct" tabindex="-1">Review the Code of Conduct</h3> <p>This project follows <a href="https://github.com/tensorflow/tensorflow/blob/master/CODE_OF_CONDUCT.md">Tensorflow's Code of Conduct</a>.</p> <h2 id="contribution_process" data-text="Contribution process" tabindex="-1">Contribution process</h2> <h3 id="developer_guide" data-text="Developer Guide" tabindex="-1">Developer Guide</h3> <p>For a guide on how to setup a development environment for OpenXLA, including getting code, building it, running tests and submitting changes, please refer to the <a href="https://openxla.org/xla/developer_guide">Developer guide</a>.</p> <h3 id="code_standards" data-text="Code standards" tabindex="-1">Code standards</h3> <ul> <li><p><em>Coding style</em>: We follow <a href="https://google.github.io/styleguide/">Google's code style guide</a>. Specifically see the <a href="https://google.github.io/styleguide/cppguide.html">C/C++</a> and <a href="https://google.github.io/styleguide/pyguide.html">Python</a> guides. All code submitted must strictly conform to these style guides.</p></li> <li><p><em>Compact changes</em>: We follow <a href="https://google.github.io/eng-practices/">Google's engineering practices</a>. In particular, please observe the <a href="https://google.github.io/eng-practices/review/developer/small-cls.html">guide on writing compact changes</a>. Doing so will greatly increase the speed at which you can get your code merged due to improve reviewability, and reducing the likelihood of unintentional side effects of change. Even if you have a large change, there are many strategies for breaking it up into more incremental changes.</p></li> <li><p><em>Test Coverage</em>: All changes should include appropriate unit tests. Unit tests should not be dependent on specific hardware (CPU, GPU, etc.) timings, and should make liberal use of mocks and fakes in order to make deterministic and focused tests. Changes seeking to extend existing code that’s currently hard to test should make appropriate improvements to testability.</p> <p>All changes should include appropriate benchmark results as well in the change title to ensure the benefits are clearly understood.</p></li> <li><p>When in doubt as to conventions within the code, it is always a good idea to examine pre-existing code and to try to follow the patterns already in place in OpenXLA.</p></li> </ul> <h3 id="review_process" data-text="Review Process" tabindex="-1">Review Process</h3> <p>All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult <a href="https://help.github.com/articles/about-pull-requests/">GitHub Help</a> for more information on using pull requests.</p> <ul> <li><p>Code must follow all standards listed above prior to review. These are not optional and it is critical that the submitter ensure their code conforms before requesting review in order to assure timely acceptance of changes.</p></li> <li><p><em>All tests must pass</em>. If you find that a test is broken and the issue is not related to your build environment or otherwise your changes, please contact the maintainers.</p></li> <li><p>Try to avoid scope creep during the review process. This is the responsibility of both the submitter and the reviewer. If a change starts to get too large, consider breaking it up into multiple changes.</p></li> <li><p>Before a change is merged, it will undergo internal testing that uses code internal to Google and other hardware vendors. This can potentially add extra steps to the review process if there are failures on internal tests that our public CI doesn't catch. The Googler reviewing your change will communicate any internal test failures and describe what needs to be fixed.</p></li> </ul> <h2 id="frequently_asked_questions_faq" data-text="Frequently asked questions (FAQ)" tabindex="-1">Frequently asked questions (FAQ)</h2> <h3 id="this_infrastructure_change_is_not_related_to_my_pr_why_should_i_do_it" data-text='"This infrastructure change is not related to my PR. Why should I do it?"' tabindex="-1">"This infrastructure change is not related to my PR. Why should I do it?"</h3> <p>The XLA team doesn't have a dedicated infrastructure team, so it's up to us all to build helper libraries and avoid technical debt. We consider it to be a regular part of making changes to XLA, and everyone is expected to participate. We generally build infrastructure as needed when writing code.</p> <p>XLA reviewers may ask you to build some infrastructure (or otherwise make a large change to a PR) along with a PR that you've written. This request may seem unnecessary or orthogonal to the change you're trying to make. This is likely because of a mismatch between your expectations about how much infra you need to build and your reviewer's expectations for the same.</p> <p>A mismatch in expectations is okay! That's expected when you're new to a project (and it sometimes even happens to us old hats). It's likely that projects you've worked on in the past have different expectations. That's also okay and expected! It doesn't mean either one of these projects has the wrong approach; they're just different. We invite you to take infra requests alongside all other review comments as an opportunity to learn what we expect on this project.</p> <h3 id="can_i_address_your_comment_in_a_future_pr" data-text='"Can I address your comment in a future PR?"' tabindex="-1">"Can I address your comment in a future PR?"</h3> <p>A frequent question with respect to infrastructure requests (or other large requests) in PRs is whether or not the change must be made in the original PR, or whether it can be done as a follow-up in a future PR.</p> <p>In general, XLA does not allow PR authors to address review comments with a follow-up PR. When a reviewer decides that something needs to be addressed in a given PR, we generally expect authors to address it in that PR, even if what's requested is a large change. This standard applies externally and also internally within Google.</p> <p>There are a few reasons that XLA takes this approach.</p> <ul> <li><p><em>Trust:</em> Having earned the reviewer's trust is a key component. In an open-source project, contributors can appear or disappear at will. After we approve a PR, reviewers have no way to ensure that any promised follow-ups actually get done.</p></li> <li><p><em>Impact on other developers:</em> If you have sent a PR touching a particular part of XLA, there's a good chance other people are looking at the same part. If we accept technical debt in your PR, then everyone who's looking at this file will be impacted by this debt until the follow-up is submitted.</p></li> <li><p><em>Reviewer bandwidth:</em> Deferring a change to a follow-up imposes multiple costs on our already overloaded reviewers. Reviewers will probably forget what the first PR was about while waiting for the follow-up, making the next review more difficult. Also, reviewers will have to keep track of expected follow-ups, making sure that they actually happen. If the change can be made such that it is truly orthogonal to the original PR so that some other reviewer could review it, bandwidth would be less of a problem. In our experience, this is rarely the case.</p></li> </ul> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="OpenXLA" product-id="5319284" bucket="" context="" version="t-devsite-webserver-20250325-r00-rc03.468100743126793331" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/touchicon-180.png" > <button> Send feedback </button> </devsite-feedback> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2025-01-09 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="OpenXLA" product-id="5319284" bucket="" context="" version="t-devsite-webserver-20250325-r00-rc03.468100743126793331" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/touchicon-180.png" > <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-09 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Stay connected</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://twitter.com/openxla" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.youtube.com/@openxla" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > YouTube </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-Z67BRKDG1B", "purpose": 0}], "ga4p": [{"id": "G-Z67BRKDG1B", "purpose": 0}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "OpenXLA", "signedIn": "False", "tenant": "openxla", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="GfHtIpTGEMD2PFWLPbJ1Nr5K3sCGcI"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/js/app_loader.js', '[56,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9","https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla","https://openxla-dot-devsite-v2-prod-3p.appspot.com",null,null,["/_pwa/openxla/manifest.json","https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/favicon.png","https://www.gstatic.com/devrel-devsite/prod/vd31e3ed8994e05c7f2cd0cf68a402ca7902bb92b6ec0977d7ef2a1c699fae3f9/openxla/images/lockup.svg","https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyCNm9YxQumEXwGJgTDjxoxXK6m1F-9720Q","AIzaSyCc76DZePGtoyUjqKrLdsMGk_ry7sljLbY","openxla.org","AIzaSyB9bqgQ2t11WJsOX8qNsCQ6U-w91mmqF-I","AIzaSyAdYnStPdzjcJJtQ0mvIaeaMKj7_t6J_Fg",null,null,null,["DevPro__enable_firebase_workspaces_card","DevPro__enable_enterprise","Analytics__enable_clearcut_logging","Cloud__enable_cloud_facet_chat","OnSwitch__enable","DevPro__enable_code_assist","Cloud__enable_llm_concierge_chat","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_framebox_badge_methods","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__gdp_dashboard_reskin_enabled","Cloud__enable_cloud_shell_fte_user_flow","DevPro__enable_developer_subscriptions","DevPro__enable_google_one_card","MiscFeatureFlags__enable_variable_operator","Profiles__enable_complete_playlist_endpoint","Profiles__enable_completequiz_endpoint","Profiles__enable_public_developer_profiles","Search__enable_page_map","MiscFeatureFlags__enable_firebase_utm","Profiles__require_profile_eligibility_for_signin","Profiles__enable_purchase_prompts","Search__enable_ai_eligibility_checks","MiscFeatureFlags__enable_explain_this_code","Cloud__enable_free_trial_server_call","EngEduTelemetry__enable_engedu_telemetry","Profiles__enable_page_saving","MiscFeatureFlags__enable_variable_operator_index_yaml","Profiles__enable_dashboard_curated_recommendations","MiscFeatureFlags__developers_footer_dark_image","DevPro__enable_vertex_credit_card","Concierge__enable_pushui","Cloud__enable_cloudx_experiment_ids","Profiles__enable_awarding_url","BookNav__enable_tenant_cache_key","TpcFeatures__enable_unmirrored_page_left_nav","Profiles__enable_recognition_badges","Cloud__enable_legacy_calculator_redirect","Concierge__enable_actions_menu","CloudShell__cloud_code_overflow_menu","Experiments__reqs_query_experiments","Profiles__enable_completecodelab_endpoint","MiscFeatureFlags__emergency_css","CloudShell__cloud_shell_button","Profiles__enable_stripe_subscription_management","Profiles__enable_profile_collections","DevPro__enable_devpro_offers","Cloud__enable_cloudx_ping","MiscFeatureFlags__enable_view_transitions","MiscFeatureFlags__enable_project_variables","Search__enable_suggestions_from_borg","Profiles__enable_join_program_group_endpoint","DevPro__enable_cloud_innovators_plus","Profiles__enable_release_notes_notifications","TpcFeatures__enable_mirror_tenant_redirects","Cloud__enable_cloud_shell","Search__enable_dynamic_content_confidential_banner","Profiles__enable_developer_profiles_callout"],null,null,"AIzaSyA58TaKli1DculwmAmbpzLVGuWc8eCQgQc","https://developerscontentserving-pa.googleapis.com","AIzaSyDWBU60w0P9hEkr29kkksYs8Z7gvZ8u_wc","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[56,"openxla","OpenXLA Project","openxla.org",null,"openxla-dot-devsite-v2-prod-3p.appspot.com",null,null,[null,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,[1,null,1],[1,1,null,1,1]],null,[72,null,null,null,null,null,"/images/lockup.svg","images/touchicon-180.png",null,null,null,1,null,null,null,null,null,null,null,null,null,2,null,null,null,"/images/lockup-dark-theme.svg"],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],[1,1]],[[null,null,null,null,null,null,null,[["G-Z67BRKDG1B"],null,null,[["G-Z67BRKDG1B",1]]],null,null,null,null,1]],null,4],null,null,1,null,"https://developerscontentinsights-pa.googleapis.com","AIzaSyC11xEGtFhkmSh_iF6l_itbxnFz2GrIBOg","AIzaSyAXJ10nRF73mmdSDINgkCNX5bbd2KPcWm8"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>