blob: b77dad86b5648c8a0985072ad84e7618bf5f51f8 [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>ScriptExecutor (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="ScriptExecutor (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":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
var tabs = {65535:["t0","All 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/ScriptExecutor.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/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptFactory.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/sysds/api/mlcontext/ScriptExecutor.html" target="_top">Frames</a></li>
<li><a href="ScriptExecutor.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.api.mlcontext</div>
<h2 title="Class ScriptExecutor" class="title">Class ScriptExecutor</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.api.mlcontext.ScriptExecutor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">ScriptExecutor</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">ScriptExecutor executes a DML or PYDML Script object using SystemDS. This is
accomplished by calling the <a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#execute-org.apache.sysds.api.mlcontext.Script-"><code>execute(org.apache.sysds.api.mlcontext.Script)</code></a> method.
<p>
Script execution via the MLContext API typically consists of the following
steps:
</p>
<ol>
<li>Language Steps
<ol>
<li>Parse script into program</li>
<li>Live variable analysis</li>
<li>Validate program</li>
</ol>
</li>
<li>HOP (High-Level Operator) Steps
<ol>
<li>Construct HOP DAGs</li>
<li>Static rewrites</li>
<li>Intra-/Inter-procedural analysis</li>
<li>Dynamic rewrites</li>
<li>Compute memory estimates</li>
<li>Rewrite persistent reads and writes (MLContext-specific)</li>
</ol>
</li>
<li>LOP (Low-Level Operator) Steps
<ol>
<li>Contruct LOP DAGs</li>
<li>Generate runtime program</li>
<li>Execute runtime program</li>
<li>Dynamic recompilation</li>
</ol>
</li>
</ol>
<p>
Modifications to these steps can be accomplished by subclassing
ScriptExecutor. For more information, please see the <a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#execute-org.apache.sysds.api.mlcontext.Script-"><code>execute(org.apache.sysds.api.mlcontext.Script)</code></a> method.</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/api/mlcontext/ScriptExecutor.html#ScriptExecutor--">ScriptExecutor</a></span>()</code>
<div class="block">ScriptExecutor constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#ScriptExecutor-org.apache.sysds.conf.DMLConfig-">ScriptExecutor</a></span>(<a href="../../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;config)</code>
<div class="block">ScriptExecutor constructor, where the configuration properties are passed
in.</div>
</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="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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#compile-org.apache.sysds.api.mlcontext.Script-">compile</a></span>(<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;script)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#compile-org.apache.sysds.api.mlcontext.Script-boolean-">compile</a></span>(<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;script,
boolean&nbsp;performHOPRewrites)</code>
<div class="block">Compile a DML or PYDML script.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/api/mlcontext/MLResults.html" title="class in org.apache.sysds.api.mlcontext">MLResults</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#execute-org.apache.sysds.api.mlcontext.Script-">execute</a></span>(<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;script)</code>
<div class="block">Execute a DML or PYDML script.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getConfig--">getConfig</a></span>()</code>
<div class="block">Obtain the SystemDS configuration properties.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getDmlProgram--">getDmlProgram</a></span>()</code>
<div class="block">Obtain the program</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getDmlTranslator--">getDmlTranslator</a></span>()</code>
<div class="block">Obtain the translator</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getExecutionContext--">getExecutionContext</a></span>()</code>
<div class="block">Obtain the execution context</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExecutionType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getExecutionType--">getExecutionType</a></span>()</code>
<div class="block">Obtain the current execution environment.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getRuntimeProgram--">getRuntimeProgram</a></span>()</code>
<div class="block">Obtain the runtime program</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#getScript--">getScript</a></span>()</code>
<div class="block">Obtain the Script object associated with this ScriptExecutor</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#isMaintainSymbolTable--">isMaintainSymbolTable</a></span>()</code>
<div class="block">Obtain whether or not all values should be maintained in the symbol table
after execution.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setConfig-org.apache.sysds.conf.DMLConfig-">setConfig</a></span>(<a href="../../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;config)</code>
<div class="block">Set the SystemDS configuration properties.</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/api/mlcontext/ScriptExecutor.html#setExecutionType-org.apache.sysds.api.mlcontext.MLContext.ExecutionType-">setExecutionType</a></span>(<a href="../../../../../org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExecutionType</a>&nbsp;executionType)</code>
<div class="block">Set the execution environment.</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/api/mlcontext/ScriptExecutor.html#setExplain-boolean-">setExplain</a></span>(boolean&nbsp;explain)</code>
<div class="block">Whether or not an explanation of the DML/PYDML program should be output
to standard output.</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/api/mlcontext/ScriptExecutor.html#setExplainLevel-org.apache.sysds.api.mlcontext.MLContext.ExplainLevel-">setExplainLevel</a></span>(<a href="../../../../../org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExplainLevel</a>&nbsp;explainLevel)</code>
<div class="block">Set the level of program explanation that should be displayed if explain
is set to true.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setForceGPU-boolean-">setForceGPU</a></span>(boolean&nbsp;enabled)</code>
<div class="block">Whether or not to force GPU usage.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setGPU-boolean-">setGPU</a></span>(boolean&nbsp;enabled)</code>
<div class="block">Whether or not to enable GPU usage.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setInit-boolean-">setInit</a></span>(boolean&nbsp;init)</code>
<div class="block">Whether or not to initialize the scratch_space, bufferpool, etc.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setMaintainSymbolTable-boolean-">setMaintainSymbolTable</a></span>(boolean&nbsp;maintainSymbolTable)</code>
<div class="block">Set whether or not all values should be maintained in the symbol table
after execution.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setStatistics-boolean-">setStatistics</a></span>(boolean&nbsp;statistics)</code>
<div class="block">Whether or not statistics about the DML/PYDML program should be output to
standard output.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setStatisticsMaxHeavyHitters-int-">setStatisticsMaxHeavyHitters</a></span>(int&nbsp;maxHeavyHitters)</code>
<div class="block">Set the maximum number of heavy hitters to display with statistics.</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#toString--" title="class or interface in java.lang">toString</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="ScriptExecutor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ScriptExecutor</h4>
<pre>public&nbsp;ScriptExecutor()</pre>
<div class="block">ScriptExecutor constructor.</div>
</li>
</ul>
<a name="ScriptExecutor-org.apache.sysds.conf.DMLConfig-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ScriptExecutor</h4>
<pre>public&nbsp;ScriptExecutor(<a href="../../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;config)</pre>
<div class="block">ScriptExecutor constructor, where the configuration properties are passed
in.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - the configuration properties to use by the ScriptExecutor</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="compile-org.apache.sysds.api.mlcontext.Script-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compile</h4>
<pre>public&nbsp;void&nbsp;compile(<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;script)</pre>
</li>
</ul>
<a name="compile-org.apache.sysds.api.mlcontext.Script-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compile</h4>
<pre>public&nbsp;void&nbsp;compile(<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;script,
boolean&nbsp;performHOPRewrites)</pre>
<div class="block">Compile a DML or PYDML script. This will help analysis of DML programs
that have dynamic recompilation flag set to false without actually executing it.
This is broken down into the following
primary methods:
<ol>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#setup-org.apache.sysds.api.mlcontext.Script-"><code>setup(Script)</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#parseScript--"><code>parseScript()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#liveVariableAnalysis--"><code>liveVariableAnalysis()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#validateScript--"><code>validateScript()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#constructHops--"><code>constructHops()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#rewriteHops--"><code>rewriteHops()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#rewritePersistentReadsAndWrites--"><code>rewritePersistentReadsAndWrites()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#constructLops--"><code>constructLops()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#generateRuntimeProgram--"><code>generateRuntimeProgram()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#showExplanation--"><code>showExplanation()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#countCompiledMRJobsAndSparkInstructions--"><code>countCompiledMRJobsAndSparkInstructions()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#initializeCachingAndScratchSpace--"><code>initializeCachingAndScratchSpace()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#cleanupRuntimeProgram--"><code>cleanupRuntimeProgram()</code></a></li>
</ol></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>script</code> - the DML or PYDML script to compile</dd>
<dd><code>performHOPRewrites</code> - should perform static rewrites, perform intra-/inter-procedural analysis to propagate size information into functions and apply dynamic rewrites</dd>
</dl>
</li>
</ul>
<a name="execute-org.apache.sysds.api.mlcontext.Script-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/api/mlcontext/MLResults.html" title="class in org.apache.sysds.api.mlcontext">MLResults</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;script)</pre>
<div class="block">Execute a DML or PYDML script. This is broken down into the following
primary methods:
<ol>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#compile-org.apache.sysds.api.mlcontext.Script-"><code>compile(Script)</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#createAndInitializeExecutionContext--"><code>createAndInitializeExecutionContext()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#executeRuntimeProgram--"><code>executeRuntimeProgram()</code></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptExecutor.html#cleanupAfterExecution--"><code>cleanupAfterExecution()</code></a></li>
</ol></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>script</code> - the DML or PYDML script to execute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the results as a MLResults object</dd>
</dl>
</li>
</ul>
<a name="setConfig-org.apache.sysds.conf.DMLConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfig</h4>
<pre>public&nbsp;void&nbsp;setConfig(<a href="../../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;config)</pre>
<div class="block">Set the SystemDS configuration properties.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - The configuration properties</dd>
</dl>
</li>
</ul>
<a name="getDmlProgram--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDmlProgram</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;getDmlProgram()</pre>
<div class="block">Obtain the program</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the program</dd>
</dl>
</li>
</ul>
<a name="getDmlTranslator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDmlTranslator</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a>&nbsp;getDmlTranslator()</pre>
<div class="block">Obtain the translator</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the translator</dd>
</dl>
</li>
</ul>
<a name="getRuntimeProgram--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRuntimeProgram</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;getRuntimeProgram()</pre>
<div class="block">Obtain the runtime program</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the runtime program</dd>
</dl>
</li>
</ul>
<a name="getExecutionContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExecutionContext</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;getExecutionContext()</pre>
<div class="block">Obtain the execution context</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the execution context</dd>
</dl>
</li>
</ul>
<a name="getScript--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScript</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a>&nbsp;getScript()</pre>
<div class="block">Obtain the Script object associated with this ScriptExecutor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Script object associated with this ScriptExecutor</dd>
</dl>
</li>
</ul>
<a name="setExplain-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExplain</h4>
<pre>public&nbsp;void&nbsp;setExplain(boolean&nbsp;explain)</pre>
<div class="block">Whether or not an explanation of the DML/PYDML program should be output
to standard output.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>explain</code> - <code>true</code> if explanation should be output, <code>false</code>
otherwise</dd>
</dl>
</li>
</ul>
<a name="setStatistics-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStatistics</h4>
<pre>public&nbsp;void&nbsp;setStatistics(boolean&nbsp;statistics)</pre>
<div class="block">Whether or not statistics about the DML/PYDML program should be output to
standard output.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>statistics</code> - <code>true</code> if statistics should be output, <code>false</code>
otherwise</dd>
</dl>
</li>
</ul>
<a name="setStatisticsMaxHeavyHitters-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStatisticsMaxHeavyHitters</h4>
<pre>public&nbsp;void&nbsp;setStatisticsMaxHeavyHitters(int&nbsp;maxHeavyHitters)</pre>
<div class="block">Set the maximum number of heavy hitters to display with statistics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxHeavyHitters</code> - the maximum number of heavy hitters</dd>
</dl>
</li>
</ul>
<a name="isMaintainSymbolTable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMaintainSymbolTable</h4>
<pre>public&nbsp;boolean&nbsp;isMaintainSymbolTable()</pre>
<div class="block">Obtain whether or not all values should be maintained in the symbol table
after execution.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if all values should be maintained in the symbol
table, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setMaintainSymbolTable-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaintainSymbolTable</h4>
<pre>public&nbsp;void&nbsp;setMaintainSymbolTable(boolean&nbsp;maintainSymbolTable)</pre>
<div class="block">Set whether or not all values should be maintained in the symbol table
after execution.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maintainSymbolTable</code> - <code>true</code> if all values should be maintained in the symbol
table, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setInit-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInit</h4>
<pre>public&nbsp;void&nbsp;setInit(boolean&nbsp;init)</pre>
<div class="block">Whether or not to initialize the scratch_space, bufferpool, etc. Note
that any redundant initialize (e.g., multiple scripts from one MLContext)
clears existing files from the scratch space and buffer pool.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>init</code> - <code>true</code> if should initialize, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setExplainLevel-org.apache.sysds.api.mlcontext.MLContext.ExplainLevel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExplainLevel</h4>
<pre>public&nbsp;void&nbsp;setExplainLevel(<a href="../../../../../org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExplainLevel</a>&nbsp;explainLevel)</pre>
<div class="block">Set the level of program explanation that should be displayed if explain
is set to true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>explainLevel</code> - the level of program explanation</dd>
</dl>
</li>
</ul>
<a name="setGPU-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGPU</h4>
<pre>public&nbsp;void&nbsp;setGPU(boolean&nbsp;enabled)</pre>
<div class="block">Whether or not to enable GPU usage.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enabled</code> - <code>true</code> if enabled, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setForceGPU-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setForceGPU</h4>
<pre>public&nbsp;void&nbsp;setForceGPU(boolean&nbsp;enabled)</pre>
<div class="block">Whether or not to force GPU usage.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enabled</code> - <code>true</code> if enabled, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="getConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfig</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;getConfig()</pre>
<div class="block">Obtain the SystemDS configuration properties.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configuration properties</dd>
</dl>
</li>
</ul>
<a name="getExecutionType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExecutionType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExecutionType</a>&nbsp;getExecutionType()</pre>
<div class="block">Obtain the current execution environment.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the execution environment</dd>
</dl>
</li>
</ul>
<a name="setExecutionType-org.apache.sysds.api.mlcontext.MLContext.ExecutionType-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setExecutionType</h4>
<pre>public&nbsp;void&nbsp;setExecutionType(<a href="../../../../../org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExecutionType</a>&nbsp;executionType)</pre>
<div class="block">Set the execution environment.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executionType</code> - the execution environment</dd>
</dl>
</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/ScriptExecutor.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/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/sysds/api/mlcontext/ScriptFactory.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/sysds/api/mlcontext/ScriptExecutor.html" target="_top">Frames</a></li>
<li><a href="ScriptExecutor.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>