Package com.aparapi.internal.kernel
Class KernelPreferences
- java.lang.Object
-
- com.aparapi.internal.kernel.KernelPreferences
-
public class KernelPreferences extends java.lang.Object
Thread safe class holding the kernel preferences for a given kernel class.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.LinkedHashSet<Device>
failedDevices
private java.lang.Class<? extends Kernel>
kernelClass
private KernelManager
manager
private java.util.concurrent.atomic.AtomicReference<java.util.LinkedHashSet<Device>>
preferredDevices
-
Constructor Summary
Constructors Constructor Description KernelPreferences(KernelManager manager, java.lang.Class<? extends Kernel> kernelClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<Device>
getFailedDevices()
java.lang.Class<? extends Kernel>
getKernelClass()
What Kernel subclass is this the preferences for?Device
getPreferredDevice(Kernel kernel)
java.util.List<Device>
getPreferredDevices(Kernel kernel)
boolean
isDeviceAmongPreferredDevices(Device device)
Validates if the specified devices is among the preferred devices for executing the kernel associated with the current kernel preferences.(package private) void
markDeviceFailed(Device device)
(package private) void
markPreferredDeviceFailed()
private void
maybeSetUpDefaultPreferredDevices()
(package private) void
setPreferredDevices(java.util.LinkedHashSet<Device> _preferredDevices)
-
-
-
Field Detail
-
kernelClass
private final java.lang.Class<? extends Kernel> kernelClass
-
manager
private final KernelManager manager
-
preferredDevices
private final java.util.concurrent.atomic.AtomicReference<java.util.LinkedHashSet<Device>> preferredDevices
-
failedDevices
private final java.util.LinkedHashSet<Device> failedDevices
-
-
Constructor Detail
-
KernelPreferences
public KernelPreferences(KernelManager manager, java.lang.Class<? extends Kernel> kernelClass)
-
-
Method Detail
-
getKernelClass
public java.lang.Class<? extends Kernel> getKernelClass()
What Kernel subclass is this the preferences for?
-
isDeviceAmongPreferredDevices
public boolean isDeviceAmongPreferredDevices(Device device)
Validates if the specified devices is among the preferred devices for executing the kernel associated with the current kernel preferences.- Parameters:
device
- the device to be tested- Returns:
- true, if specified device is among the preferred devices
- false, otherwise
-
setPreferredDevices
void setPreferredDevices(java.util.LinkedHashSet<Device> _preferredDevices)
-
markPreferredDeviceFailed
void markPreferredDeviceFailed()
-
markDeviceFailed
void markDeviceFailed(Device device)
-
maybeSetUpDefaultPreferredDevices
private void maybeSetUpDefaultPreferredDevices()
-
getFailedDevices
public java.util.List<Device> getFailedDevices()
-
-