public static void main(String[] args) throws Exception { CudaEnvironment.getInstance().getConfiguration()
CudaEnvironment.getInstance().getConfiguration()
CudaEnvironment.getInstance().getConfiguration()
CudaEnvironment.getInstance().getConfiguration()
CudaEnvironment.getInstance().getConfiguration()
CudaEnvironment.getInstance().getConfiguration()
/** * This method pairs specified thread & device * * @param threadId * @param deviceId */ @Override public void attachThreadToDevice(long threadId, Integer deviceId) { List<Integer> devices = new ArrayList<>(CudaEnvironment.getInstance().getConfiguration().getAvailableDevices()); logger.trace("Manually mapping thread [{}] to device [{}], out of [{}] devices...", threadId, deviceId, devices.size()); affinityMap.put(threadId, deviceId); }
/** * This method pairs specified thread & device * * @param threadId * @param deviceId */ @Override public void attachThreadToDevice(long threadId, Integer deviceId) { List<Integer> devices = new ArrayList<>(CudaEnvironment.getInstance().getConfiguration().getAvailableDevices()); logger.debug("Manually mapping thread [{}] to device [{}], out of [{}] devices...", threadId, deviceId, devices.size()); affinityMap.put(threadId, deviceId); }
@Override public void allowCrossDeviceAccess(boolean reallyAllow) { CudaEnvironment.getInstance().getConfiguration().allowCrossDeviceAccess(reallyAllow); } }
@Override public void allowCrossDeviceAccess(boolean reallyAllow) { CudaEnvironment.getInstance().getConfiguration().allowCrossDeviceAccess(reallyAllow); } }
public LimitedContextPool() { int perDevicePool = CudaEnvironment.getInstance().getConfiguration().getPoolSize(); for (int i = 0; i < 4; i++) { ReferenceQueue<Thread> queue = new ReferenceQueue<>(); ResourceGarbageCollectorThread collector = new ResourceGarbageCollectorThread(i, queue); collector.start(); collectors.put(i, collector); queueMap.put(i, queue); } fillPoolWithResources(perDevicePool, false); currentPoolSize.set(perDevicePool); }
public LimitedContextPool() { int perDevicePool = CudaEnvironment.getInstance().getConfiguration().getPoolSize(); for (int i = 0; i < 4; i++) { ReferenceQueue<Thread> queue = new ReferenceQueue<>(); ResourceGarbageCollectorThread collector = new ResourceGarbageCollectorThread(i, queue); collector.start(); collectors.put(i, collector); queueMap.put(i, queue); } fillPoolWithResources(perDevicePool, false); currentPoolSize.set(perDevicePool); }
@Override public void setAutoGcWindow(int windowMillis) { super.setAutoGcWindow(windowMillis); CudaEnvironment.getInstance().getConfiguration().setNoGcWindowMs(windowMillis); }
@Override public void setAutoGcWindow(int windowMillis) { super.setAutoGcWindow(windowMillis); CudaEnvironment.getInstance().getConfiguration().setNoGcWindowMs(windowMillis); }
@Override public boolean isCrossDeviceAccessSupported() { return NativeOpsHolder.getInstance().getDeviceNativeOps().isP2PAvailable() && CudaEnvironment.getInstance().getConfiguration().isCrossDeviceAccessAllowed(); }
@Override public boolean isCrossDeviceAccessSupported() { return NativeOpsHolder.getInstance().getDeviceNativeOps().isP2PAvailable() && CudaEnvironment.getInstance().getConfiguration().isCrossDeviceAccessAllowed(); }
private AtomicAllocator() { this.configuration = CudaEnvironment.getInstance().getConfiguration(); applyConfiguration(); this.memoryHandler = new CudaZeroHandler(); this.memoryHandler.init(configuration, this); initDeviceCollectors(); initHostCollectors(); this.protector = ConstantProtector.getInstance(); }
private AtomicAllocator() { this.configuration = CudaEnvironment.getInstance().getConfiguration(); applyConfiguration(); this.memoryHandler = new CudaZeroHandler(); this.memoryHandler.init(configuration, this); initDeviceCollectors(); initHostCollectors(); this.protector = ConstantProtector.getInstance(); }
public void applyConfiguration() { //log.info("Applying CUDA configuration..."); CudaEnvironment.getInstance().notifyConfigurationApplied(); NativeOpsHolder.getInstance().getDeviceNativeOps().enableDebugMode(configuration.isDebug()); //configuration.enableDebug(configuration.isDebug()); NativeOpsHolder.getInstance().getDeviceNativeOps().enableVerboseMode(configuration.isVerbose()); //configuration.setVerbose(configuration.isVerbose()); NativeOpsHolder.getInstance().getDeviceNativeOps().enableP2P(configuration.isCrossDeviceAccessAllowed()); //configuration.allowCrossDeviceAccess(configuration.isCrossDeviceAccessAllowed()); NativeOpsHolder.getInstance().getDeviceNativeOps().setGridLimit(configuration.getMaximumGridSize()); //configuration.setMaximumGridSize(configuration.getMaximumGridSize()); NativeOpsHolder.getInstance().getDeviceNativeOps().setOmpNumThreads(configuration.getMaximumBlockSize()); // configuration.setMaximumBlockSize(configuration.getMaximumBlockSize()); NativeOpsHolder.getInstance().getDeviceNativeOps().setOmpMinThreads(configuration.getMinimumBlockSize()); // configuration.setMinimumBlockSize(configuration.getMinimumBlockSize()); }
public void applyConfiguration() { //log.info("Applying CUDA configuration..."); CudaEnvironment.getInstance().notifyConfigurationApplied(); NativeOpsHolder.getInstance().getDeviceNativeOps().enableDebugMode(configuration.isDebug()); //configuration.enableDebug(configuration.isDebug()); NativeOpsHolder.getInstance().getDeviceNativeOps().enableVerboseMode(configuration.isVerbose()); //configuration.setVerbose(configuration.isVerbose()); NativeOpsHolder.getInstance().getDeviceNativeOps().enableP2P(configuration.isCrossDeviceAccessAllowed()); //configuration.allowCrossDeviceAccess(configuration.isCrossDeviceAccessAllowed()); NativeOpsHolder.getInstance().getDeviceNativeOps().setGridLimit(configuration.getMaximumGridSize()); //configuration.setMaximumGridSize(configuration.getMaximumGridSize()); NativeOpsHolder.getInstance().getDeviceNativeOps().setOmpNumThreads(configuration.getMaximumBlockSize()); // configuration.setMaximumBlockSize(configuration.getMaximumBlockSize()); NativeOpsHolder.getInstance().getDeviceNativeOps().setOmpMinThreads(configuration.getMinimumBlockSize()); // configuration.setMinimumBlockSize(configuration.getMinimumBlockSize()); }