Java Code Examples for org.bytedeco.javacpp.Pointer#totalBytes()
The following examples show how to use
org.bytedeco.javacpp.Pointer#totalBytes() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: EagerSessionTest.java From java with Apache License 2.0 | 6 votes |
@Test public void cleanupResourceInBackground() { try (EagerSession s = EagerSession.create()) { Pointer ref = new IntPointer(1024 * 1024); s.attach(ref); assertFalse(ref.isNull()); System.gc(); sleep(50); // allow some time to the background thread for cleaning up resources long before = Pointer.totalBytes(); s.detach(ref.retainReference()); ref = null; System.gc(); sleep(50); // allow some time to the background thread for cleaning up resources long after = Pointer.totalBytes(); assertEquals(4 * 1024 * 1024, before - after); } }
Example 2
Source File: CpuMemoryManager.java From deeplearning4j with Apache License 2.0 | 4 votes |
@Override public long allocatedMemory(Integer deviceId) { return Pointer.totalBytes() + AllocationsTracker.getInstance().bytesOnDevice(AllocationKind.GENERAL, deviceId) + AllocationsTracker.getInstance().bytesOnDevice(AllocationKind.WORKSPACE, deviceId); }
Example 3
Source File: CrashReportingUtil.java From deeplearning4j with Apache License 2.0 | 4 votes |
private static StringBuilder genericMemoryStatus(){ StringBuilder sb = new StringBuilder(); sb.append("========== Memory Information ==========\n"); sb.append("----- Version Information -----\n"); Pair<String,String> pair = inferVersion(); sb.append(f("Deeplearning4j Version", (pair.getFirst() == null ? "<could not determine>" : pair.getFirst()))); sb.append(f("Deeplearning4j CUDA", (pair.getSecond() == null ? "<not present>" : pair.getSecond()))); sb.append("\n----- System Information -----\n"); SystemInfo sys = new SystemInfo(); OperatingSystem os = sys.getOperatingSystem(); String procName = sys.getHardware().getProcessor().getName(); long totalMem = sys.getHardware().getMemory().getTotal(); sb.append(f("Operating System", os.getManufacturer() + " " + os.getFamily() + " " + os.getVersion().getVersion())); sb.append(f("CPU", procName)); sb.append(f("CPU Cores - Physical", sys.getHardware().getProcessor().getPhysicalProcessorCount())); sb.append(f("CPU Cores - Logical", sys.getHardware().getProcessor().getLogicalProcessorCount())); sb.append(fBytes("Total System Memory", totalMem)); NativeOps nativeOps = NativeOpsHolder.getInstance().getDeviceNativeOps(); int nDevices = nativeOps.getAvailableDevices(); if (nDevices > 0) { sb.append(f("Number of GPUs Detected", nDevices)); //Name CC, Total memory, current memory, free memory String fGpu = " %-30s %-5s %24s %24s %24s"; sb.append(String.format(fGpu, "Name", "CC", "Total Memory", "Used Memory", "Free Memory")).append("\n"); for (int i = 0; i < nDevices; i++) { try { String name = nativeOps.getDeviceName(i); long total = nativeOps.getDeviceTotalMemory(i); long free = nativeOps.getDeviceFreeMemory(i); long current = total - free; int major = nativeOps.getDeviceMajor(i); int minor = nativeOps.getDeviceMinor(i); sb.append(String.format(fGpu, name, major + "." + minor, fBytes(total), fBytes(current), fBytes(free))).append("\n"); } catch (Exception e) { sb.append(" Failed to get device info for device ").append(i).append("\n"); } } } sb.append("\n----- ND4J Environment Information -----\n"); sb.append(f("Data Type", Nd4j.dataType())); Properties p = Nd4j.getExecutioner().getEnvironmentInformation(); for(String s : p.stringPropertyNames()){ sb.append(f(s, p.get(s))); } sb.append("\n----- Memory Configuration -----\n"); long xmx = Runtime.getRuntime().maxMemory(); long jvmTotal = Runtime.getRuntime().totalMemory(); long javacppMaxPhys = Pointer.maxPhysicalBytes(); long javacppMaxBytes = Pointer.maxBytes(); long javacppCurrPhys = Pointer.physicalBytes(); long javacppCurrBytes = Pointer.totalBytes(); sb.append(fBytes("JVM Memory: XMX", xmx)) .append(fBytes("JVM Memory: current", jvmTotal)) .append(fBytes("JavaCPP Memory: Max Bytes", javacppMaxBytes)) .append(fBytes("JavaCPP Memory: Max Physical", javacppMaxPhys)) .append(fBytes("JavaCPP Memory: Current Bytes", javacppCurrBytes)) .append(fBytes("JavaCPP Memory: Current Physical", javacppCurrPhys)); boolean periodicGcEnabled = Nd4j.getMemoryManager().isPeriodicGcActive(); long autoGcWindow = Nd4j.getMemoryManager().getAutoGcWindow(); sb.append(f("Periodic GC Enabled", periodicGcEnabled)); if(periodicGcEnabled){ sb.append(f("Periodic GC Frequency", autoGcWindow + " ms")); } return sb; }