/** * List the OpenCL implementations that contain at least one GPU device. */ public static CLPlatform[] listGPUPoweredPlatforms() { CLPlatform[] platforms = listPlatforms(); List<CLPlatform> out = new ArrayList<CLPlatform>(platforms.length); for (CLPlatform platform : platforms) { if (platform.listGPUDevices(true).length > 0) out.add(platform); } return out.toArray(new CLPlatform[out.size()]); } /**
/** * List the OpenCL implementations that contain at least one GPU device. */ public static CLPlatform[] listGPUPoweredPlatforms() { CLPlatform[] platforms = listPlatforms(); List<CLPlatform> out = new ArrayList<CLPlatform>(platforms.length); for (CLPlatform platform : platforms) { if (platform.listGPUDevices(true).length > 0) out.add(platform); } return out.toArray(new CLPlatform[out.size()]); } /**
public static CLDevice[] getDevices(Target target) { CLPlatform platform = listPlatforms()[0]; switch (target) { case CPU: return platform.listCPUDevices(true); case GPU: return platform.listGPUDevices(true); case CPU_GPU: return platform.listAllDevices(true); default: throw new IllegalArgumentException("Unknown target : " + target); } } public static class ExecResult<B> {