blob: 21495ff88995c565bf27fef915a90051677fad6a [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" data-content_root="../../" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>CUDA support &#8212; Apache Arrow v23.0.0.dev39</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../_static/sphinx-design.min.css?v=95c83b7e" />
<link rel="stylesheet" type="text/css" href="../../_static/theme_overrides.css?v=8dcd28dc" />
<!-- So that users can add custom icons -->
<script src="../../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<script src="../../_static/documentation_options.js?v=d3a452a1"></script>
<script src="../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../../_static/copybutton.js?v=3bb21c8c"></script>
<script src="../../_static/design-tabs.js?v=f930bc37"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'cpp/api/cuda';</script>
<script>
DOCUMENTATION_OPTIONS.theme_version = '0.16.1';
DOCUMENTATION_OPTIONS.theme_switcher_json_url = '/docs/_static/versions.json';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = 'dev/';
DOCUMENTATION_OPTIONS.show_version_warning_banner =
true;
</script>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/api/cuda.html" />
<link rel="icon" href="../../_static/favicon.ico"/>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Arrow Flight RPC" href="flight.html" />
<link rel="prev" title="File Formats" href="formats.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="23.0.0.dev39" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '20']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<form class="bd-search d-flex align-items-center"
action="../../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
<div class="bd-header__inner bd-page-width">
<button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
<span class="fa-solid fa-bars"></span>
</button>
<div class=" navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../../index.html">
<img src="../../_static/arrow.png" class="logo__image only-light" alt="Apache Arrow v23.0.0.dev39 - Home"/>
<img src="../../_static/arrow-dark.png" class="logo__image only-dark pst-js-only" alt="Apache Arrow v23.0.0.dev39 - Home"/>
</a></div>
</div>
<div class=" navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../format/index.html">
Specifications
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../developers/index.html">
Development
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../../implementations.html">
Implementations
</a>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<div class="navbar-item"><div class="kapa-ai-bot">
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2"
data-project-name="Apache Arrow"
data-project-color="#000000"
data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png"
data-modal-disclaimer="This is a custom LLM with access to all [Arrow documentation](https://arrow.apache.org/docs/). Please include the language you are using in your question, e.g., Python, C++, Java, R, etc."
data-consent-required="true"
data-user-analytics-cookie-enabled="false"
data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."
></script>
</div>
</div>
<div class="navbar-item">
<div class="version-switcher__container dropdown pst-js-only">
<button id="pst-version-switcher-button-2"
type="button"
class="version-switcher__button btn btn-sm dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-2"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-2"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-2">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div></div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
<div class="navbar-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://www.linkedin.com/company/apache-arrow/" title="LinkedIn" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i>
<span class="sr-only">LinkedIn</span></a>
</li>
<li class="nav-item">
<a href="https://bsky.app/profile/arrow.apache.org" title="BlueSky" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-bluesky fa-lg" aria-hidden="true"></i>
<span class="sr-only">BlueSky</span></a>
</li>
</ul></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
<span class="fa-solid fa-outdent"></span>
</button>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../format/index.html">
Specifications
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../developers/index.html">
Development
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../../implementations.html">
Implementations
</a>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item"><div class="kapa-ai-bot">
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2"
data-project-name="Apache Arrow"
data-project-color="#000000"
data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png"
data-modal-disclaimer="This is a custom LLM with access to all [Arrow documentation](https://arrow.apache.org/docs/). Please include the language you are using in your question, e.g., Python, C++, Java, R, etc."
data-consent-required="true"
data-user-analytics-cookie-enabled="false"
data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."
></script>
</div>
</div>
<div class="navbar-item">
<div class="version-switcher__container dropdown pst-js-only">
<button id="pst-version-switcher-button-3"
type="button"
class="version-switcher__button btn btn-sm dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-3"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-3"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-3">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div></div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
<div class="navbar-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://www.linkedin.com/company/apache-arrow/" title="LinkedIn" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i>
<span class="sr-only">LinkedIn</span></a>
</li>
<li class="nav-item">
<a href="https://bsky.app/profile/arrow.apache.org" title="BlueSky" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-bluesky fa-lg" aria-hidden="true"></i>
<span class="sr-only">BlueSky</span></a>
</li>
</ul></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<nav class="bd-docs-nav bd-links"
aria-label="Section Navigation">
<p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
<div class="bd-toc-item navbar-nav"><ul class="current nav bd-sidenav">
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/dotnet/">.NET</a></li>
<li class="toctree-l1 current active has-children"><a class="reference internal" href="../index.html">C++</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l2 has-children"><a class="reference internal" href="../getting_started.html">Getting Started</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../build_system.html">Using Arrow C++ in your own project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../conventions.html">Conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/basic_arrow.html">Basic Arrow Data Structures</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/io_tutorial.html">Arrow File I/O</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/compute_tutorial.html">Arrow Compute</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/datasets_tutorial.html">Arrow Datasets</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../user_guide.html">User Guide</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview.html">High-Level Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../memory.html">Memory Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../arrays.html">Arrays</a></li>
<li class="toctree-l3"><a class="reference internal" href="../datatypes.html">Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tables.html">Tabular Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../compute.html">Compute Functions</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../gandiva.html">The Gandiva Expression Compiler</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../gandiva/expr_projector_filter.html">Gandiva Expression, Projector, and Filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../gandiva/external_func.html">Gandiva External Functions Development Guide</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../acero.html">Acero: A C++ streaming execution engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../acero/overview.html">Acero Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../acero/user_guide.html">Acero User’s Guide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../acero/substrait.html">Using Acero with Substrait</a></li>
</ul>
</details></li>
<li class="toctree-l3"><a class="reference internal" href="../io.html">Input / output and filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ipc.html">Reading and writing the Arrow IPC format</a></li>
<li class="toctree-l3"><a class="reference internal" href="../orc.html">Reading and Writing ORC files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../parquet.html">Reading and writing Parquet files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../json.html">Reading JSON files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../dataset.html">Tabular Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gdb.html">Debugging code using Arrow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../threading.html">Thread Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../opentelemetry.html">OpenTelemetry</a></li>
<li class="toctree-l3"><a class="reference internal" href="../env_vars.html">Environment Variables</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../examples/index.html">Examples</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples/cmake_minimal_build.html">Minimal build using CMake</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/compute_and_write_example.html">Compute and Write CSV Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/dataset_documentation_example.html">Arrow Datasets example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/parquet_column_encryption.html">Parquet column encryption</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/row_columnar_conversion.html">Row to columnar conversion</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/tuple_range_conversion.html">std::tuple-like ranges to Arrow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/converting_recordbatch_to_tensor.html">Converting RecordBatch to Tensor</a></li>
</ul>
</details></li>
<li class="toctree-l2 current active has-children"><a class="reference internal" href="../api.html">API Reference</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="support.html">Programming Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="memory.html">Memory (management)</a></li>
<li class="toctree-l3"><a class="reference internal" href="thread.html">Thread (management)</a></li>
<li class="toctree-l3"><a class="reference internal" href="datatype.html">Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="array.html">Arrays</a></li>
<li class="toctree-l3"><a class="reference internal" href="extension.html">Extension</a></li>
<li class="toctree-l3"><a class="reference internal" href="scalar.html">Scalars</a></li>
<li class="toctree-l3"><a class="reference internal" href="builder.html">Array Builders</a></li>
<li class="toctree-l3"><a class="reference internal" href="table.html">Two-dimensional Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="c_abi.html">C Interfaces</a></li>
<li class="toctree-l3"><a class="reference internal" href="compute.html">Compute Functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="acero.html">Streaming Execution (Acero)</a></li>
<li class="toctree-l3"><a class="reference internal" href="gandiva.html">Gandiva Expression Compiler</a></li>
<li class="toctree-l3"><a class="reference internal" href="tensor.html">Tensors</a></li>
<li class="toctree-l3"><a class="reference internal" href="utilities.html">Utilities</a></li>
<li class="toctree-l3"><a class="reference internal" href="async.html">Asynchronous programming</a></li>
<li class="toctree-l3"><a class="reference internal" href="io.html">Input / output</a></li>
<li class="toctree-l3"><a class="reference internal" href="ipc.html">Arrow IPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="formats.html">File Formats</a></li>
<li class="toctree-l3 current active"><a class="current reference internal" href="#">CUDA support</a></li>
<li class="toctree-l3"><a class="reference internal" href="flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="flightsql.html">Arrow Flight SQL</a></li>
<li class="toctree-l3"><a class="reference internal" href="filesystem.html">Filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="dataset.html">Dataset</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../developers/cpp/index.html">C++ Development</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/building.html">Building Arrow C++</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/development.html">Development Guidelines</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/windows.html">Developing on Windows</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/emscripten.html">Cross compiling for WebAssembly with Emscripten</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/conventions.html">Conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/fuzzing.html">Fuzzing Arrow C++</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/compute.html">Developing Arrow C++ Compute</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../developers/cpp/acero.html">Developing Acero</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../developers/cpp/acero/swiss_table.html">Swiss Table</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/cpp/">C++ Cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../c_glib/index.html">C GLib</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-glib/index.html">Apache Arrow GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-cuda-glib/index.html">Apache Arrow CUDA GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-dataset-glib/index.html">Apache Arrow Dataset</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-flight-glib/index.html">Apache Arrow Flight GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-flight-sql-glib/index.html">Apache Arrow Flight SQL GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/parquet-glib/index.html">Apache Parquet GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/gandiva-glib/index.html">Gandiva GLib</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/go/">Go</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/js/current/">JavaScript</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/julia/">Julia</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">MATLAB</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../python/index.html">Python</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../../python/install.html">Installing PyArrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/getstarted.html">Getting Started</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/data.html">Data Types and In-Memory Data Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/memory.html">Memory and IO Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/ipc.html">Streaming, Serialization, and IPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/filesystems.html">Filesystem Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/numpy.html">NumPy Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/pandas.html">Pandas Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/interchange_protocol.html">Dataframe Interchange Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/dlpack.html">The DLPack Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/timestamps.html">Timestamps</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/orc.html">Reading and Writing the Apache ORC Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/feather.html">Feather File Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/json.html">Reading JSON files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/parquet.html">Reading and Writing the Apache Parquet Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/dataset.html">Tabular Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/extending_types.html">Extending PyArrow</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../python/integration.html">PyArrow Integrations</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/substrait.html">Substrait</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/python_r.html">Integrating PyArrow with R</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/python_java.html">Integrating PyArrow with Java</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/extending.html">Using pyarrow from C++ and Cython Code</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/cuda.html">CUDA Integration</a></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/env_vars.html">Environment Variables</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../python/api.html">API Reference</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/datatypes.html">Data Types and Schemas</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.null.html">pyarrow.null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.bool_.html">pyarrow.bool_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int8.html">pyarrow.int8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int16.html">pyarrow.int16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int32.html">pyarrow.int32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int64.html">pyarrow.int64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint8.html">pyarrow.uint8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint16.html">pyarrow.uint16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint32.html">pyarrow.uint32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint64.html">pyarrow.uint64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.float16.html">pyarrow.float16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.float32.html">pyarrow.float32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.float64.html">pyarrow.float64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.time32.html">pyarrow.time32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.time64.html">pyarrow.time64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.timestamp.html">pyarrow.timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.date32.html">pyarrow.date32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.date64.html">pyarrow.date64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.duration.html">pyarrow.duration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.month_day_nano_interval.html">pyarrow.month_day_nano_interval</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.binary.html">pyarrow.binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.string.html">pyarrow.string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.utf8.html">pyarrow.utf8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_binary.html">pyarrow.large_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_string.html">pyarrow.large_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_utf8.html">pyarrow.large_utf8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.binary_view.html">pyarrow.binary_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.string_view.html">pyarrow.string_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.decimal128.html">pyarrow.decimal128</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.decimal256.html">pyarrow.decimal256</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.list_.html">pyarrow.list_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_list.html">pyarrow.large_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.list_view.html">pyarrow.list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_list_view.html">pyarrow.large_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.map_.html">pyarrow.map_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.struct.html">pyarrow.struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dictionary.html">pyarrow.dictionary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.run_end_encoded.html">pyarrow.run_end_encoded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fixed_shape_tensor.html">pyarrow.fixed_shape_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.union.html">pyarrow.union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dense_union.html">pyarrow.dense_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.sparse_union.html">pyarrow.sparse_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.opaque.html">pyarrow.opaque</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.bool8.html">pyarrow.bool8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uuid.html">pyarrow.uuid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json_.html">pyarrow.json_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.field.html">pyarrow.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.schema.html">pyarrow.schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.from_numpy_dtype.html">pyarrow.from_numpy_dtype</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.unify_schemas.html">pyarrow.unify_schemas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DataType.html">pyarrow.DataType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DictionaryType.html">pyarrow.DictionaryType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListType.html">pyarrow.ListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListViewType.html">pyarrow.ListViewType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListType.html">pyarrow.FixedSizeListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListType.html">pyarrow.LargeListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListViewType.html">pyarrow.LargeListViewType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MapType.html">pyarrow.MapType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StructType.html">pyarrow.StructType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnionType.html">pyarrow.UnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DenseUnionType.html">pyarrow.DenseUnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.SparseUnionType.html">pyarrow.SparseUnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TimestampType.html">pyarrow.TimestampType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time32Type.html">pyarrow.Time32Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time64Type.html">pyarrow.Time64Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DurationType.html">pyarrow.DurationType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryType.html">pyarrow.FixedSizeBinaryType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal32Type.html">pyarrow.Decimal32Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal64Type.html">pyarrow.Decimal64Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal128Type.html">pyarrow.Decimal128Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal256Type.html">pyarrow.Decimal256Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Field.html">pyarrow.Field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Schema.html">pyarrow.Schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedType.html">pyarrow.RunEndEncodedType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BaseExtensionType.html">pyarrow.BaseExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ExtensionType.html">pyarrow.ExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnknownExtensionType.html">pyarrow.UnknownExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.register_extension_type.html">pyarrow.register_extension_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.unregister_extension_type.html">pyarrow.unregister_extension_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorType.html">pyarrow.FixedShapeTensorType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OpaqueType.html">pyarrow.OpaqueType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.JsonType.html">pyarrow.JsonType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UuidType.html">pyarrow.UuidType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Bool8Type.html">pyarrow.Bool8Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_boolean.html">pyarrow.types.is_boolean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_integer.html">pyarrow.types.is_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_signed_integer.html">pyarrow.types.is_signed_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_unsigned_integer.html">pyarrow.types.is_unsigned_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int8.html">pyarrow.types.is_int8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int16.html">pyarrow.types.is_int16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int32.html">pyarrow.types.is_int32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int64.html">pyarrow.types.is_int64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint8.html">pyarrow.types.is_uint8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint16.html">pyarrow.types.is_uint16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint32.html">pyarrow.types.is_uint32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint64.html">pyarrow.types.is_uint64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_floating.html">pyarrow.types.is_floating</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_float16.html">pyarrow.types.is_float16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_float32.html">pyarrow.types.is_float32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_float64.html">pyarrow.types.is_float64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal.html">pyarrow.types.is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal128.html">pyarrow.types.is_decimal128</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal256.html">pyarrow.types.is_decimal256</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_list.html">pyarrow.types.is_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_list.html">pyarrow.types.is_large_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_fixed_size_list.html">pyarrow.types.is_fixed_size_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_list_view.html">pyarrow.types.is_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_list_view.html">pyarrow.types.is_large_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_struct.html">pyarrow.types.is_struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_union.html">pyarrow.types.is_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_nested.html">pyarrow.types.is_nested</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_run_end_encoded.html">pyarrow.types.is_run_end_encoded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_temporal.html">pyarrow.types.is_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_timestamp.html">pyarrow.types.is_timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_date.html">pyarrow.types.is_date</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_date32.html">pyarrow.types.is_date32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_date64.html">pyarrow.types.is_date64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_time.html">pyarrow.types.is_time</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_time32.html">pyarrow.types.is_time32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_time64.html">pyarrow.types.is_time64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_duration.html">pyarrow.types.is_duration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_interval.html">pyarrow.types.is_interval</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_null.html">pyarrow.types.is_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_binary.html">pyarrow.types.is_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_unicode.html">pyarrow.types.is_unicode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_string.html">pyarrow.types.is_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_binary.html">pyarrow.types.is_large_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_unicode.html">pyarrow.types.is_large_unicode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_string.html">pyarrow.types.is_large_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_binary_view.html">pyarrow.types.is_binary_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_string_view.html">pyarrow.types.is_string_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_fixed_size_binary.html">pyarrow.types.is_fixed_size_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_map.html">pyarrow.types.is_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_dictionary.html">pyarrow.types.is_dictionary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_primitive.html">pyarrow.types.is_primitive</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.TypesEnum.html">pyarrow.types.TypesEnum</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/arrays.html">Arrays and Scalars</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.array.html">pyarrow.array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.nulls.html">pyarrow.nulls</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Array.html">pyarrow.Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BooleanArray.html">pyarrow.BooleanArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FloatingPointArray.html">pyarrow.FloatingPointArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.IntegerArray.html">pyarrow.IntegerArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int8Array.html">pyarrow.Int8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int16Array.html">pyarrow.Int16Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int32Array.html">pyarrow.Int32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int64Array.html">pyarrow.Int64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NullArray.html">pyarrow.NullArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NumericArray.html">pyarrow.NumericArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt8Array.html">pyarrow.UInt8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt16Array.html">pyarrow.UInt16Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt32Array.html">pyarrow.UInt32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt64Array.html">pyarrow.UInt64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.HalfFloatArray.html">pyarrow.HalfFloatArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FloatArray.html">pyarrow.FloatArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DoubleArray.html">pyarrow.DoubleArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryArray.html">pyarrow.BinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringArray.html">pyarrow.StringArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryArray.html">pyarrow.FixedSizeBinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryArray.html">pyarrow.LargeBinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeStringArray.html">pyarrow.LargeStringArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryViewArray.html">pyarrow.BinaryViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringViewArray.html">pyarrow.StringViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time32Array.html">pyarrow.Time32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time64Array.html">pyarrow.Time64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date32Array.html">pyarrow.Date32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date64Array.html">pyarrow.Date64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TimestampArray.html">pyarrow.TimestampArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DurationArray.html">pyarrow.DurationArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MonthDayNanoIntervalArray.html">pyarrow.MonthDayNanoIntervalArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal32Array.html">pyarrow.Decimal32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal64Array.html">pyarrow.Decimal64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal128Array.html">pyarrow.Decimal128Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal256Array.html">pyarrow.Decimal256Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DictionaryArray.html">pyarrow.DictionaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListArray.html">pyarrow.ListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListArray.html">pyarrow.FixedSizeListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListArray.html">pyarrow.LargeListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListViewArray.html">pyarrow.ListViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListViewArray.html">pyarrow.LargeListViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MapArray.html">pyarrow.MapArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedArray.html">pyarrow.RunEndEncodedArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StructArray.html">pyarrow.StructArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnionArray.html">pyarrow.UnionArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ExtensionArray.html">pyarrow.ExtensionArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorArray.html">pyarrow.FixedShapeTensorArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OpaqueArray.html">pyarrow.OpaqueArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.JsonArray.html">pyarrow.JsonArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UuidArray.html">pyarrow.UuidArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Bool8Array.html">pyarrow.Bool8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.scalar.html">pyarrow.scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NA.html">pyarrow.NA</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Scalar.html">pyarrow.Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BooleanScalar.html">pyarrow.BooleanScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int8Scalar.html">pyarrow.Int8Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int16Scalar.html">pyarrow.Int16Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int32Scalar.html">pyarrow.Int32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int64Scalar.html">pyarrow.Int64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NullScalar.html">pyarrow.NullScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt8Scalar.html">pyarrow.UInt8Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt16Scalar.html">pyarrow.UInt16Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt32Scalar.html">pyarrow.UInt32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt64Scalar.html">pyarrow.UInt64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.HalfFloatScalar.html">pyarrow.HalfFloatScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FloatScalar.html">pyarrow.FloatScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DoubleScalar.html">pyarrow.DoubleScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryScalar.html">pyarrow.BinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringScalar.html">pyarrow.StringScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryScalar.html">pyarrow.FixedSizeBinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryScalar.html">pyarrow.LargeBinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeStringScalar.html">pyarrow.LargeStringScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryViewScalar.html">pyarrow.BinaryViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringViewScalar.html">pyarrow.StringViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time32Scalar.html">pyarrow.Time32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time64Scalar.html">pyarrow.Time64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date32Scalar.html">pyarrow.Date32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date64Scalar.html">pyarrow.Date64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TimestampScalar.html">pyarrow.TimestampScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DurationScalar.html">pyarrow.DurationScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MonthDayNanoIntervalScalar.html">pyarrow.MonthDayNanoIntervalScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal128Scalar.html">pyarrow.Decimal128Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal256Scalar.html">pyarrow.Decimal256Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DictionaryScalar.html">pyarrow.DictionaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedScalar.html">pyarrow.RunEndEncodedScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListScalar.html">pyarrow.ListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListScalar.html">pyarrow.FixedSizeListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListScalar.html">pyarrow.LargeListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListViewScalar.html">pyarrow.ListViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListViewScalar.html">pyarrow.LargeListViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MapScalar.html">pyarrow.MapScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StructScalar.html">pyarrow.StructScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnionScalar.html">pyarrow.UnionScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ExtensionScalar.html">pyarrow.ExtensionScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorScalar.html">pyarrow.FixedShapeTensorScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OpaqueScalar.html">pyarrow.OpaqueScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.JsonScalar.html">pyarrow.JsonScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UuidScalar.html">pyarrow.UuidScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Bool8Scalar.html">pyarrow.Bool8Scalar</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/memory.html">Buffers and Memory</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.allocate_buffer.html">pyarrow.allocate_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.py_buffer.html">pyarrow.py_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.foreign_buffer.html">pyarrow.foreign_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Buffer.html">pyarrow.Buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ResizableBuffer.html">pyarrow.ResizableBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Codec.html">pyarrow.Codec</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compress.html">pyarrow.compress</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.decompress.html">pyarrow.decompress</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MemoryPool.html">pyarrow.MemoryPool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.default_memory_pool.html">pyarrow.default_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.jemalloc_memory_pool.html">pyarrow.jemalloc_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.mimalloc_memory_pool.html">pyarrow.mimalloc_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.system_memory_pool.html">pyarrow.system_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.jemalloc_set_decay_ms.html">pyarrow.jemalloc_set_decay_ms</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.set_memory_pool.html">pyarrow.set_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.log_memory_allocations.html">pyarrow.log_memory_allocations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.total_allocated_bytes.html">pyarrow.total_allocated_bytes</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/tables.html">Tables and Tensors</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.chunked_array.html">pyarrow.chunked_array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.concat_arrays.html">pyarrow.concat_arrays</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.concat_tables.html">pyarrow.concat_tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.record_batch.html">pyarrow.record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.concat_batches.html">pyarrow.concat_batches</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.table.html">pyarrow.table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ChunkedArray.html">pyarrow.ChunkedArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RecordBatch.html">pyarrow.RecordBatch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Table.html">pyarrow.Table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TableGroupBy.html">pyarrow.TableGroupBy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RecordBatchReader.html">pyarrow.RecordBatchReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.interchange.from_dataframe.html">pyarrow.interchange.from_dataframe</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Tensor.html">pyarrow.Tensor</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/compute.html">Compute Functions</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.all.html">pyarrow.compute.all</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.any.html">pyarrow.compute.any</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.approximate_median.html">pyarrow.compute.approximate_median</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count.html">pyarrow.compute.count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count_distinct.html">pyarrow.compute.count_distinct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.index.html">pyarrow.compute.index</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.max.html">pyarrow.compute.max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.mean.html">pyarrow.compute.mean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.min.html">pyarrow.compute.min</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.min_max.html">pyarrow.compute.min_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.mode.html">pyarrow.compute.mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.pivot_wider.html">pyarrow.compute.pivot_wider</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.product.html">pyarrow.compute.product</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.quantile.html">pyarrow.compute.quantile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.stddev.html">pyarrow.compute.stddev</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sum.html">pyarrow.compute.sum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tdigest.html">pyarrow.compute.tdigest</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.variance.html">pyarrow.compute.variance</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_sum.html">pyarrow.compute.cumulative_sum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_sum_checked.html">pyarrow.compute.cumulative_sum_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_prod.html">pyarrow.compute.cumulative_prod</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_prod_checked.html">pyarrow.compute.cumulative_prod_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_max.html">pyarrow.compute.cumulative_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_min.html">pyarrow.compute.cumulative_min</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.abs.html">pyarrow.compute.abs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.abs_checked.html">pyarrow.compute.abs_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.add.html">pyarrow.compute.add</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.add_checked.html">pyarrow.compute.add_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.divide.html">pyarrow.compute.divide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.divide_checked.html">pyarrow.compute.divide_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.multiply.html">pyarrow.compute.multiply</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.multiply_checked.html">pyarrow.compute.multiply_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.negate.html">pyarrow.compute.negate</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.negate_checked.html">pyarrow.compute.negate_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.power.html">pyarrow.compute.power</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.power_checked.html">pyarrow.compute.power_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sign.html">pyarrow.compute.sign</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sqrt.html">pyarrow.compute.sqrt</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sqrt_checked.html">pyarrow.compute.sqrt_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.subtract.html">pyarrow.compute.subtract</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.subtract_checked.html">pyarrow.compute.subtract_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_and.html">pyarrow.compute.bit_wise_and</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_not.html">pyarrow.compute.bit_wise_not</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_or.html">pyarrow.compute.bit_wise_or</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_xor.html">pyarrow.compute.bit_wise_xor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_left.html">pyarrow.compute.shift_left</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_left_checked.html">pyarrow.compute.shift_left_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_right.html">pyarrow.compute.shift_right</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_right_checked.html">pyarrow.compute.shift_right_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ceil.html">pyarrow.compute.ceil</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.floor.html">pyarrow.compute.floor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round.html">pyarrow.compute.round</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round_to_multiple.html">pyarrow.compute.round_to_multiple</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.trunc.html">pyarrow.compute.trunc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ln.html">pyarrow.compute.ln</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ln_checked.html">pyarrow.compute.ln_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log10.html">pyarrow.compute.log10</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log10_checked.html">pyarrow.compute.log10_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log1p.html">pyarrow.compute.log1p</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log1p_checked.html">pyarrow.compute.log1p_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log2.html">pyarrow.compute.log2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log2_checked.html">pyarrow.compute.log2_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.logb.html">pyarrow.compute.logb</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.logb_checked.html">pyarrow.compute.logb_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.acos.html">pyarrow.compute.acos</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.acos_checked.html">pyarrow.compute.acos_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.asin.html">pyarrow.compute.asin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.asin_checked.html">pyarrow.compute.asin_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.atan.html">pyarrow.compute.atan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.atan2.html">pyarrow.compute.atan2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cos.html">pyarrow.compute.cos</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cos_checked.html">pyarrow.compute.cos_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sin.html">pyarrow.compute.sin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sin_checked.html">pyarrow.compute.sin_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tan.html">pyarrow.compute.tan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tan_checked.html">pyarrow.compute.tan_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.equal.html">pyarrow.compute.equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.greater.html">pyarrow.compute.greater</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.greater_equal.html">pyarrow.compute.greater_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.less.html">pyarrow.compute.less</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.less_equal.html">pyarrow.compute.less_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.not_equal.html">pyarrow.compute.not_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.max_element_wise.html">pyarrow.compute.max_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.min_element_wise.html">pyarrow.compute.min_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_.html">pyarrow.compute.and_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_kleene.html">pyarrow.compute.and_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_not.html">pyarrow.compute.and_not</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_not_kleene.html">pyarrow.compute.and_not_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.invert.html">pyarrow.compute.invert</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.or_.html">pyarrow.compute.or_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.or_kleene.html">pyarrow.compute.or_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.xor.html">pyarrow.compute.xor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alnum.html">pyarrow.compute.ascii_is_alnum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alpha.html">pyarrow.compute.ascii_is_alpha</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_decimal.html">pyarrow.compute.ascii_is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_lower.html">pyarrow.compute.ascii_is_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_printable.html">pyarrow.compute.ascii_is_printable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_space.html">pyarrow.compute.ascii_is_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_upper.html">pyarrow.compute.ascii_is_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alnum.html">pyarrow.compute.utf8_is_alnum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alpha.html">pyarrow.compute.utf8_is_alpha</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_decimal.html">pyarrow.compute.utf8_is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_digit.html">pyarrow.compute.utf8_is_digit</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_lower.html">pyarrow.compute.utf8_is_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_numeric.html">pyarrow.compute.utf8_is_numeric</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_printable.html">pyarrow.compute.utf8_is_printable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_space.html">pyarrow.compute.utf8_is_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_upper.html">pyarrow.compute.utf8_is_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_title.html">pyarrow.compute.ascii_is_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_title.html">pyarrow.compute.utf8_is_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.string_is_ascii.html">pyarrow.compute.string_is_ascii</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_capitalize.html">pyarrow.compute.ascii_capitalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lower.html">pyarrow.compute.ascii_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_reverse.html">pyarrow.compute.ascii_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_swapcase.html">pyarrow.compute.ascii_swapcase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_title.html">pyarrow.compute.ascii_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_upper.html">pyarrow.compute.ascii_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_length.html">pyarrow.compute.binary_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_repeat.html">pyarrow.compute.binary_repeat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_replace_slice.html">pyarrow.compute.binary_replace_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_reverse.html">pyarrow.compute.binary_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.replace_substring.html">pyarrow.compute.replace_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.replace_substring_regex.html">pyarrow.compute.replace_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_capitalize.html">pyarrow.compute.utf8_capitalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_length.html">pyarrow.compute.utf8_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lower.html">pyarrow.compute.utf8_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_replace_slice.html">pyarrow.compute.utf8_replace_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_reverse.html">pyarrow.compute.utf8_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_swapcase.html">pyarrow.compute.utf8_swapcase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_title.html">pyarrow.compute.utf8_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_upper.html">pyarrow.compute.utf8_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_center.html">pyarrow.compute.ascii_center</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lpad.html">pyarrow.compute.ascii_lpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rpad.html">pyarrow.compute.ascii_rpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_center.html">pyarrow.compute.utf8_center</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lpad.html">pyarrow.compute.utf8_lpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rpad.html">pyarrow.compute.utf8_rpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_zero_fill.html">pyarrow.compute.utf8_zero_fill</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_ltrim.html">pyarrow.compute.ascii_ltrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_ltrim_whitespace.html">pyarrow.compute.ascii_ltrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rtrim.html">pyarrow.compute.ascii_rtrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rtrim_whitespace.html">pyarrow.compute.ascii_rtrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_trim.html">pyarrow.compute.ascii_trim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_trim_whitespace.html">pyarrow.compute.ascii_trim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_ltrim.html">pyarrow.compute.utf8_ltrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_ltrim_whitespace.html">pyarrow.compute.utf8_ltrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rtrim.html">pyarrow.compute.utf8_rtrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rtrim_whitespace.html">pyarrow.compute.utf8_rtrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_trim.html">pyarrow.compute.utf8_trim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_trim_whitespace.html">pyarrow.compute.utf8_trim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_split_whitespace.html">pyarrow.compute.ascii_split_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.split_pattern.html">pyarrow.compute.split_pattern</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.split_pattern_regex.html">pyarrow.compute.split_pattern_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_split_whitespace.html">pyarrow.compute.utf8_split_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.extract_regex.html">pyarrow.compute.extract_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_join.html">pyarrow.compute.binary_join</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_join_element_wise.html">pyarrow.compute.binary_join_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_slice.html">pyarrow.compute.binary_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_slice_codeunits.html">pyarrow.compute.utf8_slice_codeunits</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count_substring.html">pyarrow.compute.count_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count_substring_regex.html">pyarrow.compute.count_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ends_with.html">pyarrow.compute.ends_with</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.find_substring.html">pyarrow.compute.find_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.find_substring_regex.html">pyarrow.compute.find_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.index_in.html">pyarrow.compute.index_in</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_in.html">pyarrow.compute.is_in</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.match_like.html">pyarrow.compute.match_like</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring.html">pyarrow.compute.match_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring_regex.html">pyarrow.compute.match_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.starts_with.html">pyarrow.compute.starts_with</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.indices_nonzero.html">pyarrow.compute.indices_nonzero</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_finite.html">pyarrow.compute.is_finite</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_inf.html">pyarrow.compute.is_inf</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_nan.html">pyarrow.compute.is_nan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_null.html">pyarrow.compute.is_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_valid.html">pyarrow.compute.is_valid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.true_unless_null.html">pyarrow.compute.true_unless_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.case_when.html">pyarrow.compute.case_when</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.choose.html">pyarrow.compute.choose</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.coalesce.html">pyarrow.compute.coalesce</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.if_else.html">pyarrow.compute.if_else</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cast.html">pyarrow.compute.cast</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ceil_temporal.html">pyarrow.compute.ceil_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.floor_temporal.html">pyarrow.compute.floor_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round_temporal.html">pyarrow.compute.round_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.run_end_decode.html">pyarrow.compute.run_end_decode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.run_end_encode.html">pyarrow.compute.run_end_encode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.strftime.html">pyarrow.compute.strftime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.strptime.html">pyarrow.compute.strptime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day.html">pyarrow.compute.day</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day_of_week.html">pyarrow.compute.day_of_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day_of_year.html">pyarrow.compute.day_of_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.hour.html">pyarrow.compute.hour</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.iso_week.html">pyarrow.compute.iso_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.iso_year.html">pyarrow.compute.iso_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.iso_calendar.html">pyarrow.compute.iso_calendar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_leap_year.html">pyarrow.compute.is_leap_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.microsecond.html">pyarrow.compute.microsecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.millisecond.html">pyarrow.compute.millisecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.minute.html">pyarrow.compute.minute</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.month.html">pyarrow.compute.month</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.nanosecond.html">pyarrow.compute.nanosecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.quarter.html">pyarrow.compute.quarter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.second.html">pyarrow.compute.second</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.subsecond.html">pyarrow.compute.subsecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.us_week.html">pyarrow.compute.us_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.us_year.html">pyarrow.compute.us_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.week.html">pyarrow.compute.week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.year.html">pyarrow.compute.year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.year_month_day.html">pyarrow.compute.year_month_day</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day_time_interval_between.html">pyarrow.compute.day_time_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.days_between.html">pyarrow.compute.days_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.hours_between.html">pyarrow.compute.hours_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.microseconds_between.html">pyarrow.compute.microseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.milliseconds_between.html">pyarrow.compute.milliseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.minutes_between.html">pyarrow.compute.minutes_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.month_day_nano_interval_between.html">pyarrow.compute.month_day_nano_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.month_interval_between.html">pyarrow.compute.month_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.nanoseconds_between.html">pyarrow.compute.nanoseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.quarters_between.html">pyarrow.compute.quarters_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.seconds_between.html">pyarrow.compute.seconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.weeks_between.html">pyarrow.compute.weeks_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.years_between.html">pyarrow.compute.years_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.assume_timezone.html">pyarrow.compute.assume_timezone</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.local_timestamp.html">pyarrow.compute.local_timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.dictionary_encode.html">pyarrow.compute.dictionary_encode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.unique.html">pyarrow.compute.unique</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.value_counts.html">pyarrow.compute.value_counts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.array_filter.html">pyarrow.compute.array_filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.array_take.html">pyarrow.compute.array_take</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.drop_null.html">pyarrow.compute.drop_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.filter.html">pyarrow.compute.filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.take.html">pyarrow.compute.take</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.array_sort_indices.html">pyarrow.compute.array_sort_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.partition_nth_indices.html">pyarrow.compute.partition_nth_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.select_k_unstable.html">pyarrow.compute.select_k_unstable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sort_indices.html">pyarrow.compute.sort_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null.html">pyarrow.compute.fill_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null_backward.html">pyarrow.compute.fill_null_backward</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null_forward.html">pyarrow.compute.fill_null_forward</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_element.html">pyarrow.compute.list_element</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_flatten.html">pyarrow.compute.list_flatten</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_parent_indices.html">pyarrow.compute.list_parent_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_slice.html">pyarrow.compute.list_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_value_length.html">pyarrow.compute.list_value_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.make_struct.html">pyarrow.compute.make_struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.map_lookup.html">pyarrow.compute.map_lookup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.replace_with_mask.html">pyarrow.compute.replace_with_mask</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.struct_field.html">pyarrow.compute.struct_field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.pairwise_diff.html">pyarrow.compute.pairwise_diff</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ArraySortOptions.html">pyarrow.compute.ArraySortOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.AssumeTimezoneOptions.html">pyarrow.compute.AssumeTimezoneOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CastOptions.html">pyarrow.compute.CastOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CountOptions.html">pyarrow.compute.CountOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CumulativeSumOptions.html">pyarrow.compute.CumulativeSumOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.DayOfWeekOptions.html">pyarrow.compute.DayOfWeekOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.DictionaryEncodeOptions.html">pyarrow.compute.DictionaryEncodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ElementWiseAggregateOptions.html">pyarrow.compute.ElementWiseAggregateOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ExtractRegexOptions.html">pyarrow.compute.ExtractRegexOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.FilterOptions.html">pyarrow.compute.FilterOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.IndexOptions.html">pyarrow.compute.IndexOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.JoinOptions.html">pyarrow.compute.JoinOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ListSliceOptions.html">pyarrow.compute.ListSliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.MakeStructOptions.html">pyarrow.compute.MakeStructOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.MapLookupOptions.html">pyarrow.compute.MapLookupOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.MatchSubstringOptions.html">pyarrow.compute.MatchSubstringOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ModeOptions.html">pyarrow.compute.ModeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.NullOptions.html">pyarrow.compute.NullOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PadOptions.html">pyarrow.compute.PadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ZeroFillOptions.html">pyarrow.compute.ZeroFillOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PairwiseOptions.html">pyarrow.compute.PairwiseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PartitionNthOptions.html">pyarrow.compute.PartitionNthOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PivotWiderOptions.html">pyarrow.compute.PivotWiderOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.QuantileOptions.html">pyarrow.compute.QuantileOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ReplaceSliceOptions.html">pyarrow.compute.ReplaceSliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ReplaceSubstringOptions.html">pyarrow.compute.ReplaceSubstringOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundOptions.html">pyarrow.compute.RoundOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundTemporalOptions.html">pyarrow.compute.RoundTemporalOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundToMultipleOptions.html">pyarrow.compute.RoundToMultipleOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RunEndEncodeOptions.html">pyarrow.compute.RunEndEncodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ScalarAggregateOptions.html">pyarrow.compute.ScalarAggregateOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SelectKOptions.html">pyarrow.compute.SelectKOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SetLookupOptions.html">pyarrow.compute.SetLookupOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SliceOptions.html">pyarrow.compute.SliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SortOptions.html">pyarrow.compute.SortOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SplitOptions.html">pyarrow.compute.SplitOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SplitPatternOptions.html">pyarrow.compute.SplitPatternOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.StrftimeOptions.html">pyarrow.compute.StrftimeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.StrptimeOptions.html">pyarrow.compute.StrptimeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.StructFieldOptions.html">pyarrow.compute.StructFieldOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.TakeOptions.html">pyarrow.compute.TakeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.TDigestOptions.html">pyarrow.compute.TDigestOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.TrimOptions.html">pyarrow.compute.TrimOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.VarianceOptions.html">pyarrow.compute.VarianceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.WeekOptions.html">pyarrow.compute.WeekOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.register_scalar_function.html">pyarrow.compute.register_scalar_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.UdfContext.html">pyarrow.compute.UdfContext</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.field.html">pyarrow.compute.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.scalar.html">pyarrow.compute.scalar</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/acero.html">Acero - Streaming Execution Engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.Declaration.html">pyarrow.acero.Declaration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.ExecNodeOptions.html">pyarrow.acero.ExecNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.TableSourceNodeOptions.html">pyarrow.acero.TableSourceNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.ScanNodeOptions.html">pyarrow.acero.ScanNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.FilterNodeOptions.html">pyarrow.acero.FilterNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.ProjectNodeOptions.html">pyarrow.acero.ProjectNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.AggregateNodeOptions.html">pyarrow.acero.AggregateNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.OrderByNodeOptions.html">pyarrow.acero.OrderByNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.HashJoinNodeOptions.html">pyarrow.acero.HashJoinNodeOptions</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/substrait.html">Substrait</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.run_query.html">pyarrow.substrait.run_query</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.BoundExpressions.html">pyarrow.substrait.BoundExpressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.deserialize_expressions.html">pyarrow.substrait.deserialize_expressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.serialize_expressions.html">pyarrow.substrait.serialize_expressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.serialize_schema.html">pyarrow.substrait.serialize_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.deserialize_schema.html">pyarrow.substrait.deserialize_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.SubstraitSchema.html">pyarrow.substrait.SubstraitSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.get_supported_functions.html">pyarrow.substrait.get_supported_functions</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/files.html">Streams and File Access</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.input_stream.html">pyarrow.input_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.output_stream.html">pyarrow.output_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.memory_map.html">pyarrow.memory_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.create_memory_map.html">pyarrow.create_memory_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NativeFile.html">pyarrow.NativeFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OSFile.html">pyarrow.OSFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.PythonFile.html">pyarrow.PythonFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BufferReader.html">pyarrow.BufferReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BufferOutputStream.html">pyarrow.BufferOutputStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBufferWriter.html">pyarrow.FixedSizeBufferWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MemoryMappedFile.html">pyarrow.MemoryMappedFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.CompressedInputStream.html">pyarrow.CompressedInputStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.CompressedOutputStream.html">pyarrow.CompressedOutputStream</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/ipc.html">Serialization and IPC</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.new_file.html">pyarrow.ipc.new_file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.open_file.html">pyarrow.ipc.open_file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.new_stream.html">pyarrow.ipc.new_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.open_stream.html">pyarrow.ipc.open_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.read_message.html">pyarrow.ipc.read_message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.read_record_batch.html">pyarrow.ipc.read_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.get_record_batch_size.html">pyarrow.ipc.get_record_batch_size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.read_tensor.html">pyarrow.ipc.read_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.write_tensor.html">pyarrow.ipc.write_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.get_tensor_size.html">pyarrow.ipc.get_tensor_size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.IpcReadOptions.html">pyarrow.ipc.IpcReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.IpcWriteOptions.html">pyarrow.ipc.IpcWriteOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.Message.html">pyarrow.ipc.Message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.MessageReader.html">pyarrow.ipc.MessageReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileReader.html">pyarrow.ipc.RecordBatchFileReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileWriter.html">pyarrow.ipc.RecordBatchFileWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamReader.html">pyarrow.ipc.RecordBatchStreamReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamWriter.html">pyarrow.ipc.RecordBatchStreamWriter</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/flight.html">Arrow Flight</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Action.html">pyarrow.flight.Action</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ActionType.html">pyarrow.flight.ActionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.DescriptorType.html">pyarrow.flight.DescriptorType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDescriptor.html">pyarrow.flight.FlightDescriptor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightEndpoint.html">pyarrow.flight.FlightEndpoint</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInfo.html">pyarrow.flight.FlightInfo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Location.html">pyarrow.flight.Location</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.MetadataRecordBatchReader.html">pyarrow.flight.MetadataRecordBatchReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.MetadataRecordBatchWriter.html">pyarrow.flight.MetadataRecordBatchWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Ticket.html">pyarrow.flight.Ticket</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Result.html">pyarrow.flight.Result</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.connect.html">pyarrow.flight.connect</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCallOptions.html">pyarrow.flight.FlightCallOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightClient.html">pyarrow.flight.FlightClient</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightStreamReader.html">pyarrow.flight.FlightStreamReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightStreamWriter.html">pyarrow.flight.FlightStreamWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddlewareFactory.html">pyarrow.flight.ClientMiddlewareFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddleware.html">pyarrow.flight.ClientMiddleware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDataStream.html">pyarrow.flight.FlightDataStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMetadataWriter.html">pyarrow.flight.FlightMetadataWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerBase.html">pyarrow.flight.FlightServerBase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.GeneratorStream.html">pyarrow.flight.GeneratorStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.RecordBatchStream.html">pyarrow.flight.RecordBatchStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerCallContext.html">pyarrow.flight.ServerCallContext</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddlewareFactory.html">pyarrow.flight.ServerMiddlewareFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddleware.html">pyarrow.flight.ServerMiddleware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ClientAuthHandler.html">pyarrow.flight.ClientAuthHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerAuthHandler.html">pyarrow.flight.ServerAuthHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightError.html">pyarrow.flight.FlightError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCancelledError.html">pyarrow.flight.FlightCancelledError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInternalError.html">pyarrow.flight.FlightInternalError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerError.html">pyarrow.flight.FlightServerError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightTimedOutError.html">pyarrow.flight.FlightTimedOutError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnauthenticatedError.html">pyarrow.flight.FlightUnauthenticatedError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnauthorizedError.html">pyarrow.flight.FlightUnauthorizedError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnavailableError.html">pyarrow.flight.FlightUnavailableError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightWriteSizeExceededError.html">pyarrow.flight.FlightWriteSizeExceededError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMethod.html">pyarrow.flight.FlightMethod</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.CallInfo.html">pyarrow.flight.CallInfo</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/formats.html">Tabular File Formats</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ConvertOptions.html">pyarrow.csv.ConvertOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.CSVStreamingReader.html">pyarrow.csv.CSVStreamingReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.CSVWriter.html">pyarrow.csv.CSVWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ISO8601.html">pyarrow.csv.ISO8601</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ParseOptions.html">pyarrow.csv.ParseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ReadOptions.html">pyarrow.csv.ReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.WriteOptions.html">pyarrow.csv.WriteOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.open_csv.html">pyarrow.csv.open_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.read_csv.html">pyarrow.csv.read_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.write_csv.html">pyarrow.csv.write_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.InvalidRow.html">pyarrow.csv.InvalidRow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.feather.read_feather.html">pyarrow.feather.read_feather</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.feather.read_table.html">pyarrow.feather.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.feather.write_feather.html">pyarrow.feather.write_feather</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.ReadOptions.html">pyarrow.json.ReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.ParseOptions.html">pyarrow.json.ParseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.open_json.html">pyarrow.json.open_json</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.read_json.html">pyarrow.json.read_json</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetDataset.html">pyarrow.parquet.ParquetDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetFile.html">pyarrow.parquet.ParquetFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetWriter.html">pyarrow.parquet.ParquetWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_table.html">pyarrow.parquet.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_metadata.html">pyarrow.parquet.read_metadata</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_pandas.html">pyarrow.parquet.read_pandas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_schema.html">pyarrow.parquet.read_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.write_metadata.html">pyarrow.parquet.write_metadata</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.write_table.html">pyarrow.parquet.write_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.write_to_dataset.html">pyarrow.parquet.write_to_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.FileMetaData.html">pyarrow.parquet.FileMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.RowGroupMetaData.html">pyarrow.parquet.RowGroupMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.SortingColumn.html">pyarrow.parquet.SortingColumn</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ColumnChunkMetaData.html">pyarrow.parquet.ColumnChunkMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.Statistics.html">pyarrow.parquet.Statistics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetSchema.html">pyarrow.parquet.ParquetSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ColumnSchema.html">pyarrow.parquet.ColumnSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetLogicalType.html">pyarrow.parquet.ParquetLogicalType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.CryptoFactory.html">pyarrow.parquet.encryption.CryptoFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.KmsClient.html">pyarrow.parquet.encryption.KmsClient</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.KmsConnectionConfig.html">pyarrow.parquet.encryption.KmsConnectionConfig</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.EncryptionConfiguration.html">pyarrow.parquet.encryption.EncryptionConfiguration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.DecryptionConfiguration.html">pyarrow.parquet.encryption.DecryptionConfiguration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.ORCFile.html">pyarrow.orc.ORCFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.ORCWriter.html">pyarrow.orc.ORCWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.read_table.html">pyarrow.orc.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.write_table.html">pyarrow.orc.write_table</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/filesystems.html">Filesystems</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileInfo.html">pyarrow.fs.FileInfo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileSelector.html">pyarrow.fs.FileSelector</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystem.html">pyarrow.fs.FileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.LocalFileSystem.html">pyarrow.fs.LocalFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.S3FileSystem.html">pyarrow.fs.S3FileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.GcsFileSystem.html">pyarrow.fs.GcsFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.HadoopFileSystem.html">pyarrow.fs.HadoopFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.SubTreeFileSystem.html">pyarrow.fs.SubTreeFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.AzureFileSystem.html">pyarrow.fs.AzureFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.PyFileSystem.html">pyarrow.fs.PyFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystemHandler.html">pyarrow.fs.FileSystemHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FSSpecHandler.html">pyarrow.fs.FSSpecHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.copy_files.html">pyarrow.fs.copy_files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.initialize_s3.html">pyarrow.fs.initialize_s3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.finalize_s3.html">pyarrow.fs.finalize_s3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.resolve_s3_region.html">pyarrow.fs.resolve_s3_region</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.S3LogLevel.html">pyarrow.fs.S3LogLevel</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/dataset.html">Dataset</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.dataset.html">pyarrow.dataset.dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.parquet_dataset.html">pyarrow.dataset.parquet_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.partitioning.html">pyarrow.dataset.partitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.field.html">pyarrow.dataset.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.scalar.html">pyarrow.dataset.scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.write_dataset.html">pyarrow.dataset.write_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileFormat.html">pyarrow.dataset.FileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.CsvFileFormat.html">pyarrow.dataset.CsvFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.CsvFragmentScanOptions.html">pyarrow.dataset.CsvFragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.IpcFileFormat.html">pyarrow.dataset.IpcFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.JsonFileFormat.html">pyarrow.dataset.JsonFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFileFormat.html">pyarrow.dataset.ParquetFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetReadOptions.html">pyarrow.dataset.ParquetReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFragmentScanOptions.html">pyarrow.dataset.ParquetFragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFileFragment.html">pyarrow.dataset.ParquetFileFragment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.OrcFileFormat.html">pyarrow.dataset.OrcFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Partitioning.html">pyarrow.dataset.Partitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.PartitioningFactory.html">pyarrow.dataset.PartitioningFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.DirectoryPartitioning.html">pyarrow.dataset.DirectoryPartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.HivePartitioning.html">pyarrow.dataset.HivePartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FilenamePartitioning.html">pyarrow.dataset.FilenamePartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Dataset.html">pyarrow.dataset.Dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDataset.html">pyarrow.dataset.FileSystemDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemFactoryOptions.html">pyarrow.dataset.FileSystemFactoryOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDatasetFactory.html">pyarrow.dataset.FileSystemDatasetFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.UnionDataset.html">pyarrow.dataset.UnionDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Fragment.html">pyarrow.dataset.Fragment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FragmentScanOptions.html">pyarrow.dataset.FragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.TaggedRecordBatch.html">pyarrow.dataset.TaggedRecordBatch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Scanner.html">pyarrow.dataset.Scanner</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Expression.html">pyarrow.dataset.Expression</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.InMemoryDataset.html">pyarrow.dataset.InMemoryDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.WrittenFile.html">pyarrow.dataset.WrittenFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.get_partition_keys.html">pyarrow.dataset.get_partition_keys</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/cuda.html">CUDA Integration</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.Context.html">pyarrow.cuda.Context</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.CudaBuffer.html">pyarrow.cuda.CudaBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.new_host_buffer.html">pyarrow.cuda.new_host_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.HostBuffer.html">pyarrow.cuda.HostBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferReader.html">pyarrow.cuda.BufferReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferWriter.html">pyarrow.cuda.BufferWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.serialize_record_batch.html">pyarrow.cuda.serialize_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.read_record_batch.html">pyarrow.cuda.read_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.read_message.html">pyarrow.cuda.read_message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.IpcMemHandle.html">pyarrow.cuda.IpcMemHandle</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/misc.html">Miscellaneous</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cpu_count.html">pyarrow.cpu_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.set_cpu_count.html">pyarrow.set_cpu_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.io_thread_count.html">pyarrow.io_thread_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.set_io_thread_count.html">pyarrow.set_io_thread_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.get_include.html">pyarrow.get_include</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.get_libraries.html">pyarrow.get_libraries</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.get_library_dirs.html">pyarrow.get_library_dirs</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/getting_involved.html">Getting Involved</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/benchmarks.html">Benchmarks</a></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/py/">Python cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/docs/r">R</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">Ruby</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.rs/crate/arrow/">Rust</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow-swift/blob/main/Arrow/README.md">Swift</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/nanoarrow/">nanoarrow</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../status.html">Implementation Status</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb" class="d-print-none">
<ul class="bd-breadcrumbs">
<li class="breadcrumb-item breadcrumb-home">
<a href="../../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item"><a href="../../implementations.html" class="nav-link">Implementations</a></li>
<li class="breadcrumb-item"><a href="../index.html" class="nav-link">C++ Implementation</a></li>
<li class="breadcrumb-item"><a href="../api.html" class="nav-link">API Reference</a></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">CUDA support</span></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="cuda-support">
<h1>CUDA support<a class="headerlink" href="#cuda-support" title="Link to this heading">#</a></h1>
<section id="contexts">
<h2>Contexts<a class="headerlink" href="#contexts" title="Link to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaDeviceManagerE">
<span id="_CPPv3N5arrow4cuda17CudaDeviceManagerE"></span><span id="_CPPv2N5arrow4cuda17CudaDeviceManagerE"></span><span id="arrow::cuda::CudaDeviceManager"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_manager"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaDeviceManager</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaDeviceManagerE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaDeviceManager9GetDeviceEi">
<span id="_CPPv3N5arrow4cuda17CudaDeviceManager9GetDeviceEi"></span><span id="_CPPv2N5arrow4cuda17CudaDeviceManager9GetDeviceEi"></span><span id="arrow::cuda::CudaDeviceManager::GetDevice__i"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_manager_1a2627914ca289f1d36267cb2303036d7e"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaDeviceE" title="arrow::cuda::CudaDevice"><span class="n"><span class="pre">CudaDevice</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetDevice</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">device_number</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaDeviceManager9GetDeviceEi" title="Link to this definition">#</a><br /></dt>
<dd><p>Get a <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_device"><span class="std std-ref">CudaDevice</span></a> instance for a particular device. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>device_number</strong><strong>[in]</strong> the CUDA device number </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaDeviceManager10GetContextEi">
<span id="_CPPv3N5arrow4cuda17CudaDeviceManager10GetContextEi"></span><span id="_CPPv2N5arrow4cuda17CudaDeviceManager10GetContextEi"></span><span id="arrow::cuda::CudaDeviceManager::GetContext__i"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_manager_1abd6a643c8c43694ed38556251b906baf"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetContext</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">device_number</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaDeviceManager10GetContextEi" title="Link to this definition">#</a><br /></dt>
<dd><p>Get the CUDA driver context for a particular device. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>device_number</strong><strong>[in]</strong> the CUDA device number </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>cached context </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaDeviceManager16GetSharedContextEiPv">
<span id="_CPPv3N5arrow4cuda17CudaDeviceManager16GetSharedContextEiPv"></span><span id="_CPPv2N5arrow4cuda17CudaDeviceManager16GetSharedContextEiPv"></span><span id="arrow::cuda::CudaDeviceManager::GetSharedContext__i.voidP"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_manager_1a5d20b6ca3f26613167b8efc29b091935"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSharedContext</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">device_number</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaDeviceManager16GetSharedContextEiPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Get the shared CUDA driver context for a particular device. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>device_number</strong><strong>[in]</strong> the CUDA device number </p></li>
<li><p><strong>handle</strong><strong>[in]</strong> CUDA context handle created by another library </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>shared context </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaDeviceManager12AllocateHostEi7int64_t">
<span id="_CPPv3N5arrow4cuda17CudaDeviceManager12AllocateHostEi7int64_t"></span><span id="_CPPv2N5arrow4cuda17CudaDeviceManager12AllocateHostEi7int64_t"></span><span id="arrow::cuda::CudaDeviceManager::AllocateHost__i.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_manager_1a704c6ba67fd438c2f042657fa8404d60"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda14CudaHostBufferE" title="arrow::cuda::CudaHostBuffer"><span class="n"><span class="pre">CudaHostBuffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">AllocateHost</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">device_number</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaDeviceManager12AllocateHostEi7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Allocate host memory with fast access to given GPU device. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>device_number</strong><strong>[in]</strong> the CUDA device number </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Host buffer or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaDeviceManager8FreeHostEPv7int64_t">
<span id="_CPPv3N5arrow4cuda17CudaDeviceManager8FreeHostEPv7int64_t"></span><span id="_CPPv2N5arrow4cuda17CudaDeviceManager8FreeHostEPv7int64_t"></span><span id="arrow::cuda::CudaDeviceManager::FreeHost__voidP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_manager_1ab1d79b1bfa5d3256f8c8005921ca573e"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FreeHost</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaDeviceManager8FreeHostEPv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Free host memory. </p>
<p>The given memory pointer must have been allocated with AllocateHost. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContextE">
<span id="_CPPv3N5arrow4cuda11CudaContextE"></span><span id="_CPPv2N5arrow4cuda11CudaContextE"></span><span id="arrow::cuda::CudaContext"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaContext</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">enable_shared_from_this</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContextE" title="Link to this definition">#</a><br /></dt>
<dd><p>Object-oriented interface to the low-level CUDA driver API. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext8AllocateE7int64_t">
<span id="_CPPv3N5arrow4cuda11CudaContext8AllocateE7int64_t"></span><span id="_CPPv2N5arrow4cuda11CudaContext8AllocateE7int64_t"></span><span id="arrow::cuda::CudaContext::Allocate__int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1aa51b96ca1438d0a62b6c56f5f2370ed6"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaBufferE" title="arrow::cuda::CudaBuffer"><span class="n"><span class="pre">CudaBuffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Allocate</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext8AllocateE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Allocate CUDA memory on GPU device for this context. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>nbytes</strong><strong>[in]</strong> number of bytes </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the allocated buffer </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext4FreeEPv7int64_t">
<span id="_CPPv3N5arrow4cuda11CudaContext4FreeEPv7int64_t"></span><span id="_CPPv2N5arrow4cuda11CudaContext4FreeEPv7int64_t"></span><span id="arrow::cuda::CudaContext::Free__voidP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1aa08710d029fe38ea3ec8ad065ffe50fa"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Free</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">device_ptr</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext4FreeEPv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Release CUDA memory on GPU device for this context. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>device_ptr</strong><strong>[in]</strong> the buffer address </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext4ViewEP7uint8_t7int64_t">
<span id="_CPPv3N5arrow4cuda11CudaContext4ViewEP7uint8_t7int64_t"></span><span id="_CPPv2N5arrow4cuda11CudaContext4ViewEP7uint8_t7int64_t"></span><span id="arrow::cuda::CudaContext::View__uint8_tP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a4102a915d50b435518e6309a6533cbb1"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaBufferE" title="arrow::cuda::CudaBuffer"><span class="n"><span class="pre">CudaBuffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">View</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext4ViewEP7uint8_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a view of CUDA memory on GPU device of this context. </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The caller is responsible for allocating and freeing the memory as well as ensuring that the memory belongs to the CUDA context that this <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_context"><span class="std std-ref">CudaContext</span></a> instance holds. </p>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>data</strong><strong>[in]</strong> the starting device address </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the view buffer</p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext13OpenIpcBufferERK16CudaIpcMemHandle">
<span id="_CPPv3N5arrow4cuda11CudaContext13OpenIpcBufferERK16CudaIpcMemHandle"></span><span id="_CPPv2N5arrow4cuda11CudaContext13OpenIpcBufferERK16CudaIpcMemHandle"></span><span id="arrow::cuda::CudaContext::OpenIpcBuffer__CudaIpcMemHandleCR"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a65ebcb7d89d6732d5f35338b50cd7ed7"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaBufferE" title="arrow::cuda::CudaBuffer"><span class="n"><span class="pre">CudaBuffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OpenIpcBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandleE" title="arrow::cuda::CudaIpcMemHandle"><span class="n"><span class="pre">CudaIpcMemHandle</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ipc_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext13OpenIpcBufferERK16CudaIpcMemHandle" title="Link to this definition">#</a><br /></dt>
<dd><p>Open existing CUDA IPC memory handle. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>ipc_handle</strong><strong>[in]</strong> opaque pointer to CUipcMemHandle (driver API) </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>a <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a> referencing the IPC segment </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext14CloseIpcBufferEP10CudaBuffer">
<span id="_CPPv3N5arrow4cuda11CudaContext14CloseIpcBufferEP10CudaBuffer"></span><span id="_CPPv2N5arrow4cuda11CudaContext14CloseIpcBufferEP10CudaBuffer"></span><span id="arrow::cuda::CudaContext::CloseIpcBuffer__CudaBufferP"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a3228bd973c2da795b1b916f81d3bd164"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CloseIpcBuffer</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaBufferE" title="arrow::cuda::CudaBuffer"><span class="n"><span class="pre">CudaBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext14CloseIpcBufferEP10CudaBuffer" title="Link to this definition">#</a><br /></dt>
<dd><p>Close memory mapped with IPC buffer. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>buffer</strong><strong>[in]</strong> a <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a> referencing </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext11SynchronizeEv">
<span id="_CPPv3N5arrow4cuda11CudaContext11SynchronizeEv"></span><span id="_CPPv2N5arrow4cuda11CudaContext11SynchronizeEv"></span><span id="arrow::cuda::CudaContext::Synchronize__void"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a80b22b35b08acac1c0a7b796932612c0"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Synchronize</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext11SynchronizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Block until the all device tasks are completed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda11CudaContext6handleEv">
<span id="_CPPv3NK5arrow4cuda11CudaContext6handleEv"></span><span id="_CPPv2NK5arrow4cuda11CudaContext6handleEv"></span><span id="arrow::cuda::CudaContext::handleC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a335a3caffacc4148f18495f989cd44fd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">handle</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda11CudaContext6handleEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Expose CUDA context handle to other libraries. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda11CudaContext14memory_managerEv">
<span id="_CPPv3NK5arrow4cuda11CudaContext14memory_managerEv"></span><span id="_CPPv2NK5arrow4cuda11CudaContext14memory_managerEv"></span><span id="arrow::cuda::CudaContext::memory_managerC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a808c6eba3bfbb9e99dabf3e73eeb7d44"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda17CudaMemoryManagerE" title="arrow::cuda::CudaMemoryManager"><span class="n"><span class="pre">CudaMemoryManager</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">memory_manager</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda11CudaContext14memory_managerEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the default memory manager tied to this context’s device. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda11CudaContext6deviceEv">
<span id="_CPPv3NK5arrow4cuda11CudaContext6deviceEv"></span><span id="_CPPv2NK5arrow4cuda11CudaContext6deviceEv"></span><span id="arrow::cuda::CudaContext::deviceC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1adc2b23c0907031bf8fb5beb1ea82b3d2"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaDeviceE" title="arrow::cuda::CudaDevice"><span class="n"><span class="pre">CudaDevice</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">device</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda11CudaContext6deviceEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the device instance associated with this context. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda11CudaContext13device_numberEv">
<span id="_CPPv3NK5arrow4cuda11CudaContext13device_numberEv"></span><span id="_CPPv2NK5arrow4cuda11CudaContext13device_numberEv"></span><span id="arrow::cuda::CudaContext::device_numberC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1ab5427be57b455cffa58b353ad8d6fdbf"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">device_number</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda11CudaContext13device_numberEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the logical device number. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda11CudaContext16GetDeviceAddressEP7uint8_t">
<span id="_CPPv3N5arrow4cuda11CudaContext16GetDeviceAddressEP7uint8_t"></span><span id="_CPPv2N5arrow4cuda11CudaContext16GetDeviceAddressEP7uint8_t"></span><span id="arrow::cuda::CudaContext::GetDeviceAddress__uint8_tP"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_context_1a3f561eb66c0675ea90dd3c4cc256cfbe"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">uintptr_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetDeviceAddress</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">addr</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda11CudaContext16GetDeviceAddressEP7uint8_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the device address that is reachable from kernels running in the context. </p>
<p>
The device address is defined as a memory address accessible by device. While it is often a device memory address, it can be also a host memory address, for instance, when the memory is allocated as host memory (using cudaMallocHost or cudaHostAlloc) or as managed memory (using cudaMallocManaged) or the host memory is page-locked (using cudaHostRegister). </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>addr</strong><strong>[in]</strong> device or host memory address </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the device address</p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="devices">
<h2>Devices<a class="headerlink" href="#devices" title="Link to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDeviceE">
<span id="_CPPv3N5arrow4cuda10CudaDeviceE"></span><span id="_CPPv2N5arrow4cuda10CudaDeviceE"></span><span id="arrow::cuda::CudaDevice"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaDevice</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDeviceE" title="Link to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="memory.html#classarrow_1_1_device"><span class="std std-ref">Device</span></a> implementation for CUDA. </p>
<p>Each <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_device"><span class="std std-ref">CudaDevice</span></a> instance is tied to a particular CUDA device (identified by its logical device number). </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice9type_nameEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice9type_nameEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice9type_nameEv"></span><span id="arrow::cuda::CudaDevice::type_nameC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a41ff14cdaf3f6daf29b0ce1a7415cc3b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">type_name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice9type_nameEv" title="Link to this definition">#</a><br /></dt>
<dd><p>A shorthand for this device’s type. </p>
<p>The returned value is different for each device class, but is the same for all instances of a given class. It can be used as a replacement for RTTI. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice8ToStringEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice8ToStringEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice8ToStringEv"></span><span id="arrow::cuda::CudaDevice::ToStringC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1ae741b9314ceb089df43cd9d3ea9a05c8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ToString</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice8ToStringEv" title="Link to this definition">#</a><br /></dt>
<dd><p>A human-readable description of the device. </p>
<p>The returned value should be detailed enough to distinguish between different instances, where necessary. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice6EqualsERK6Device">
<span id="_CPPv3NK5arrow4cuda10CudaDevice6EqualsERK6Device"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice6EqualsERK6Device"></span><span id="arrow::cuda::CudaDevice::Equals__DeviceCRC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a632ead1002d4f6a198f9e2cc875afe18"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Equals</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice6EqualsERK6Device" title="Link to this definition">#</a><br /></dt>
<dd><p>Whether this instance points to the same device as another one. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice22default_memory_managerEv">
<span id="_CPPv3N5arrow4cuda10CudaDevice22default_memory_managerEv"></span><span id="_CPPv2N5arrow4cuda10CudaDevice22default_memory_managerEv"></span><span id="arrow::cuda::CudaDevice::default_memory_manager"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a8a3a3ce18dc6915404dbe301ab5d1325"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MemoryManagerE" title="arrow::MemoryManager"><span class="n"><span class="pre">MemoryManager</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">default_memory_manager</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice22default_memory_managerEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return a <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a> instance tied to this device. </p>
<p>The returned instance uses default parameters for this device type’s <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a> implementation. Some devices also allow constructing <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a> instances with non-default parameters. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice11device_typeEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice11device_typeEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice11device_typeEv"></span><span id="arrow::cuda::CudaDevice::device_typeC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a631303d5f948458324340b48de7c6685"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">DeviceAllocationType</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">device_type</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice11device_typeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the DeviceAllocationType of this device. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice9device_idEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice9device_idEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice9device_idEv"></span><span id="arrow::cuda::CudaDevice::device_idC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a59cb05711c6a3d6ec76254e719fc71a9"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">device_id</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice9device_idEv" title="Link to this definition">#</a><br /></dt>
<dd><p>A device ID to identify this device if there are multiple of this type. </p>
<p>If there is no “device_id” equivalent (such as for the main CPU device on non-numa systems) returns -1. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice13device_numberEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice13device_numberEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice13device_numberEv"></span><span id="arrow::cuda::CudaDevice::device_numberC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1afbde12a21ab99759801332997f1f39c6"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">device_number</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice13device_numberEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the device logical number. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice11device_nameEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice11device_nameEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice11device_nameEv"></span><span id="arrow::cuda::CudaDevice::device_nameC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a8e9ef59ab09a8eb774ba25c788f17e95"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">device_name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice11device_nameEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the GPU model name. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice12total_memoryEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice12total_memoryEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice12total_memoryEv"></span><span id="arrow::cuda::CudaDevice::total_memoryC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1ae1e25a912004c83bb6af55574a74da00"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">total_memory</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice12total_memoryEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return total memory on this device. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice6handleEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice6handleEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice6handleEv"></span><span id="arrow::cuda::CudaDevice::handleC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1ab5ef7531f8a55cfa3589ad7b57f6a9bd"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">handle</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice6handleEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return a raw CUDA device handle. </p>
<p>The returned value can be used to expose this device to other libraries. It should be interpreted as <code class="docutils literal notranslate"><span class="pre">CUdevice</span></code>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice10GetContextEv">
<span id="_CPPv3N5arrow4cuda10CudaDevice10GetContextEv"></span><span id="_CPPv2N5arrow4cuda10CudaDevice10GetContextEv"></span><span id="arrow::cuda::CudaDevice::GetContext"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a5f7c4bac72d83130addfdd0fb21055c3"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetContext</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice10GetContextEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Get a CUDA driver context for this device. </p>
<p>The returned context is associated with the primary CUDA context for the device. This is the recommended way of getting a context for a device, as it allows interoperating transparently with any library using the primary CUDA context API. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice16GetSharedContextEPv">
<span id="_CPPv3N5arrow4cuda10CudaDevice16GetSharedContextEPv"></span><span id="_CPPv2N5arrow4cuda10CudaDevice16GetSharedContextEPv"></span><span id="arrow::cuda::CudaDevice::GetSharedContext__voidP"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a8ad54d0c5dc58f1841428b9d8a8bcc5d"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSharedContext</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice16GetSharedContextEPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Get a CUDA driver context for this device, using an existing handle. </p>
<p>The handle is not owned: it will not be released when the <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_context"><span class="std std-ref">CudaContext</span></a> is destroyed. This function should only be used if you need interoperation with a library that uses a non-primary context.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>handle</strong><strong>[in]</strong> CUDA context handle created by another library </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice18AllocateHostBufferE7int64_t">
<span id="_CPPv3N5arrow4cuda10CudaDevice18AllocateHostBufferE7int64_t"></span><span id="_CPPv2N5arrow4cuda10CudaDevice18AllocateHostBufferE7int64_t"></span><span id="arrow::cuda::CudaDevice::AllocateHostBuffer__int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1ae5671d6b3bb43698b347ab49d6f80fc5"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda14CudaHostBufferE" title="arrow::cuda::CudaHostBuffer"><span class="n"><span class="pre">CudaHostBuffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">AllocateHostBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice18AllocateHostBufferE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Allocate a host-residing, GPU-accessible buffer. </p>
<p>The buffer is allocated using this device’s primary context.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>size</strong><strong>[in]</strong> The buffer size in bytes </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice10MakeStreamEj">
<span id="_CPPv3N5arrow4cuda10CudaDevice10MakeStreamEj"></span><span id="_CPPv2N5arrow4cuda10CudaDevice10MakeStreamEj"></span><span id="arrow::cuda::CudaDevice::MakeStream__unsigned-i"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1aa548ab6413516818a50ca6c76c7d22c2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device6StreamE" title="arrow::Device::Stream"><span class="n"><span class="pre">Stream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeStream</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">flags</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice10MakeStreamEj" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a CUstream wrapper in the current context. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice10WrapStreamEPvN6Stream12release_fn_tE">
<span id="_CPPv3N5arrow4cuda10CudaDevice10WrapStreamEPvN6Stream12release_fn_tE"></span><span id="_CPPv2N5arrow4cuda10CudaDevice10WrapStreamEPvN6Stream12release_fn_tE"></span><span id="arrow::cuda::CudaDevice::WrapStream__voidP.Stream::release_fn_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1aa46475ed815a8142c00517b8f8176129"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device6StreamE" title="arrow::Device::Stream"><span class="n"><span class="pre">Stream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WrapStream</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">device_stream</span></span>, <a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaDevice6StreamE" title="arrow::cuda::CudaDevice::Stream"><span class="n"><span class="pre">Stream</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">release_fn_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">release_fn</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice10WrapStreamEPvN6Stream12release_fn_tE" title="Link to this definition">#</a><br /></dt>
<dd><p>Wrap a pointer to an existing stream. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>device_stream</strong> – passed in stream (should be a CUstream*) </p></li>
<li><p><strong>release_fn</strong> – destructor to free the stream. <code class="docutils literal notranslate"><span class="pre">nullptr</span></code> may be passed to indicate there is no destruction/freeing necessary. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice4MakeEi">
<span id="_CPPv3N5arrow4cuda10CudaDevice4MakeEi"></span><span id="_CPPv2N5arrow4cuda10CudaDevice4MakeEi"></span><span id="arrow::cuda::CudaDevice::Make__i"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1a9d3a506ebff6cc6acd2a60a899b03994"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaDeviceE" title="arrow::cuda::CudaDevice"><span class="n"><span class="pre">CudaDevice</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">device_number</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice4MakeEi" title="Link to this definition">#</a><br /></dt>
<dd><p>Return a <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_device"><span class="std std-ref">CudaDevice</span></a> instance for a particular device. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>device_number</strong><strong>[in]</strong> the CUDA device number </p>
</dd>
</dl>
</dd></dl>
</div>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice6StreamE">
<span id="_CPPv3N5arrow4cuda10CudaDevice6StreamE"></span><span id="_CPPv2N5arrow4cuda10CudaDevice6StreamE"></span><span id="arrow::cuda::CudaDevice::Stream"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1_1_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Stream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device6StreamE" title="arrow::Device::Stream"><span class="n"><span class="pre">Stream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice6StreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Wrapper for CUstreams. </p>
<p>Does not <em>own</em> the CUstream object which must be separately constructed and freed using cuStreamCreate and cuStreamDestroy (or equivalent). Default construction will use the cuda default stream, and does not allow construction from literal 0 or nullptr. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice6Stream9WaitEventERKN6Device9SyncEventE">
<span id="_CPPv3N5arrow4cuda10CudaDevice6Stream9WaitEventERKN6Device9SyncEventE"></span><span id="_CPPv2N5arrow4cuda10CudaDevice6Stream9WaitEventERKN6Device9SyncEventE"></span><span id="arrow::cuda::CudaDevice::Stream::WaitEvent__Device::SyncEventCR"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1_1_stream_1a4441e72374728818f29728c33c977052"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WaitEvent</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device9SyncEventE" title="arrow::Device::SyncEvent"><span class="n"><span class="pre">SyncEvent</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice6Stream9WaitEventERKN6Device9SyncEventE" title="Link to this definition">#</a><br /></dt>
<dd><p>Make the stream wait on the provided event. </p>
<p>Tells the stream that it should wait until the synchronization event is completed without blocking the CPU. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaDevice6Stream11SynchronizeEv">
<span id="_CPPv3NK5arrow4cuda10CudaDevice6Stream11SynchronizeEv"></span><span id="_CPPv2NK5arrow4cuda10CudaDevice6Stream11SynchronizeEv"></span><span id="arrow::cuda::CudaDevice::Stream::SynchronizeC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1_1_stream_1a204b6f4d47ff6adaa7866fc00a8e6093"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Synchronize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaDevice6Stream11SynchronizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Blocks the current thread until a stream’s remaining tasks are completed. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice9SyncEventE">
<span id="_CPPv3N5arrow4cuda10CudaDevice9SyncEventE"></span><span id="_CPPv2N5arrow4cuda10CudaDevice9SyncEventE"></span><span id="arrow::cuda::CudaDevice::SyncEvent"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1_1_sync_event"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SyncEvent</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device9SyncEventE" title="arrow::Device::SyncEvent"><span class="n"><span class="pre">SyncEvent</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice9SyncEventE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice9SyncEvent4WaitEv">
<span id="_CPPv3N5arrow4cuda10CudaDevice9SyncEvent4WaitEv"></span><span id="_CPPv2N5arrow4cuda10CudaDevice9SyncEvent4WaitEv"></span><span id="arrow::cuda::CudaDevice::SyncEvent::Wait"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1_1_sync_event_1a6494868d86bf12d4609126cfc4171082"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Wait</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice9SyncEvent4WaitEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Block until the sync event is marked completed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaDevice9SyncEvent6RecordERKN6Device6StreamE">
<span id="_CPPv3N5arrow4cuda10CudaDevice9SyncEvent6RecordERKN6Device6StreamE"></span><span id="_CPPv2N5arrow4cuda10CudaDevice9SyncEvent6RecordERKN6Device6StreamE"></span><span id="arrow::cuda::CudaDevice::SyncEvent::Record__Device::StreamCR"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_device_1_1_sync_event_1a708bc65ff1eefacce2641ad453f18503"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Record</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device6StreamE" title="arrow::Device::Stream"><span class="n"><span class="pre">Stream</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaDevice9SyncEvent6RecordERKN6Device6StreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>Record the wrapped event on the stream. </p>
<p>Once the stream completes the tasks previously added to it, it will trigger the event. </p>
</dd></dl>
</div>
</dd></dl>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaMemoryManagerE">
<span id="_CPPv3N5arrow4cuda17CudaMemoryManagerE"></span><span id="_CPPv2N5arrow4cuda17CudaMemoryManagerE"></span><span id="arrow::cuda::CudaMemoryManager"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaMemoryManager</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MemoryManagerE" title="arrow::MemoryManager"><span class="n"><span class="pre">MemoryManager</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaMemoryManagerE" title="Link to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a> implementation for CUDA. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaMemoryManager15GetBufferReaderENSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow4cuda17CudaMemoryManager15GetBufferReaderENSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow4cuda17CudaMemoryManager15GetBufferReaderENSt10shared_ptrI6BufferEE"></span><span id="arrow::cuda::CudaMemoryManager::GetBufferReader__std::shared_ptr:Buffer:"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager_1ad4de6b91aa11ea7886db25d911faf82d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetBufferReader</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buf</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaMemoryManager15GetBufferReaderENSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a RandomAccessFile to read a particular buffer. </p>
<p>The given buffer must be tied to this <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a>.</p>
<p>See also the <a class="reference internal" href="memory.html#classarrow_1_1_buffer_1aeacfa7e7ff56af24b523cff17775698b"><span class="std std-ref">Buffer::GetReader</span></a> shorthand. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaMemoryManager15GetBufferWriterENSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow4cuda17CudaMemoryManager15GetBufferWriterENSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow4cuda17CudaMemoryManager15GetBufferWriterENSt10shared_ptrI6BufferEE"></span><span id="arrow::cuda::CudaMemoryManager::GetBufferWriter__std::shared_ptr:Buffer:"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager_1ad5034c2d5520b79adfe02d046bdeb798"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetBufferWriter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buf</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaMemoryManager15GetBufferWriterENSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a OutputStream to write to a particular buffer. </p>
<p>The given buffer must be mutable and tied to this <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a>. The returned stream object writes into the buffer’s underlying memory (but it won’t resize it).</p>
<p>See also the <a class="reference internal" href="memory.html#classarrow_1_1_buffer_1ad3aff6f979cd6ebf0497fba6108c8f7f"><span class="std std-ref">Buffer::GetWriter</span></a> shorthand. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaMemoryManager14AllocateBufferE7int64_t">
<span id="_CPPv3N5arrow4cuda17CudaMemoryManager14AllocateBufferE7int64_t"></span><span id="_CPPv2N5arrow4cuda17CudaMemoryManager14AllocateBufferE7int64_t"></span><span id="arrow::cuda::CudaMemoryManager::AllocateBuffer__int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager_1a63147b0035364482e6043809cd569426"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">AllocateBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaMemoryManager14AllocateBufferE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Allocate a (mutable) <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
<p>The buffer will be allocated in the device’s memory. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda17CudaMemoryManager11cuda_deviceEv">
<span id="_CPPv3NK5arrow4cuda17CudaMemoryManager11cuda_deviceEv"></span><span id="_CPPv2NK5arrow4cuda17CudaMemoryManager11cuda_deviceEv"></span><span id="arrow::cuda::CudaMemoryManager::cuda_deviceC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager_1ab9319d56db3710f1a0bca1a1b75af1ac"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaDeviceE" title="arrow::cuda::CudaDevice"><span class="n"><span class="pre">CudaDevice</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cuda_device</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda17CudaMemoryManager11cuda_deviceEv" title="Link to this definition">#</a><br /></dt>
<dd><p>The <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_device"><span class="std std-ref">CudaDevice</span></a> instance tied to this <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a>. </p>
<p>This is a useful shorthand returning a concrete-typed pointer, avoiding having to cast the <code class="docutils literal notranslate"><a class="reference internal" href="memory.html#classarrow_1_1_memory_manager_1a0bd3ad591750cd15277cf569eb6e985e"><span class="std std-ref"><span class="pre">device()</span></span></a></code> result. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaMemoryManager19MakeDeviceSyncEventEv">
<span id="_CPPv3N5arrow4cuda17CudaMemoryManager19MakeDeviceSyncEventEv"></span><span id="_CPPv2N5arrow4cuda17CudaMemoryManager19MakeDeviceSyncEventEv"></span><span id="arrow::cuda::CudaMemoryManager::MakeDeviceSyncEvent"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager_1a29736553d34864fcda5da377605e8b7b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device9SyncEventE" title="arrow::Device::SyncEvent"><span class="n"><span class="pre">SyncEvent</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeDeviceSyncEvent</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaMemoryManager19MakeDeviceSyncEventEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Creates a wrapped CUevent. </p>
<p>Will call cuEventCreate and it will call cuEventDestroy internally when the event is destructed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda17CudaMemoryManager19WrapDeviceSyncEventEPvN6Device9SyncEvent12release_fn_tE">
<span id="_CPPv3N5arrow4cuda17CudaMemoryManager19WrapDeviceSyncEventEPvN6Device9SyncEvent12release_fn_tE"></span><span id="_CPPv2N5arrow4cuda17CudaMemoryManager19WrapDeviceSyncEventEPvN6Device9SyncEvent12release_fn_tE"></span><span id="arrow::cuda::CudaMemoryManager::WrapDeviceSyncEvent__voidP.Device::SyncEvent::release_fn_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_memory_manager_1a987e93dc73f2f5e1e5f06de81970b7f1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device9SyncEventE" title="arrow::Device::SyncEvent"><span class="n"><span class="pre">SyncEvent</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WrapDeviceSyncEvent</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">sync_event</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow6DeviceE" title="arrow::Device"><span class="n"><span class="pre">Device</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6Device9SyncEventE" title="arrow::Device::SyncEvent"><span class="n"><span class="pre">SyncEvent</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">release_fn_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">release_sync_event</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda17CudaMemoryManager19WrapDeviceSyncEventEPvN6Device9SyncEvent12release_fn_tE" title="Link to this definition">#</a><br /></dt>
<dd><p>Wraps an existing event into a sync event. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sync_event</strong> – the event to wrap, must be a CUevent* </p></li>
<li><p><strong>release_sync_event</strong> – a function to call during destruction, <code class="docutils literal notranslate"><span class="pre">nullptr</span></code> or a no-op function can be passed to indicate ownership is maintained externally </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="buffers">
<h2>Buffers<a class="headerlink" href="#buffers" title="Link to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaBufferE">
<span id="_CPPv3N5arrow4cuda10CudaBufferE"></span><span id="_CPPv2N5arrow4cuda10CudaBufferE"></span><span id="arrow::cuda::CudaBuffer"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaBuffer</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaBufferE" title="Link to this definition">#</a><br /></dt>
<dd><p>An Arrow buffer located on a GPU device. </p>
<p>Be careful using this in any Arrow code which may not be GPU-aware </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda10CudaBuffer10CopyToHostEK7int64_tK7int64_tPv">
<span id="_CPPv3NK5arrow4cuda10CudaBuffer10CopyToHostEK7int64_tK7int64_tPv"></span><span id="_CPPv2NK5arrow4cuda10CudaBuffer10CopyToHostEK7int64_tK7int64_tPv"></span><span id="arrow::cuda::CudaBuffer::CopyToHost__int64_tC.int64_tC.voidPC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_1a68ec37adb9fc33fb2dbc93b8591eb80b"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CopyToHost</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda10CudaBuffer10CopyToHostEK7int64_tK7int64_tPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Copy memory from GPU device to CPU host. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> start position inside buffer to copy bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes to copy </p></li>
<li><p><strong>out</strong><strong>[out]</strong> start address of the host memory area to copy to </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaBuffer12CopyFromHostEK7int64_tPKv7int64_t">
<span id="_CPPv3N5arrow4cuda10CudaBuffer12CopyFromHostEK7int64_tPKv7int64_t"></span><span id="_CPPv2N5arrow4cuda10CudaBuffer12CopyFromHostEK7int64_tPKv7int64_t"></span><span id="arrow::cuda::CudaBuffer::CopyFromHost__int64_tC.voidCP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_1a941397f8ec48d7578669dea25c601559"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CopyFromHost</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaBuffer12CopyFromHostEK7int64_tPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Copy memory to device at position. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> start position to copy bytes to </p></li>
<li><p><strong>data</strong><strong>[in]</strong> the host data to copy </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes to copy </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaBuffer14CopyFromDeviceEK7int64_tPKv7int64_t">
<span id="_CPPv3N5arrow4cuda10CudaBuffer14CopyFromDeviceEK7int64_tPKv7int64_t"></span><span id="_CPPv2N5arrow4cuda10CudaBuffer14CopyFromDeviceEK7int64_tPKv7int64_t"></span><span id="arrow::cuda::CudaBuffer::CopyFromDevice__int64_tC.voidCP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_1a41dfd69a882ea4fb138d8b25cc495cfe"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CopyFromDevice</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaBuffer14CopyFromDeviceEK7int64_tPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Copy memory from device to device at position. </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>It is assumed that both source and destination device memories have been allocated within the same context. </p>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> start position inside buffer to copy bytes to </p></li>
<li><p><strong>data</strong><strong>[in]</strong> start address of the device memory area to copy from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes to copy </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaBuffer21CopyFromAnotherDeviceERKNSt10shared_ptrI11CudaContextEEK7int64_tPKv7int64_t">
<span id="_CPPv3N5arrow4cuda10CudaBuffer21CopyFromAnotherDeviceERKNSt10shared_ptrI11CudaContextEEK7int64_tPKv7int64_t"></span><span id="_CPPv2N5arrow4cuda10CudaBuffer21CopyFromAnotherDeviceERKNSt10shared_ptrI11CudaContextEEK7int64_tPKv7int64_t"></span><span id="arrow::cuda::CudaBuffer::CopyFromAnotherDevice__std::shared_ptr:CudaContext:CR.int64_tC.voidCP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_1ad6338774ba17d06ccd9423e5dd4e61e9"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CopyFromAnotherDevice</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">src_ctx</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaBuffer21CopyFromAnotherDeviceERKNSt10shared_ptrI11CudaContextEEK7int64_tPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Copy memory from another device to device at position. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>src_ctx</strong><strong>[in]</strong> context of the source device memory </p></li>
<li><p><strong>position</strong><strong>[in]</strong> start position inside buffer to copy bytes to </p></li>
<li><p><strong>data</strong><strong>[in]</strong> start address of the another device memory area to copy from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> number of bytes to copy </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaBuffer12ExportForIpcEv">
<span id="_CPPv3N5arrow4cuda10CudaBuffer12ExportForIpcEv"></span><span id="_CPPv2N5arrow4cuda10CudaBuffer12ExportForIpcEv"></span><span id="arrow::cuda::CudaBuffer::ExportForIpc"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_1a4907f83dd4273de3a92fee611eede1d7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandleE" title="arrow::cuda::CudaIpcMemHandle"><span class="n"><span class="pre">CudaIpcMemHandle</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ExportForIpc</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaBuffer12ExportForIpcEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Expose this device buffer as IPC memory which can be used in other processes. </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>After calling this function, this device memory will not be freed when the <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a> is destructed </p>
</div>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Handle or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda10CudaBuffer10FromBufferENSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow4cuda10CudaBuffer10FromBufferENSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow4cuda10CudaBuffer10FromBufferENSt10shared_ptrI6BufferEE"></span><span id="arrow::cuda::CudaBuffer::FromBuffer__std::shared_ptr:Buffer:"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_1aad96b14462286fd70786b7a697476a99"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda10CudaBufferE" title="arrow::cuda::CudaBuffer"><span class="n"><span class="pre">CudaBuffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda10CudaBuffer10FromBufferENSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Convert back generic buffer into <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a>. </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This function returns an error if the buffer isn’t backed by GPU memory </p>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>buffer</strong><strong>[in]</strong> buffer to convert </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a> or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda14CudaHostBufferE">
<span id="_CPPv3N5arrow4cuda14CudaHostBufferE"></span><span id="_CPPv2N5arrow4cuda14CudaHostBufferE"></span><span id="arrow::cuda::CudaHostBuffer"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_host_buffer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaHostBuffer</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MutableBufferE" title="arrow::MutableBuffer"><span class="n"><span class="pre">MutableBuffer</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4cuda14CudaHostBufferE" title="Link to this definition">#</a><br /></dt>
<dd><p>Device-accessible CPU memory created using cudaHostAlloc. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda14CudaHostBuffer16GetDeviceAddressERKNSt10shared_ptrI11CudaContextEE">
<span id="_CPPv3N5arrow4cuda14CudaHostBuffer16GetDeviceAddressERKNSt10shared_ptrI11CudaContextEE"></span><span id="_CPPv2N5arrow4cuda14CudaHostBuffer16GetDeviceAddressERKNSt10shared_ptrI11CudaContextEE"></span><span id="arrow::cuda::CudaHostBuffer::GetDeviceAddress__std::shared_ptr:CudaContext:CR"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_host_buffer_1a72e8c02002772f35b027bf6c0c9f71ec"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">uintptr_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetDeviceAddress</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda11CudaContextE" title="arrow::cuda::CudaContext"><span class="n"><span class="pre">CudaContext</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ctx</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda14CudaHostBuffer16GetDeviceAddressERKNSt10shared_ptrI11CudaContextEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Return a device address the GPU can read this memory from. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="memory-input-output">
<h2>Memory Input / Output<a class="headerlink" href="#memory-input-output" title="Link to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaBufferReaderE">
<span id="_CPPv3N5arrow4cuda16CudaBufferReaderE"></span><span id="_CPPv2N5arrow4cuda16CudaBufferReaderE"></span><span id="arrow::cuda::CudaBufferReader"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaBufferReader</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RandomAccessFileConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda16CudaBufferReaderE" title="arrow::cuda::CudaBufferReader"><span class="n"><span class="pre">CudaBufferReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaBufferReaderE" title="Link to this definition">#</a><br /></dt>
<dd><p>File interface for zero-copy read from CUDA buffers. </p>
<p>CAUTION: reading to a <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> returns a <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> pointing to device memory. It will generally not be compatible with Arrow code expecting a buffer pointing to CPU memory. Reading to a raw pointer, though, copies device memory into the host memory pointed to. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaBufferReader6closedEv">
<span id="_CPPv3NK5arrow4cuda16CudaBufferReader6closedEv"></span><span id="_CPPv2NK5arrow4cuda16CudaBufferReader6closedEv"></span><span id="arrow::cuda::CudaBufferReader::closedC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_reader_1a0d572faa3e6b61d8df77b677549a6049"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaBufferReader6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaBufferReader18supports_zero_copyEv">
<span id="_CPPv3NK5arrow4cuda16CudaBufferReader18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow4cuda16CudaBufferReader18supports_zero_copyEv"></span><span id="arrow::cuda::CudaBufferReader::supports_zero_copyC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_reader_1ab01cdb213d900351c43dba8078c81f10"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaBufferReader18supports_zero_copyEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return true if InputStream is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning <a class="reference internal" href="io.html#classarrow_1_1io_1_1_readable_1a1ffee8b3491907c625faff85274eee54"><span class="std std-ref">Read()</span></a> overloads. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaBufferWriterE">
<span id="_CPPv3N5arrow4cuda16CudaBufferWriterE"></span><span id="_CPPv2N5arrow4cuda16CudaBufferWriterE"></span><span id="arrow::cuda::CudaBufferWriter"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaBufferWriter</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">WritableFile</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaBufferWriterE" title="Link to this definition">#</a><br /></dt>
<dd><p>File interface for writing to CUDA buffers, with optional buffering. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaBufferWriter5CloseEv">
<span id="_CPPv3N5arrow4cuda16CudaBufferWriter5CloseEv"></span><span id="_CPPv2N5arrow4cuda16CudaBufferWriter5CloseEv"></span><span id="arrow::cuda::CudaBufferWriter::Close"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1a0ea8c0db5348cb6c7a95581545708106"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaBufferWriter5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close writer and flush buffered bytes to GPU. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaBufferWriter6closedEv">
<span id="_CPPv3NK5arrow4cuda16CudaBufferWriter6closedEv"></span><span id="_CPPv2NK5arrow4cuda16CudaBufferWriter6closedEv"></span><span id="arrow::cuda::CudaBufferWriter::closedC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1a505faef7022ad871885c9bcb43aa459b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaBufferWriter5FlushEv">
<span id="_CPPv3N5arrow4cuda16CudaBufferWriter5FlushEv"></span><span id="_CPPv2N5arrow4cuda16CudaBufferWriter5FlushEv"></span><span id="arrow::cuda::CudaBufferWriter::Flush"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1a5b1378916dcf383f54bbe22ae6519119"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaBufferWriter5FlushEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Flush buffered bytes to GPU. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaBufferWriter5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow4cuda16CudaBufferWriter5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow4cuda16CudaBufferWriter5WriteEPKv7int64_t"></span><span id="arrow::cuda::CudaBufferWriter::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1a6f581e34f2ab08354be9ad8d2c0c5e7a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaBufferWriter5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaBufferWriter4TellEv">
<span id="_CPPv3NK5arrow4cuda16CudaBufferWriter4TellEv"></span><span id="_CPPv2NK5arrow4cuda16CudaBufferWriter4TellEv"></span><span id="arrow::cuda::CudaBufferWriter::TellC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1a902e42338fef8ba4955ab8e548f25acc"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaBufferWriter13SetBufferSizeEK7int64_t">
<span id="_CPPv3N5arrow4cuda16CudaBufferWriter13SetBufferSizeEK7int64_t"></span><span id="_CPPv2N5arrow4cuda16CudaBufferWriter13SetBufferSizeEK7int64_t"></span><span id="arrow::cuda::CudaBufferWriter::SetBufferSize__int64_tC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1afe2b3f481f6dc35d292b2b808f5c4aae"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SetBufferSize</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaBufferWriter13SetBufferSizeEK7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Set CPU buffer size to limit calls to cudaMemcpy. </p>
<p>
By default writes are unbuffered </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>buffer_size</strong><strong>[in]</strong> the size of CPU buffer to allocate </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaBufferWriter11buffer_sizeEv">
<span id="_CPPv3NK5arrow4cuda16CudaBufferWriter11buffer_sizeEv"></span><span id="_CPPv2NK5arrow4cuda16CudaBufferWriter11buffer_sizeEv"></span><span id="arrow::cuda::CudaBufferWriter::buffer_sizeC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1a2a552698ce0327a211d7cc21ba44a7b6"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">buffer_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter11buffer_sizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Returns size of host (CPU) buffer, 0 for unbuffered. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaBufferWriter18num_bytes_bufferedEv">
<span id="_CPPv3NK5arrow4cuda16CudaBufferWriter18num_bytes_bufferedEv"></span><span id="_CPPv2NK5arrow4cuda16CudaBufferWriter18num_bytes_bufferedEv"></span><span id="arrow::cuda::CudaBufferWriter::num_bytes_bufferedC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_buffer_writer_1aab6152a10e047d397137b5021e9a7292"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">num_bytes_buffered</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter18num_bytes_bufferedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Returns number of bytes buffered on host. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="ipc">
<h2>IPC<a class="headerlink" href="#ipc" title="Link to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaIpcMemHandleE">
<span id="_CPPv3N5arrow4cuda16CudaIpcMemHandleE"></span><span id="_CPPv2N5arrow4cuda16CudaIpcMemHandleE"></span><span id="arrow::cuda::CudaIpcMemHandle"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_ipc_mem_handle"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CudaIpcMemHandle</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandleE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4cuda16CudaIpcMemHandle9SerializeEP10MemoryPool">
<span id="_CPPv3NK5arrow4cuda16CudaIpcMemHandle9SerializeEP10MemoryPool"></span><span id="_CPPv2NK5arrow4cuda16CudaIpcMemHandle9SerializeEP10MemoryPool"></span><span id="arrow::cuda::CudaIpcMemHandle::Serialize__MemoryPoolPC"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_ipc_mem_handle_1a99188e16d66e59b1b260fc6af5c8293f"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Serialize</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow4cuda16CudaIpcMemHandle9SerializeEP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Write <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_ipc_mem_handle"><span class="std std-ref">CudaIpcMemHandle</span></a> to a <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to allocate memory from </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4cuda16CudaIpcMemHandle10FromBufferEPKv">
<span id="_CPPv3N5arrow4cuda16CudaIpcMemHandle10FromBufferEPKv"></span><span id="_CPPv2N5arrow4cuda16CudaIpcMemHandle10FromBufferEPKv"></span><span id="arrow::cuda::CudaIpcMemHandle::FromBuffer__voidCP"></span><span class="target" id="classarrow_1_1cuda_1_1_cuda_ipc_mem_handle_1a12b58c7ea0cbcc41a8bd7888cb2e93d6"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandleE" title="arrow::cuda::CudaIpcMemHandle"><span class="n"><span class="pre">CudaIpcMemHandle</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">opaque_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandle10FromBufferEPKv" title="Link to this definition">#</a><br /></dt>
<dd><p>Create <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_ipc_mem_handle"><span class="std std-ref">CudaIpcMemHandle</span></a> from opaque buffer (e.g. </p>
<p>from another process) </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>opaque_handle</strong><strong>[in]</strong> a CUipcMemHandle as a const void* </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Handle or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="group__cuda-ipc-functions_1ga6b0ace525a224b40ada79fe8e3ce5fc7"></span><span class="sig-name descname"><span class="pre">ARROW_CUDA_EXPORT</span> <span class="pre">Result&lt;</span> <span class="pre">std::shared_ptr&lt;</span> <span class="pre">CudaBuffer</span> <span class="pre">&gt;</span> <span class="pre">&gt;</span> <span class="pre">SerializeRecordBatch</span> <span class="pre">(const</span> <span class="pre">RecordBatch</span> <span class="pre">&amp;batch,</span> <span class="pre">CudaContext</span> <span class="pre">*ctx)</span></span></dt>
<dd><p>Write record batch message to GPU device memory. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>batch</strong><strong>[in]</strong> record batch to write </p></li>
<li><p><strong>ctx</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_context"><span class="std std-ref">CudaContext</span></a> to allocate device memory from </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a> or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="group__cuda-ipc-functions_1gafa196e817e135087475d7ac24b342b63"></span><span class="sig-name descname"><span class="pre">ARROW_CUDA_EXPORT</span> <span class="pre">Result&lt;</span> <span class="pre">std::shared_ptr&lt;</span> <span class="pre">RecordBatch</span> <span class="pre">&gt;</span> <span class="pre">&gt;</span> <span class="pre">ReadRecordBatch</span> <span class="pre">(const</span> <span class="pre">std::shared_ptr&lt;</span> <span class="pre">Schema</span> <span class="pre">&gt;</span> <span class="pre">&amp;schema,</span> <span class="pre">const</span> <span class="pre">ipc::DictionaryMemo</span> <span class="pre">*dictionary_memo,</span> <span class="pre">const</span> <span class="pre">std::shared_ptr&lt;</span> <span class="pre">CudaBuffer</span> <span class="pre">&gt;</span> <span class="pre">&amp;buffer,</span> <span class="pre">MemoryPool</span> <span class="pre">*pool=default_memory_pool())</span></span></dt>
<dd><p>ReadRecordBatch specialized to handle metadata on CUDA device. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>schema</strong><strong>[in]</strong> the <a class="reference internal" href="datatype.html#classarrow_1_1_schema"><span class="std std-ref">Schema</span></a> for the record batch </p></li>
<li><p><strong>dictionary_memo</strong><strong>[in]</strong> DictionaryMemo which has any dictionaries. Can be nullptr if you are sure there are no dictionary-encoded fields </p></li>
<li><p><strong>buffer</strong><strong>[in]</strong> a <a class="reference internal" href="#classarrow_1_1cuda_1_1_cuda_buffer"><span class="std std-ref">CudaBuffer</span></a> containing the complete IPC message </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocating space for the metadata </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a> or <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</section>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="left-prev"
href="formats.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">File Formats</p>
</div>
</a>
<a class="right-next"
href="flight.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Arrow Flight RPC</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div
id="pst-page-navigation-heading-2"
class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> On this page
</div>
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#contexts">Contexts</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaDeviceManagerE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaDeviceManager</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaDeviceManager9GetDeviceEi"><code class="docutils literal notranslate"><span class="pre">GetDevice()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaDeviceManager10GetContextEi"><code class="docutils literal notranslate"><span class="pre">GetContext()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaDeviceManager16GetSharedContextEiPv"><code class="docutils literal notranslate"><span class="pre">GetSharedContext()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaDeviceManager12AllocateHostEi7int64_t"><code class="docutils literal notranslate"><span class="pre">AllocateHost()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaDeviceManager8FreeHostEPv7int64_t"><code class="docutils literal notranslate"><span class="pre">FreeHost()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContextE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaContext</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext8AllocateE7int64_t"><code class="docutils literal notranslate"><span class="pre">Allocate()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext4FreeEPv7int64_t"><code class="docutils literal notranslate"><span class="pre">Free()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext4ViewEP7uint8_t7int64_t"><code class="docutils literal notranslate"><span class="pre">View()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext13OpenIpcBufferERK16CudaIpcMemHandle"><code class="docutils literal notranslate"><span class="pre">OpenIpcBuffer()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext14CloseIpcBufferEP10CudaBuffer"><code class="docutils literal notranslate"><span class="pre">CloseIpcBuffer()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext11SynchronizeEv"><code class="docutils literal notranslate"><span class="pre">Synchronize()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda11CudaContext6handleEv"><code class="docutils literal notranslate"><span class="pre">handle()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda11CudaContext14memory_managerEv"><code class="docutils literal notranslate"><span class="pre">memory_manager()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda11CudaContext6deviceEv"><code class="docutils literal notranslate"><span class="pre">device()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda11CudaContext13device_numberEv"><code class="docutils literal notranslate"><span class="pre">device_number()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda11CudaContext16GetDeviceAddressEP7uint8_t"><code class="docutils literal notranslate"><span class="pre">GetDeviceAddress()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#devices">Devices</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDeviceE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaDevice</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice9type_nameEv"><code class="docutils literal notranslate"><span class="pre">type_name()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice8ToStringEv"><code class="docutils literal notranslate"><span class="pre">ToString()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice6EqualsERK6Device"><code class="docutils literal notranslate"><span class="pre">Equals()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice22default_memory_managerEv"><code class="docutils literal notranslate"><span class="pre">default_memory_manager()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice11device_typeEv"><code class="docutils literal notranslate"><span class="pre">device_type()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice9device_idEv"><code class="docutils literal notranslate"><span class="pre">device_id()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice13device_numberEv"><code class="docutils literal notranslate"><span class="pre">device_number()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice11device_nameEv"><code class="docutils literal notranslate"><span class="pre">device_name()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice12total_memoryEv"><code class="docutils literal notranslate"><span class="pre">total_memory()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice6handleEv"><code class="docutils literal notranslate"><span class="pre">handle()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice10GetContextEv"><code class="docutils literal notranslate"><span class="pre">GetContext()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice16GetSharedContextEPv"><code class="docutils literal notranslate"><span class="pre">GetSharedContext()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice18AllocateHostBufferE7int64_t"><code class="docutils literal notranslate"><span class="pre">AllocateHostBuffer()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice10MakeStreamEj"><code class="docutils literal notranslate"><span class="pre">MakeStream()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice10WrapStreamEPvN6Stream12release_fn_tE"><code class="docutils literal notranslate"><span class="pre">WrapStream()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice4MakeEi"><code class="docutils literal notranslate"><span class="pre">Make()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice6StreamE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaDevice::Stream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice6Stream9WaitEventERKN6Device9SyncEventE"><code class="docutils literal notranslate"><span class="pre">WaitEvent()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaDevice6Stream11SynchronizeEv"><code class="docutils literal notranslate"><span class="pre">Synchronize()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice9SyncEventE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaDevice::SyncEvent</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice9SyncEvent4WaitEv"><code class="docutils literal notranslate"><span class="pre">Wait()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaDevice9SyncEvent6RecordERKN6Device6StreamE"><code class="docutils literal notranslate"><span class="pre">Record()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaMemoryManagerE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaMemoryManager</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaMemoryManager15GetBufferReaderENSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">GetBufferReader()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaMemoryManager15GetBufferWriterENSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">GetBufferWriter()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaMemoryManager14AllocateBufferE7int64_t"><code class="docutils literal notranslate"><span class="pre">AllocateBuffer()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda17CudaMemoryManager11cuda_deviceEv"><code class="docutils literal notranslate"><span class="pre">cuda_device()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaMemoryManager19MakeDeviceSyncEventEv"><code class="docutils literal notranslate"><span class="pre">MakeDeviceSyncEvent()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda17CudaMemoryManager19WrapDeviceSyncEventEPvN6Device9SyncEvent12release_fn_tE"><code class="docutils literal notranslate"><span class="pre">WrapDeviceSyncEvent()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#buffers">Buffers</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaBufferE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaBuffer</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda10CudaBuffer10CopyToHostEK7int64_tK7int64_tPv"><code class="docutils literal notranslate"><span class="pre">CopyToHost()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaBuffer12CopyFromHostEK7int64_tPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">CopyFromHost()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaBuffer14CopyFromDeviceEK7int64_tPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">CopyFromDevice()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaBuffer21CopyFromAnotherDeviceERKNSt10shared_ptrI11CudaContextEEK7int64_tPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">CopyFromAnotherDevice()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaBuffer12ExportForIpcEv"><code class="docutils literal notranslate"><span class="pre">ExportForIpc()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda10CudaBuffer10FromBufferENSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">FromBuffer()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda14CudaHostBufferE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaHostBuffer</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda14CudaHostBuffer16GetDeviceAddressERKNSt10shared_ptrI11CudaContextEE"><code class="docutils literal notranslate"><span class="pre">GetDeviceAddress()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#memory-input-output">Memory Input / Output</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaBufferReaderE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaBufferReader</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaBufferReader6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaBufferReader18supports_zero_copyEv"><code class="docutils literal notranslate"><span class="pre">supports_zero_copy()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaBufferWriterE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaBufferWriter</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaBufferWriter5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaBufferWriter5FlushEv"><code class="docutils literal notranslate"><span class="pre">Flush()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaBufferWriter5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaBufferWriter13SetBufferSizeEK7int64_t"><code class="docutils literal notranslate"><span class="pre">SetBufferSize()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter11buffer_sizeEv"><code class="docutils literal notranslate"><span class="pre">buffer_size()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaBufferWriter18num_bytes_bufferedEv"><code class="docutils literal notranslate"><span class="pre">num_bytes_buffered()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#ipc">IPC</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandleE"><code class="docutils literal notranslate"><span class="pre">arrow::cuda::CudaIpcMemHandle</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow4cuda16CudaIpcMemHandle9SerializeEP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Serialize()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow4cuda16CudaIpcMemHandle10FromBufferEPKv"><code class="docutils literal notranslate"><span class="pre">FromBuffer()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow/edit/main/docs/source/cpp/api/cuda.rst">
<i class="fa-solid fa-pencil"></i>
Edit on GitHub
</a>
</div>
</div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2016-2025 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache logo, and the Apache Arrow project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
<!-- # L10n: Setting the PST URL as an argument as this does not need to be localized -->
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.16.1.
</p></div>
</div>
</div>
</footer>
</body>
</html>