Enum Kernel.EXECUTION_MODE
- All Implemented Interfaces:
Serializable
,Comparable<Kernel.EXECUTION_MODE>
,java.lang.constant.Constable
- Enclosing class:
- Kernel
@Deprecated public static enum Kernel.EXECUTION_MODE extends Enum<Kernel.EXECUTION_MODE>
EXECUTION_MODE
s are used, as a more sophisticated Device
preference mechanism is in place, see KernelManager
. Though Kernel.setExecutionMode(EXECUTION_MODE)
is still honored, the default EXECUTION_MODE is now AUTO
, which indicates that the KernelManager
will determine execution behaviours.
The execution mode ENUM enumerates the possible modes of executing a kernel. One can request a mode of execution using the values below, and query a kernel after it first executes to determine how it executed.
Aparapi supports 5 execution modes. Default is GPU.
Enum value | Execution |
---|---|
GPU | Execute using OpenCL on first available GPU device |
ACC | Execute using OpenCL on first available Accelerator device |
CPU | Execute using OpenCL on first available CPU device |
JTP | Execute using a Java Thread Pool (one thread spawned per available core) |
SEQ | Execute using a single loop. This is useful for debugging but will be less performant than the other modes |
To request that a kernel is executed in a specific mode, call Kernel.setExecutionMode(EXECUTION_MODE)
before the
kernel first executes.
int[] values = new int[1024]; // fill values array SquareKernel kernel = new SquareKernel(values); kernel.setExecutionMode(Kernel.EXECUTION_MODE.JTP); kernel.execute(values.length);
Alternatively, the property com.codegen.executionMode
can be set to one of JTP,GPU,ACC,CPU,SEQ
when an application is launched.
java -classpath ....;codegen.jar -Dcom.codegen.executionMode=GPU MyApplication
Generally setting the execution mode is not recommended (it is best to let Aparapi decide automatically) but the option provides a way to compare a kernel's performance under multiple execution modes.
- Version:
- Alpha, 21/09/2010
- Author:
- gfrost AMD Javalabs
-
Nested Class Summary
-
Enum Constant Summary
Enum Constants Enum Constant Description ACC
Deprecated.The value representing execution on an accelerator device (Xeon Phi) via OpenCL.AUTO
Deprecated.CPU
Deprecated.The value representing execution on a CPU device via OpenCL.GPU
Deprecated.The value representing execution on a GPU device via OpenCL.JTP
Deprecated.The value representing execution on a Java Thread Pool.NONE
Deprecated.A dummy value to indicate an unknown state.SEQ
Deprecated.The value representing execution sequentially in a single loop. -
Method Summary
Modifier and Type Method Description boolean
isOpenCL()
Deprecated.static Kernel.EXECUTION_MODE
valueOf(String name)
Deprecated.Returns the enum constant of this type with the specified name.static Kernel.EXECUTION_MODE[]
values()
Deprecated.Returns an array containing the constants of this enum type, in the order they are declared.Methods inherited from class java.lang.Enum
compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Enum Constant Details
-
AUTO
Deprecated. -
NONE
Deprecated.A dummy value to indicate an unknown state. -
GPU
Deprecated.The value representing execution on a GPU device via OpenCL. -
CPU
Deprecated.The value representing execution on a CPU device via OpenCL.Note not all OpenCL implementations support OpenCL compute on the CPU.
-
JTP
Deprecated.The value representing execution on a Java Thread Pool.By default one Java thread is started for each available core and each core will execute
globalSize/cores
work items. This creates a total ofglobalSize%cores
threads to complete the work. Choose suitable values forglobalSize
to minimize the number of threads that are spawned. -
SEQ
Deprecated.The value representing execution sequentially in a single loop.This is meant to be used for debugging a kernel.
-
ACC
Deprecated.The value representing execution on an accelerator device (Xeon Phi) via OpenCL.
-
-
Method Details
-
values
Deprecated.Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Deprecated.Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
isOpenCL
public boolean isOpenCL()Deprecated.
-