blob: 7f3993e52841b4006a6f997c4a656c69167fca51 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GPUObject (SystemDS 2.1.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="GPUObject (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":10,"i41":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GPUObject.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" target="_top">Frames</a></li>
<li><a href="GPUObject.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.sysds.runtime.instructions.gpu.context</div>
<h2 title="Class GPUObject" class="title">Class GPUObject</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.runtime.instructions.gpu.context.GPUObject</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">GPUObject</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Handle to a matrix block on the GPU</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">GPUObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#acquireDeviceModifyDense--">acquireDeviceModifyDense</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#acquireDeviceModifySparse--">acquireDeviceModifySparse</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#acquireDeviceRead-java.lang.String-">acquireDeviceRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#acquireHostRead-java.lang.String-">acquireHostRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName)</code>
<div class="block">if the data is allocated on the GPU and is dirty, it is copied back to the host memory</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#addReadLock--">addReadLock</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#addWriteLock--">addWriteLock</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#allocateAndFillDense-double-">allocateAndFillDense</a></span>(double&nbsp;v)</code>
<div class="block">Allocates a dense matrix of size obtained from the attached matrix metadata
and fills it up with a single value</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#allocateSparseAndEmpty--">allocateSparseAndEmpty</a></span>()</code>
<div class="block">Allocates a sparse and empty <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a>
This is the result of operations that are both non zero matrices.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#clearData-java.lang.String-boolean-">clearData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
boolean&nbsp;eager)</code>
<div class="block">Clears the data associated with this <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> instance</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#clearDensePointer--">clearDensePointer</a></span>()</code>
<div class="block">Removes the dense pointer and potential soft reference</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#clone--">clone</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#columnMajorDenseToRowMajorSparse-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-jcuda.jcusparse.cusparseHandle-jcuda.Pointer-int-int-">columnMajorDenseToRowMajorSparse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
jcuda.jcusparse.cusparseHandle&nbsp;cusparseHandle,
jcuda.Pointer&nbsp;densePtr,
int&nbsp;rows,
int&nbsp;cols)</code>
<div class="block">Convenience method to convert a CSR matrix to a dense matrix on the GPU
Since the allocated matrix is temporary, bookkeeping is not updated.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#denseColumnMajorToRowMajor--">denseColumnMajorToRowMajor</a></span>()</code>
<div class="block">Convenience method.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#denseRowMajorToColumnMajor--">denseRowMajorToColumnMajor</a></span>()</code>
<div class="block">Convenience method.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#denseToSparse--">denseToSparse</a></span>()</code>
<div class="block">Converts this GPUObject from dense to sparse format.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>jcuda.Pointer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getDensePointer--">getDensePointer</a></span>()</code>
<div class="block">Pointer to dense matrix</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getDensePointerAddress--">getDensePointerAddress</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getJcudaSparseMatrixPtr--">getJcudaSparseMatrixPtr</a></span>()</code>
<div class="block">Pointer to sparse matrix</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getNnz-java.lang.String-boolean-">getNnz</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName,
boolean&nbsp;recomputeDenseNNZ)</code>
<div class="block">Being allocated is a prerequisite for computing nnz.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getPointerAddress-jcuda.Pointer-">getPointerAddress</a></span>(jcuda.Pointer&nbsp;p)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getSparseMatrixCudaPointer--">getSparseMatrixCudaPointer</a></span>()</code>
<div class="block">Convenience method to directly examine the Sparse matrix on GPU</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isAllocated--">isAllocated</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isDensePointerNull--">isDensePointerNull</a></span>()</code>
<div class="block">Checks if the dense pointer is null</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isDirty--">isDirty</a></span>()</code>
<div class="block">Whether this block is dirty on the GPU</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isLocked--">isLocked</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isSparse--">isSparse</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isSparseAndEmpty--">isSparseAndEmpty</a></span>()</code>
<div class="block">If this <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> is sparse and empty
Being allocated is a prerequisite to being sparse and empty.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseInput--">releaseInput</a></span>()</code>
<div class="block">Releases input allocated on GPU</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseOutput--">releaseOutput</a></span>()</code>
<div class="block">releases output allocated on GPU</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseReadLock--">releaseReadLock</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseWriteLock--">releaseWriteLock</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#resetReadWriteLock--">resetReadWriteLock</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setDensePointer-jcuda.Pointer-">setDensePointer</a></span>(jcuda.Pointer&nbsp;densePtr)</code>
<div class="block">Convenience method to directly set the dense matrix pointer on GPU</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setDirty-boolean-">setDirty</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setIsLinCached-boolean-">setIsLinCached</a></span>(boolean&nbsp;val)</code>&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setSparseMatrixCudaPointer-org.apache.sysds.runtime.instructions.gpu.context.CSRPointer-">setSparseMatrixCudaPointer</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;sparseMatrixPtr)</code>
<div class="block">Convenience method to directly set the sparse matrix on GPU
Needed for operations like cusparseDcsrgemm(cusparseHandle, int, int, int, int, int, cusparseMatDescr, int, Pointer, Pointer, Pointer, cusparseMatDescr, int, Pointer, Pointer, Pointer, cusparseMatDescr, Pointer, Pointer, Pointer)</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#sparseToColumnMajorDense--">sparseToColumnMajorDense</a></span>()</code>
<div class="block">More efficient method to convert sparse to dense but returns dense in column major format</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#sparseToDense--">sparseToDense</a></span>()</code>
<div class="block">Convert sparse to dense (Performs transpose, use sparseToColumnMajorDense if the kernel can deal with column major format)</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#sparseToDense-java.lang.String-">sparseToDense</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instructionName)</code>
<div class="block">Convert sparse to dense (Performs transpose, use sparseToColumnMajorDense if the kernel can deal with column major format)
Also records per instruction invokation of sparseToDense.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#toIntExact-long-">toIntExact</a></span>(long&nbsp;l)</code>&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>static jcuda.Pointer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#transpose-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-jcuda.Pointer-int-int-int-int-">transpose</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
jcuda.Pointer&nbsp;densePtr,
int&nbsp;m,
int&nbsp;n,
int&nbsp;lda,
int&nbsp;ldc)</code>
<div class="block">Transposes a dense matrix on the GPU by calling the cublasDgeam operation</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>GPUObject</h4>
<pre>public&nbsp;GPUObject(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getDensePointer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDensePointer</h4>
<pre>public&nbsp;jcuda.Pointer&nbsp;getDensePointer()</pre>
<div class="block">Pointer to dense matrix</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a pointer to the dense matrix</dd>
</dl>
</li>
</ul>
<a name="isDensePointerNull--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDensePointerNull</h4>
<pre>public&nbsp;boolean&nbsp;isDensePointerNull()</pre>
<div class="block">Checks if the dense pointer is null</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>if the state of dense pointer is null</dd>
</dl>
</li>
</ul>
<a name="clearDensePointer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearDensePointer</h4>
<pre>public&nbsp;void&nbsp;clearDensePointer()</pre>
<div class="block">Removes the dense pointer and potential soft reference</div>
</li>
</ul>
<a name="setDensePointer-jcuda.Pointer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDensePointer</h4>
<pre>public&nbsp;void&nbsp;setDensePointer(jcuda.Pointer&nbsp;densePtr)</pre>
<div class="block">Convenience method to directly set the dense matrix pointer on GPU</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>densePtr</code> - dense pointer</dd>
</dl>
</li>
</ul>
<a name="setDirty-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDirty</h4>
<pre>public&nbsp;void&nbsp;setDirty(boolean&nbsp;flag)</pre>
</li>
</ul>
<a name="clone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;clone()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="transpose-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-jcuda.Pointer-int-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transpose</h4>
<pre>public static&nbsp;jcuda.Pointer&nbsp;transpose(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
jcuda.Pointer&nbsp;densePtr,
int&nbsp;m,
int&nbsp;n,
int&nbsp;lda,
int&nbsp;ldc)</pre>
<div class="block">Transposes a dense matrix on the GPU by calling the cublasDgeam operation</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>gCtx</code> - a valid <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUContext</code></a></dd>
<dd><code>densePtr</code> - Pointer to dense matrix on the GPU</dd>
<dd><code>m</code> - rows in ouput matrix</dd>
<dd><code>n</code> - columns in output matrix</dd>
<dd><code>lda</code> - rows in input matrix</dd>
<dd><code>ldc</code> - columns in output matrix</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>transposed matrix</dd>
</dl>
</li>
</ul>
<a name="columnMajorDenseToRowMajorSparse-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-jcuda.jcusparse.cusparseHandle-jcuda.Pointer-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnMajorDenseToRowMajorSparse</h4>
<pre>public static&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;columnMajorDenseToRowMajorSparse(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
jcuda.jcusparse.cusparseHandle&nbsp;cusparseHandle,
jcuda.Pointer&nbsp;densePtr,
int&nbsp;rows,
int&nbsp;cols)</pre>
<div class="block">Convenience method to convert a CSR matrix to a dense matrix on the GPU
Since the allocated matrix is temporary, bookkeeping is not updated.
Also note that the input dense matrix is expected to be in COLUMN MAJOR FORMAT
Caller is responsible for deallocating memory on GPU.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>gCtx</code> - a valid <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUContext</code></a></dd>
<dd><code>cusparseHandle</code> - handle to cusparse library</dd>
<dd><code>densePtr</code> - [in] dense matrix pointer on the GPU in row major</dd>
<dd><code>rows</code> - number of rows</dd>
<dd><code>cols</code> - number of columns</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CSR (compressed sparse row) pointer</dd>
</dl>
</li>
</ul>
<a name="getSparseMatrixCudaPointer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSparseMatrixCudaPointer</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;getSparseMatrixCudaPointer()</pre>
<div class="block">Convenience method to directly examine the Sparse matrix on GPU</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CSR (compressed sparse row) pointer</dd>
</dl>
</li>
</ul>
<a name="setSparseMatrixCudaPointer-org.apache.sysds.runtime.instructions.gpu.context.CSRPointer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSparseMatrixCudaPointer</h4>
<pre>public&nbsp;void&nbsp;setSparseMatrixCudaPointer(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;sparseMatrixPtr)</pre>
<div class="block">Convenience method to directly set the sparse matrix on GPU
Needed for operations like cusparseDcsrgemm(cusparseHandle, int, int, int, int, int, cusparseMatDescr, int, Pointer, Pointer, Pointer, cusparseMatDescr, int, Pointer, Pointer, Pointer, cusparseMatDescr, Pointer, Pointer, Pointer)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sparseMatrixPtr</code> - CSR (compressed sparse row) pointer</dd>
</dl>
</li>
</ul>
<a name="denseToSparse--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>denseToSparse</h4>
<pre>public&nbsp;void&nbsp;denseToSparse()</pre>
<div class="block">Converts this GPUObject from dense to sparse format.</div>
</li>
</ul>
<a name="denseRowMajorToColumnMajor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>denseRowMajorToColumnMajor</h4>
<pre>public&nbsp;void&nbsp;denseRowMajorToColumnMajor()</pre>
<div class="block">Convenience method. Converts Row Major Dense Matrix to Column Major Dense Matrix</div>
</li>
</ul>
<a name="denseColumnMajorToRowMajor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>denseColumnMajorToRowMajor</h4>
<pre>public&nbsp;void&nbsp;denseColumnMajorToRowMajor()</pre>
<div class="block">Convenience method. Converts Column Major Dense Matrix to Row Major Dense Matrix</div>
</li>
</ul>
<a name="sparseToDense--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sparseToDense</h4>
<pre>public&nbsp;void&nbsp;sparseToDense()</pre>
<div class="block">Convert sparse to dense (Performs transpose, use sparseToColumnMajorDense if the kernel can deal with column major format)</div>
</li>
</ul>
<a name="sparseToDense-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sparseToDense</h4>
<pre>public&nbsp;void&nbsp;sparseToDense(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instructionName)</pre>
<div class="block">Convert sparse to dense (Performs transpose, use sparseToColumnMajorDense if the kernel can deal with column major format)
Also records per instruction invokation of sparseToDense.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>instructionName</code> - Name of the instruction for which statistics are recorded in <a href="../../../../../../../org/apache/sysds/utils/GPUStatistics.html" title="class in org.apache.sysds.utils"><code>GPUStatistics</code></a></dd>
</dl>
</li>
</ul>
<a name="sparseToColumnMajorDense--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sparseToColumnMajorDense</h4>
<pre>public&nbsp;void&nbsp;sparseToColumnMajorDense()</pre>
<div class="block">More efficient method to convert sparse to dense but returns dense in column major format</div>
</li>
</ul>
<a name="isSparse--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSparse</h4>
<pre>public&nbsp;boolean&nbsp;isSparse()</pre>
</li>
</ul>
<a name="isAllocated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAllocated</h4>
<pre>public&nbsp;boolean&nbsp;isAllocated()</pre>
</li>
</ul>
<a name="allocateSparseAndEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateSparseAndEmpty</h4>
<pre>public&nbsp;void&nbsp;allocateSparseAndEmpty()</pre>
<div class="block">Allocates a sparse and empty <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a>
This is the result of operations that are both non zero matrices.</div>
</li>
</ul>
<a name="allocateAndFillDense-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateAndFillDense</h4>
<pre>public&nbsp;void&nbsp;allocateAndFillDense(double&nbsp;v)</pre>
<div class="block">Allocates a dense matrix of size obtained from the attached matrix metadata
and fills it up with a single value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - value to fill up the dense matrix</dd>
</dl>
</li>
</ul>
<a name="isSparseAndEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSparseAndEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isSparseAndEmpty()</pre>
<div class="block">If this <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> is sparse and empty
Being allocated is a prerequisite to being sparse and empty.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if sparse and empty</dd>
</dl>
</li>
</ul>
<a name="getNnz-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNnz</h4>
<pre>public&nbsp;long&nbsp;getNnz(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName,
boolean&nbsp;recomputeDenseNNZ)</pre>
<div class="block">Being allocated is a prerequisite for computing nnz.
Note: if the matrix is in dense format, it explicitly re-computes the number of nonzeros.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>instName</code> - instruction name</dd>
<dd><code>recomputeDenseNNZ</code> - recompute NNZ if dense</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of nonzeroes</dd>
</dl>
</li>
</ul>
<a name="acquireDeviceRead-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireDeviceRead</h4>
<pre>public&nbsp;boolean&nbsp;acquireDeviceRead(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</pre>
</li>
</ul>
<a name="acquireDeviceModifyDense--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireDeviceModifyDense</h4>
<pre>public&nbsp;boolean&nbsp;acquireDeviceModifyDense()</pre>
</li>
</ul>
<a name="acquireDeviceModifySparse--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireDeviceModifySparse</h4>
<pre>public&nbsp;boolean&nbsp;acquireDeviceModifySparse()</pre>
</li>
</ul>
<a name="acquireHostRead-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireHostRead</h4>
<pre>public&nbsp;boolean&nbsp;acquireHostRead(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName)</pre>
<div class="block">if the data is allocated on the GPU and is dirty, it is copied back to the host memory</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>instName</code> - name of the instruction</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if a copy to host happened, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isLocked--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocked</h4>
<pre>public&nbsp;boolean&nbsp;isLocked()</pre>
</li>
</ul>
<a name="addReadLock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addReadLock</h4>
<pre>public&nbsp;void&nbsp;addReadLock()</pre>
</li>
</ul>
<a name="addWriteLock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addWriteLock</h4>
<pre>public&nbsp;void&nbsp;addWriteLock()</pre>
</li>
</ul>
<a name="releaseReadLock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseReadLock</h4>
<pre>public&nbsp;void&nbsp;releaseReadLock()</pre>
</li>
</ul>
<a name="releaseWriteLock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseWriteLock</h4>
<pre>public&nbsp;void&nbsp;releaseWriteLock()</pre>
</li>
</ul>
<a name="resetReadWriteLock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetReadWriteLock</h4>
<pre>public&nbsp;void&nbsp;resetReadWriteLock()</pre>
</li>
</ul>
<a name="releaseInput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseInput</h4>
<pre>public&nbsp;void&nbsp;releaseInput()</pre>
<div class="block">Releases input allocated on GPU</div>
</li>
</ul>
<a name="releaseOutput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseOutput</h4>
<pre>public&nbsp;void&nbsp;releaseOutput()</pre>
<div class="block">releases output allocated on GPU</div>
</li>
</ul>
<a name="toIntExact-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toIntExact</h4>
<pre>public static&nbsp;int&nbsp;toIntExact(long&nbsp;l)</pre>
</li>
</ul>
<a name="clearData-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearData</h4>
<pre>public&nbsp;void&nbsp;clearData(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
boolean&nbsp;eager)
throws <a href="../../../../../../../org/apache/sysds/runtime/DMLRuntimeException.html" title="class in org.apache.sysds.runtime">DMLRuntimeException</a></pre>
<div class="block">Clears the data associated with this <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> instance</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opcode</code> - opcode of the instruction</dd>
<dd><code>eager</code> - whether to be done synchronously or asynchronously</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/sysds/runtime/DMLRuntimeException.html" title="class in org.apache.sysds.runtime">DMLRuntimeException</a></code> - if error occurs</dd>
</dl>
</li>
</ul>
<a name="getJcudaSparseMatrixPtr--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJcudaSparseMatrixPtr</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;getJcudaSparseMatrixPtr()</pre>
<div class="block">Pointer to sparse matrix</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>?</dd>
</dl>
</li>
</ul>
<a name="isDirty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDirty</h4>
<pre>public&nbsp;boolean&nbsp;isDirty()</pre>
<div class="block">Whether this block is dirty on the GPU</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>?</dd>
</dl>
</li>
</ul>
<a name="setIsLinCached-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsLinCached</h4>
<pre>public&nbsp;void&nbsp;setIsLinCached(boolean&nbsp;val)</pre>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="getDensePointerAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDensePointerAddress</h4>
<pre>public&nbsp;long&nbsp;getDensePointerAddress()</pre>
</li>
</ul>
<a name="getPointerAddress-jcuda.Pointer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getPointerAddress</h4>
<pre>public static&nbsp;long&nbsp;getPointerAddress(jcuda.Pointer&nbsp;p)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GPUObject.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" target="_top">Frames</a></li>
<li><a href="GPUObject.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>