Most visited

Recently visited

ScriptGroup

public final class ScriptGroup
extends BaseObj

java.lang.Object
   ↳ android.support.v8.renderscript.BaseObj
     ↳ android.support.v8.renderscript.ScriptGroup


A group of kernels that are executed together with one execution call as if they were a single kernel

In addition to kernels, a script group may contain invocable functions as well. A script group may take inputs and generate outputs, which are consumed and produced by its member kernels. Inside a script group, outputs from one kernel can be passed to another kernel as inputs. The API disallows cyclic dependencies among kernels in a script group, effectively making it a directed acyclic graph (DAG) of kernels.

Grouping kernels together allows for more efficient execution. For example, runtime and compiler optimization can be applied to reduce computation and communication overhead, and to make better use of the CPU and the GPU.

Summary

Nested classes

class ScriptGroup.Binding

Represents a binding of a value to a global variable in a kernel or invocable function. 

class ScriptGroup.Builder

This class is deprecated. Use ScriptGroup.Builder2 instead.  

class ScriptGroup.Builder2

The builder class for creating script groups

A script group is created using closures (see class ScriptGroup.Closure). 

class ScriptGroup.Closure

An opaque class for closures

A closure represents a function call to a kernel or invocable function, combined with arguments and values for global variables. 

class ScriptGroup.Future

An opaque class for futures

A future represents an output of a closure, either the return value of the function, or the value of a global variable written by the function. 

class ScriptGroup.Input

An opaque class for unbound values (used for script group inputs)

Created by calling the addInput() method. 

Public methods

void execute()

This method is deprecated. Use execute() instead.

Object[] execute(Object... inputs)

Executes a script group

void setInput(Script.KernelID s, Allocation a)

This method is deprecated. Set arguments to execute(Object) instead.

void setOutput(Script.KernelID s, Allocation a)

This method is deprecated. Use return value of execute(Object) instead.

Inherited methods

From class android.support.v8.renderscript.BaseObj
From class java.lang.Object

Public methods

execute

void execute ()

This method is deprecated.
Use execute() instead.

Execute the ScriptGroup. This will run all the kernels in the ScriptGroup. No internal connection results will be visible after execution of the ScriptGroup. If Incremental Support for intrinsics is needed, the execution will take the naive path: execute kernels one by one in the correct order.

execute

Object[] execute (Object... inputs)

Executes a script group

Parameters
inputs Object: inputs to the script group
Returns
Object[] outputs of the script group as an array of objects

setInput

void setInput (Script.KernelID s, 
                Allocation a)

This method is deprecated.
Set arguments to execute(Object) instead.

Sets an input of the ScriptGroup. This specifies an Allocation to be used for kernels that require an input Allocation provided from outside of the ScriptGroup.

Parameters
s Script.KernelID: The ID of the kernel where the allocation should be connected.
a Allocation: The allocation to connect.

setOutput

void setOutput (Script.KernelID s, 
                Allocation a)

This method is deprecated.
Use return value of execute(Object) instead.

Sets an output of the ScriptGroup. This specifies an Allocation to be used for the kernels that require an output Allocation visible after the ScriptGroup is executed.

Parameters
s Script.KernelID: The ID of the kernel where the allocation should be connected.
a Allocation: The allocation to connect.

Hooray!