public class CLPlatform extends Object
if( !CLPlatform.isAvailable() ) { return; // abort } try{ CLPlatform.initialize(); }catch(JogampRuntimeException ex) { throw new RuntimeException("could not load Java OpenCL Binding"); }Example initialization:
if( !CLPlatform.isAvailable() ) { return; // abort } CLPlatform platform = CLPlatform.getDefault(type(GPU)); if(platform == null) { throw new RuntimeException("please update your graphics drivers"); } CLContext context = CLContext.create(platform.getMaxFlopsDevice()); try { // use it }finally{ context.release(); }concurrency:
isAvailable()
,
initialize()
,
getDefault()
,
listCLPlatforms()
Modifier and Type | Field and Description |
---|---|
protected static CL |
cl |
long |
ID
OpenCL platform id for this platform.
|
protected CLPlatformInfoAccessor |
info |
CLVersion |
version
Version of this OpenCL platform.
|
Modifier | Constructor and Description |
---|---|
protected |
CLPlatform(long id,
CLAccessorFactory factory) |
Modifier and Type | Method and Description |
---|---|
protected CLDevice |
createDevice(long id) |
boolean |
equals(Object obj) |
CLPlatformInfoAccessor |
getCLAccessor() |
protected CL |
getCLBinding() |
static CLPlatform |
getDefault()
Returns the default OpenCL platform or null when no platform found.
|
static CLPlatform |
getDefault(Filter<CLPlatform>... filter)
Returns the default OpenCL platform or null when no platform found.
|
Set<String> |
getExtensions()
Returns all platform extension names as unmodifiable Set.
|
String |
getICDSuffix()
Returns the ICD suffix.
|
String |
getInfoString(int key)
Returns a info string in exchange for a key (CL_PLATFORM_*).
|
static CL |
getLowLevelCLInterface()
Returns the low level binding interface to the OpenCL APIs.
|
static CL |
getLowLevelCLInterfaceForDevice(long device)
Returns the low level binding interface to the OpenCL APIs for the specified device.
|
CLDevice |
getMaxFlopsDevice()
Returns the device with maximal FLOPS from this platform.
|
CLDevice |
getMaxFlopsDevice(CLDevice.Type... types)
Returns the device with maximal FLOPS and the specified type from this platform.
|
CLDevice |
getMaxFlopsDevice(Filter<CLDevice>... filter)
Returns the device with maximal FLOPS and the specified type from this platform.
|
String |
getName()
Returns the platform name.
|
String |
getProfile()
Returns the platform profile.
|
Map<String,String> |
getProperties()
Returns a Map of platform properties with the enum names as keys.
|
String |
getSpecVersion()
Returns the OpenCL Specification version supported by this platform.
|
String |
getVendor()
Returns the platform vendor.
|
CLVersion |
getVersion()
Returns the OpenCL version supported by this platform.
|
int |
hashCode() |
static void |
initialize()
Eagerly initializes JOCL.
|
boolean |
isAtLeast(CLVersion other) |
boolean |
isAtLeast(int major,
int minor) |
static boolean |
isAvailable() |
boolean |
isExtensionAvailable(String extension)
Returns true if the extension is supported on this platform.
|
boolean |
isVendorAMD() |
boolean |
isVendorIntel() |
CLDevice[] |
listCLDevices()
Lists all physical devices available on this platform.
|
CLDevice[] |
listCLDevices(CLDevice.Type... types)
Lists all physical devices available on this platform matching the given
CLDevice.Type . |
CLDevice[] |
listCLDevices(Filter<CLDevice>... filters)
Lists all physical devices available on this platform matching the given
Filter . |
static CLPlatform[] |
listCLPlatforms()
Lists all available OpenCL implementations.
|
static CLPlatform[] |
listCLPlatforms(Filter<CLPlatform>... filter)
Lists all available OpenCL implementations.
|
String |
toString() |
static void |
unloadCompiler()
Hint to allow the implementation to release the resources allocated by the OpenCL compiler.
|
public final long ID
public final CLVersion version
protected static CL cl
protected final CLPlatformInfoAccessor info
protected CLPlatform(long id, CLAccessorFactory factory)
public static boolean isAvailable()
public static void initialize() throws JogampRuntimeException
JogampRuntimeException
- if something went wrong in the initialization (e.g. OpenCL lib not found).isAvailable()
public static CLPlatform getDefault()
public static CLPlatform getDefault(Filter<CLPlatform>... filter)
public static CLPlatform[] listCLPlatforms()
CLException
- if something went wrong initializing OpenCLpublic static CLPlatform[] listCLPlatforms(Filter<CLPlatform>... filter)
filter
- Acceptance filter for the returned platforms.CLException
- if something went wrong initializing OpenCLpublic static CL getLowLevelCLInterface()
public static CL getLowLevelCLInterfaceForDevice(long device)
public static void unloadCompiler()
CLProgram.build()
after unloadCompiler will reload the compiler if necessary.public CLDevice[] listCLDevices()
public CLDevice[] listCLDevices(CLDevice.Type... types)
CLDevice.Type
.public CLDevice[] listCLDevices(Filter<CLDevice>... filters)
Filter
.protected CLDevice createDevice(long id)
public CLDevice getMaxFlopsDevice()
public CLDevice getMaxFlopsDevice(CLDevice.Type... types)
public CLDevice getMaxFlopsDevice(Filter<CLDevice>... filter)
public String getName()
public CLVersion getVersion()
public String getSpecVersion()
public boolean isAtLeast(CLVersion other)
public boolean isAtLeast(int major, int minor)
CLVersion.isAtLeast(int, int)
public String getProfile()
public String getVendor()
public boolean isVendorAMD()
public boolean isVendorIntel()
public String getICDSuffix()
public boolean isExtensionAvailable(String extension)
public Set<String> getExtensions()
public Map<String,String> getProperties()
public final String getInfoString(int key)
public final CLPlatformInfoAccessor getCLAccessor()
protected CL getCLBinding()