\doxysection{gko::\+Cuda\+Async\+Allocator Class Reference}
\hypertarget{classgko_1_1CudaAsyncAllocator}{}\label{classgko_1_1CudaAsyncAllocator}\index{gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}}


Inheritance diagram for gko::\+Cuda\+Async\+Allocator:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=206pt]{classgko_1_1CudaAsyncAllocator__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+Cuda\+Async\+Allocator:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=206pt]{classgko_1_1CudaAsyncAllocator__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1CudaAsyncAllocator_a9f1351de9504e46668d70ff239cdccf3}{allocate}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} num\+\_\+bytes) override
\item 
void \doxymbox{\hyperlink{classgko_1_1CudaAsyncAllocator_ac0bd6aa56791e850ff5082e0d46af939}{deallocate}} (void \texorpdfstring{$\ast$}{*}ptr) override
\item 
\Hypertarget{classgko_1_1CudaAsyncAllocator_a3fbdcd6b399293a2009bd10f8f31badd}\label{classgko_1_1CudaAsyncAllocator_a3fbdcd6b399293a2009bd10f8f31badd} 
{\bfseries Cuda\+Async\+Allocator} (CUstream\+\_\+st \texorpdfstring{$\ast$}{*}stream)
\item 
bool \doxymbox{\hyperlink{classgko_1_1CudaAsyncAllocator_ade0fbb75c0270b9df4895123965c4a65}{check\+\_\+environment}} (int device\+\_\+id, CUstream\+\_\+st \texorpdfstring{$\ast$}{*}stream) const override
\begin{DoxyCompactList}\small\item\em Checks if the allocator can be used safely with the provided device ID and stream. \end{DoxyCompactList}\end{DoxyCompactItemize}


\label{doc-func-members}
\Hypertarget{classgko_1_1CudaAsyncAllocator_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1CudaAsyncAllocator_a9f1351de9504e46668d70ff239cdccf3}\index{gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}!allocate@{allocate}}
\index{allocate@{allocate}!gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}}
\doxysubsubsection{\texorpdfstring{allocate()}{allocate()}}
{\footnotesize\ttfamily \label{classgko_1_1CudaAsyncAllocator_a9f1351de9504e46668d70ff239cdccf3} 
void \texorpdfstring{$\ast$}{*} gko::\+\+Cuda\+Async\+Allocator::\+allocate (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{num\+\_\+bytes}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Implements \doxymbox{\hyperlink{classgko_1_1Allocator}{gko::\+\+Allocator}}.

\Hypertarget{classgko_1_1CudaAsyncAllocator_ade0fbb75c0270b9df4895123965c4a65}\index{gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}!check\_environment@{check\_environment}}
\index{check\_environment@{check\_environment}!gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}}
\doxysubsubsection{\texorpdfstring{check\_environment()}{check\_environment()}}
{\footnotesize\ttfamily \label{classgko_1_1CudaAsyncAllocator_ade0fbb75c0270b9df4895123965c4a65} 
bool gko::\+\+Cuda\+Async\+Allocator::\+check\+\_\+environment (\begin{DoxyParamCaption}\item[{int}]{device\+\_\+id}{, }\item[{CUstream\+\_\+st \texorpdfstring{$\ast$}{*}}]{stream}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Checks if the allocator can be used safely with the provided device ID and stream. 

The check is necessary to ensure safe usage of stream-\/ordered allocators and unified shared memory allocators.


\begin{DoxyParams}{Parameters}
{\em device\+\_\+id} & the device ID the allocator will be used in. \\
\hline
{\em stream} & the stream the allocator will be used with.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if and only if the allocator can be used by \doxylink{classgko_1_1CudaExecutor}{Cuda\+Executor} in the given environment. 
\end{DoxyReturn}


Reimplemented from \doxymbox{\hyperlink{classgko_1_1CudaAllocatorBase}{gko::\+\+Cuda\+Allocator\+Base}}.

\Hypertarget{classgko_1_1CudaAsyncAllocator_ac0bd6aa56791e850ff5082e0d46af939}\index{gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}!deallocate@{deallocate}}
\index{deallocate@{deallocate}!gko::CudaAsyncAllocator@{gko::CudaAsyncAllocator}}
\doxysubsubsection{\texorpdfstring{deallocate()}{deallocate()}}
{\footnotesize\ttfamily \label{classgko_1_1CudaAsyncAllocator_ac0bd6aa56791e850ff5082e0d46af939} 
void gko::\+\+Cuda\+Async\+Allocator::\+deallocate (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{ptr}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Implements \doxymbox{\hyperlink{classgko_1_1Allocator}{gko::\+\+Allocator}}.



The documentation for this class was generated from the following file:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+base/\+memory.\+hpp\end{DoxyCompactItemize}
