All Classes and Interfaces

Class
Description
Exception is thrown when an Aparapi kernel is executing in Java mode, and a barrier cannot be completed due to threads that die during its execution.
We use AparapiException class and subclasses to wrap other Exception classes, mainly to allow differentiation between Aparapi specific issues at runtime.
This exception is thrown by underlying Aparapi JNI native code when the JNI call fails
This exception is thrown when a Java kernel execution fails.
Base abstract class for converting Aparapi IR to text.
Deals with the issue of recognizing that a sequence of bytecode branch instructions actually represent a single if/while with a logical expression.
A node in the expression tree representing a simple logical expression.
Base abstract class used to hold information used to construct node tree for logical expressions.
A node in the expression tree representing a simple logical expression.
Used to parse ClassFile structure.
Primarily used to parse various ClassFile structures.
 
Class represents a ClassFile (MyClass.class).
 
 
 
 
 
 
We throw ClassParseExceptions (derived from AparapiException) if we encounter any Aparapi unfriendly constructs.
 
 
 
A central location for holding all runtime configurable properties as well as logging configuration.
 
This class is intended to be used as a 'proxy' or 'facade' object for Java code to interact with JNI
 
 
 
Use this annotation to tag stuff that needs Java Doc added
 
 
Used to tag experimental features (methods/fields)
Essentially a glorified linked list of Instructions plus some additional state to allow us to transform sequences.
Provides the interface for Aparapi Kernel barriers.
Initially represents a single Java bytecode instruction.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents an Operator
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This interface provides a way for the client application to refine the default devices configuration obtained by the underlying OpenCL platforms in a centralized, automated manner.
Defines interface for listener/observer of Kernel profile reports
 
A kernel encapsulates a data parallel algorithm that will execute either on a GPU (through conversion to OpenCL) or on a CPU via a Java Thread Pool.
We can use this Annotation to 'tag' intended constant buffers.
Deprecated.
It is no longer recommended that EXECUTION_MODEs are used, as a more sophisticated Device preference mechanism is in place, see KernelManager.
We can use this Annotation to 'tag' intended local buffers.
Annotation which can be applied to either a getter (with usual java bean naming convention relative to an instance field), or to any method with void return type, which prevents both the method body and any calls to the method being emitted in the generated OpenCL.
This annotation is for internal use only
This annotation is for internal use only
We can use this Annotation to 'tag' __private (unshared) array fields.
Each field (or captured field in the case of an anonymous inner class) referenced by any bytecode reachable from the users Kernel.run(), will need to be represented as a KernelArg.
This class is intended to be used as a 'proxy' or 'facade' object for Java code to interact with JNI
Created by Barney on 02/09/2015.
Created by Barney on 24/08/2015.
New home for deprecated methods of Device.
KernelManager instances useful for debugging.
Thread safe class holding the kernel preferences for a given kernel class.
Collects profiling information per kernel class per device.
The class is responsible for executing Kernel implementations.
 
 
 
This class is intended to be used as a 'proxy' or 'facade' object for Java code to interact with JNI
 
 
 
 
 
 
Implementation of SwingWorker to assist in progress tracking and cancellation of multi-pass Kernels.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class is intended to be used as a 'proxy' or 'facade' object for Java code to interact with JNI
 
This class is intended to be a singleton which determines if OpenCL is available upon startup of Aparapi
 
 
 
This utility class encapsulates the necessary actions required to query underlying OpenCL information
 
 
 
 
 
 
 
Created by Barney on 02/09/2015.
This exception is thrown when an unexpected behavior occurs while querying the OpenCL platform.
A representation of 1, 2 or 3 dimensional range of execution.
 
This class is intended to be used as a 'proxy' or 'facade' object for Java code to interact with JNI
Created by Barney on 03/09/2015.
Use this annotation to tag fields that we think need to be removed (method/field/var)
Substitute of Java8's Supplier interface, used in Java7 backport of caches.
A wrapper around sun.misc.Unsafe for handling atomic operations, copies from fields to arrays and vice versa.
Used to tag unused features (methods/fields)
Be careful changing the name/type of this field as it is referenced from JNI code.