http://git-wip-us.apache.org/repos/asf/hadoop/blob/15319c79/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/TestResourcePluginManager.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/TestResourcePluginManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/TestResourcePluginManager.java
new file mode 100644
index 0000000..bcadf76
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/TestResourcePluginManager.java
@@ -0,0 +1,261 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package 
org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.service.ServiceOperations;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.Resource;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
+import org.apache.hadoop.yarn.event.Dispatcher;
+import org.apache.hadoop.yarn.server.nodemanager.ContainerExecutor;
+import org.apache.hadoop.yarn.server.nodemanager.Context;
+import org.apache.hadoop.yarn.server.nodemanager.DeletionService;
+import org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor;
+import org.apache.hadoop.yarn.server.nodemanager.LocalDirsHandlerService;
+import org.apache.hadoop.yarn.server.nodemanager.NodeHealthCheckerService;
+import org.apache.hadoop.yarn.server.nodemanager.NodeManager;
+import org.apache.hadoop.yarn.server.nodemanager.NodeManagerTestBase;
+import org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdater;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.privileged.PrivilegedOperation;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.privileged.PrivilegedOperationExecutor;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.CGroupsHandler;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.ResourceHandler;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.ResourceHandlerChain;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.ResourceHandlerException;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.NodeResourceUpdaterPlugin;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.ResourcePlugin;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.ResourcePluginManager;
+import org.apache.hadoop.yarn.server.security.ApplicationACLsManager;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class TestResourcePluginManager extends NodeManagerTestBase {
+  private NodeManager nm;
+
+  ResourcePluginManager stubResourcePluginmanager() {
+    // Stub ResourcePluginManager
+    final ResourcePluginManager rpm = mock(ResourcePluginManager.class);
+    Map<String, ResourcePlugin> plugins = new HashMap<>();
+
+    // First resource plugin
+    ResourcePlugin resourcePlugin = mock(ResourcePlugin.class);
+    NodeResourceUpdaterPlugin nodeResourceUpdaterPlugin = mock(
+        NodeResourceUpdaterPlugin.class);
+    when(resourcePlugin.getNodeResourceHandlerInstance()).thenReturn(
+        nodeResourceUpdaterPlugin);
+    plugins.put("resource1", resourcePlugin);
+
+    // Second resource plugin
+    resourcePlugin = mock(ResourcePlugin.class);
+    when(resourcePlugin.createResourceHandler(any(Context.class), any(
+        CGroupsHandler.class), any(PrivilegedOperationExecutor.class)))
+        .thenReturn(new CustomizedResourceHandler());
+    plugins.put("resource2", resourcePlugin);
+    when(rpm.getNameToPlugins()).thenReturn(plugins);
+    return rpm;
+  }
+
+  @After
+  public void tearDown() {
+    if (nm != null) {
+      try {
+        ServiceOperations.stop(nm);
+      } catch (Throwable t) {
+        // ignore
+      }
+    }
+  }
+
+  private class CustomizedResourceHandler implements ResourceHandler {
+
+    @Override
+    public List<PrivilegedOperation> bootstrap(Configuration configuration)
+        throws ResourceHandlerException {
+      return null;
+    }
+
+    @Override
+    public List<PrivilegedOperation> preStart(Container container)
+        throws ResourceHandlerException {
+      return null;
+    }
+
+    @Override
+    public List<PrivilegedOperation> reacquireContainer(ContainerId 
containerId)
+        throws ResourceHandlerException {
+      return null;
+    }
+
+    @Override
+    public List<PrivilegedOperation> postComplete(ContainerId containerId)
+        throws ResourceHandlerException {
+      return null;
+    }
+
+    @Override
+    public List<PrivilegedOperation> teardown()
+        throws ResourceHandlerException {
+      return null;
+    }
+  }
+
+  private class MyMockNM extends NodeManager {
+    private final ResourcePluginManager rpm;
+
+    public MyMockNM(ResourcePluginManager rpm) {
+      this.rpm = rpm;
+    }
+
+    @Override
+    protected NodeStatusUpdater createNodeStatusUpdater(Context context,
+        Dispatcher dispatcher, NodeHealthCheckerService healthChecker) {
+      ((NodeManager.NMContext)context).setResourcePluginManager(rpm);
+      return new BaseNodeStatusUpdaterForTest(context, dispatcher, 
healthChecker,
+          metrics, new BaseResourceTrackerForTest());
+    }
+
+    @Override
+    protected ContainerManagerImpl createContainerManager(Context context,
+        ContainerExecutor exec, DeletionService del,
+        NodeStatusUpdater nodeStatusUpdater,
+        ApplicationACLsManager aclsManager,
+        LocalDirsHandlerService diskhandler) {
+      return new MyContainerManager(context, exec, del, nodeStatusUpdater,
+      metrics, diskhandler);
+    }
+
+    @Override
+    protected ResourcePluginManager createResourcePluginManager() {
+      return rpm;
+    }
+  }
+
+  public class MyLCE extends LinuxContainerExecutor {
+    private PrivilegedOperationExecutor poe = 
mock(PrivilegedOperationExecutor.class);
+
+    @Override
+    protected PrivilegedOperationExecutor getPrivilegedOperationExecutor() {
+      return poe;
+    }
+  }
+
+  /*
+   * Make sure ResourcePluginManager is initialized during NM start up.
+   */
+  @Test(timeout = 30000)
+  public void testResourcePluginManagerInitialization() throws Exception {
+    final ResourcePluginManager rpm = stubResourcePluginmanager();
+    nm = new MyMockNM(rpm);
+
+    YarnConfiguration conf = createNMConfig();
+    nm.init(conf);
+    verify(rpm, times(1)).initialize(
+        any(Context.class));
+  }
+
+  /*
+   * Make sure ResourcePluginManager is invoked during NM update.
+   */
+  @Test(timeout = 30000)
+  public void testNodeStatusUpdaterWithResourcePluginsEnabled() throws 
Exception {
+    final ResourcePluginManager rpm = stubResourcePluginmanager();
+
+    nm = new MyMockNM(rpm);
+
+    YarnConfiguration conf = createNMConfig();
+    nm.init(conf);
+    nm.start();
+
+    NodeResourceUpdaterPlugin nodeResourceUpdaterPlugin =
+        rpm.getNameToPlugins().get("resource1")
+            .getNodeResourceHandlerInstance();
+
+    verify(nodeResourceUpdaterPlugin, times(1)).updateConfiguredResource(
+        any(Resource.class));
+  }
+
+  /*
+   * Make sure ResourcePluginManager is used to initialize ResourceHandlerChain
+   */
+  @Test(timeout = 30000)
+  public void testLinuxContainerExecutorWithResourcePluginsEnabled() throws 
Exception {
+    final ResourcePluginManager rpm = stubResourcePluginmanager();
+    final LinuxContainerExecutor lce = new MyLCE();
+
+    nm = new NodeManager() {
+      @Override
+      protected NodeStatusUpdater createNodeStatusUpdater(Context context,
+          Dispatcher dispatcher, NodeHealthCheckerService healthChecker) {
+        ((NMContext)context).setResourcePluginManager(rpm);
+        return new BaseNodeStatusUpdaterForTest(context, dispatcher, 
healthChecker,
+            metrics, new BaseResourceTrackerForTest());
+      }
+
+      @Override
+      protected ContainerManagerImpl createContainerManager(Context context,
+          ContainerExecutor exec, DeletionService del,
+          NodeStatusUpdater nodeStatusUpdater,
+          ApplicationACLsManager aclsManager,
+          LocalDirsHandlerService diskhandler) {
+        return new MyContainerManager(context, exec, del, nodeStatusUpdater,
+            metrics, diskhandler);
+      }
+
+      @Override
+      protected ContainerExecutor createContainerExecutor(Configuration conf) {
+        ((NMContext)this.getNMContext()).setResourcePluginManager(rpm);
+        lce.setConf(conf);
+        return lce;
+      }
+    };
+
+    YarnConfiguration conf = createNMConfig();
+
+    nm.init(conf);
+    nm.start();
+
+    ResourceHandler handler = lce.getResourceHandler();
+    Assert.assertNotNull(handler);
+    Assert.assertTrue(handler instanceof ResourceHandlerChain);
+
+    boolean newHandlerAdded = false;
+    for (ResourceHandler h : ((ResourceHandlerChain) handler)
+        .getResourceHandlerList()) {
+      if (h instanceof CustomizedResourceHandler) {
+        newHandlerAdded = true;
+        break;
+      }
+    }
+    Assert.assertTrue("New ResourceHandler should be added", newHandlerAdded);
+  }
+}

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15319c79/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/gpu/TestGpuDiscoverer.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/gpu/TestGpuDiscoverer.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/gpu/TestGpuDiscoverer.java
new file mode 100644
index 0000000..83bace2
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/gpu/TestGpuDiscoverer.java
@@ -0,0 +1,123 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package 
org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.gpu;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
+import org.apache.hadoop.yarn.exceptions.YarnException;
+import 
org.apache.hadoop.yarn.server.nodemanager.webapp.dao.gpu.GpuDeviceInformation;
+import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.List;
+
+public class TestGpuDiscoverer {
+  private String getTestParentFolder() {
+    File f = new File("target/temp/" + TestGpuDiscoverer.class.getName());
+    return f.getAbsolutePath();
+  }
+
+  private void touchFile(File f) throws IOException {
+    new FileOutputStream(f).close();
+  }
+
+  @Before
+  public void before() throws IOException {
+    String folder = getTestParentFolder();
+    File f = new File(folder);
+    FileUtils.deleteDirectory(f);
+    f.mkdirs();
+  }
+
+  @Test
+  public void testLinuxGpuResourceDiscoverPluginConfig() throws Exception {
+    // Only run this on demand.
+    Assume.assumeTrue(Boolean.valueOf(
+        System.getProperty("RunLinuxGpuResourceDiscoverPluginConfigTest")));
+
+    // test case 1, check default setting.
+    Configuration conf = new Configuration(false);
+    GpuDiscoverer plugin = new GpuDiscoverer();
+    plugin.initialize(conf);
+    Assert.assertEquals(GpuDiscoverer.DEFAULT_BINARY_NAME,
+        plugin.getPathOfGpuBinary());
+    Assert.assertNotNull(plugin.getEnvironmentToRunCommand().get("PATH"));
+    Assert.assertTrue(
+        plugin.getEnvironmentToRunCommand().get("PATH").contains("nvidia"));
+
+    // test case 2, check mandatory set path.
+    File fakeBinary = new File(getTestParentFolder(),
+        GpuDiscoverer.DEFAULT_BINARY_NAME);
+    touchFile(fakeBinary);
+    conf.set(YarnConfiguration.NM_GPU_PATH_TO_EXEC, getTestParentFolder());
+    plugin = new GpuDiscoverer();
+    plugin.initialize(conf);
+    Assert.assertEquals(fakeBinary.getAbsolutePath(),
+        plugin.getPathOfGpuBinary());
+    Assert.assertNull(plugin.getEnvironmentToRunCommand().get("PATH"));
+
+    // test case 3, check mandatory set path, but binary doesn't exist so 
default
+    // path will be used.
+    fakeBinary.delete();
+    plugin = new GpuDiscoverer();
+    plugin.initialize(conf);
+    Assert.assertEquals(GpuDiscoverer.DEFAULT_BINARY_NAME,
+        plugin.getPathOfGpuBinary());
+    Assert.assertTrue(
+        plugin.getEnvironmentToRunCommand().get("PATH").contains("nvidia"));
+  }
+
+  @Test
+  public void testGpuDiscover() throws YarnException {
+    // Since this is more of a performance unit test, only run if
+    // RunUserLimitThroughput is set (-DRunUserLimitThroughput=true)
+    Assume.assumeTrue(
+        Boolean.valueOf(System.getProperty("runGpuDiscoverUnitTest")));
+    Configuration conf = new Configuration(false);
+    GpuDiscoverer plugin = new GpuDiscoverer();
+    plugin.initialize(conf);
+    GpuDeviceInformation info = plugin.getGpuDeviceInformation();
+
+    Assert.assertTrue(info.getGpus().size() > 0);
+    Assert.assertEquals(plugin.getMinorNumbersOfGpusUsableByYarn().size(),
+        info.getGpus().size());
+  }
+
+  @Test
+  public void getNumberOfUsableGpusFromConfig() throws YarnException {
+    Configuration conf = new Configuration(false);
+    conf.set(YarnConfiguration.NM_GPU_ALLOWED_DEVICES, "0,1,2,4");
+    GpuDiscoverer plugin = new GpuDiscoverer();
+    plugin.initialize(conf);
+
+    List<Integer> minorNumbers = plugin.getMinorNumbersOfGpusUsableByYarn();
+    Assert.assertEquals(4, minorNumbers.size());
+
+    Assert.assertTrue(0 == minorNumbers.get(0));
+    Assert.assertTrue(1 == minorNumbers.get(1));
+    Assert.assertTrue(2 == minorNumbers.get(2));
+    Assert.assertTrue(4 == minorNumbers.get(3));
+  }
+}

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15319c79/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/gpu/TestGpuDeviceInformationParser.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/gpu/TestGpuDeviceInformationParser.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/gpu/TestGpuDeviceInformationParser.java
new file mode 100644
index 0000000..e22597d
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/gpu/TestGpuDeviceInformationParser.java
@@ -0,0 +1,50 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.yarn.server.nodemanager.webapp.dao.gpu;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.yarn.exceptions.YarnException;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.IOException;
+
+public class TestGpuDeviceInformationParser {
+  @Test
+  public void testParse() throws IOException, YarnException {
+    File f = new File("src/test/resources/nvidia-smi-sample-xml-output");
+    String s = FileUtils.readFileToString(f, "UTF-8");
+
+    GpuDeviceInformationParser parser = new GpuDeviceInformationParser();
+
+    GpuDeviceInformation info = parser.parseXml(s);
+    Assert.assertEquals("375.66", info.getDriverVersion());
+    Assert.assertEquals(2, info.getGpus().size());
+    PerGpuDeviceInformation gpu1 = info.getGpus().get(1);
+    Assert.assertEquals("Tesla P100-PCIE-12GB", gpu1.getProductName());
+    Assert.assertEquals(16384, gpu1.getGpuMemoryUsage().getTotalMemoryMiB());
+    Assert.assertEquals(10.3f,
+        gpu1.getGpuUtilizations().getOverallGpuUtilization(), 1e-6);
+    Assert.assertEquals(34f, gpu1.getTemperature().getCurrentGpuTemp(), 1e-6);
+    Assert.assertEquals(85f, gpu1.getTemperature().getMaxGpuTemp(), 1e-6);
+    Assert.assertEquals(82f, gpu1.getTemperature().getSlowThresholdGpuTemp(),
+        1e-6);
+  }
+}

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15319c79/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/resources/nvidia-smi-sample-xml-output
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/resources/nvidia-smi-sample-xml-output
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/resources/nvidia-smi-sample-xml-output
new file mode 100644
index 0000000..5ccb722
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/resources/nvidia-smi-sample-xml-output
@@ -0,0 +1,547 @@
+<?xml version="1.0" ?>
+<!DOCTYPE nvidia_smi_log SYSTEM "nvsmi_device_v8.dtd">
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<nvidia_smi_log>
+       <timestamp>Wed Sep  6 21:52:51 2017</timestamp>
+       <driver_version>375.66</driver_version>
+       <attached_gpus>2</attached_gpus>
+       <gpu id="0000:04:00.0">
+               <product_name>Tesla P100-PCIE-12GB</product_name>
+               <product_brand>Tesla</product_brand>
+               <display_mode>Disabled</display_mode>
+               <display_active>Disabled</display_active>
+               <persistence_mode>Disabled</persistence_mode>
+               <accounting_mode>Disabled</accounting_mode>
+               <accounting_mode_buffer_size>1920</accounting_mode_buffer_size>
+               <driver_model>
+                       <current_dm>N/A</current_dm>
+                       <pending_dm>N/A</pending_dm>
+               </driver_model>
+               <serial>0320717030197</serial>
+               <uuid>GPU-28604e81-21ec-cc48-6759-bf2648b22e16</uuid>
+               <minor_number>0</minor_number>
+               <vbios_version>86.00.3A.00.02</vbios_version>
+               <multigpu_board>No</multigpu_board>
+               <board_id>0x400</board_id>
+               <gpu_part_number>900-2H400-0110-030</gpu_part_number>
+               <inforom_version>
+                       <img_version>H400.0202.00.01</img_version>
+                       <oem_object>1.1</oem_object>
+                       <ecc_object>4.1</ecc_object>
+                       <pwr_object>N/A</pwr_object>
+               </inforom_version>
+               <gpu_operation_mode>
+                       <current_gom>N/A</current_gom>
+                       <pending_gom>N/A</pending_gom>
+               </gpu_operation_mode>
+               <gpu_virtualization_mode>
+                       <virtualization_mode>None</virtualization_mode>
+               </gpu_virtualization_mode>
+               <pci>
+                       <pci_bus>04</pci_bus>
+                       <pci_device>00</pci_device>
+                       <pci_domain>0000</pci_domain>
+                       <pci_device_id>15F710DE</pci_device_id>
+                       <pci_bus_id>0000:04:00.0</pci_bus_id>
+                       <pci_sub_system_id>11DA10DE</pci_sub_system_id>
+                       <pci_gpu_link_info>
+                               <pcie_gen>
+                                       <max_link_gen>3</max_link_gen>
+                                       <current_link_gen>3</current_link_gen>
+                               </pcie_gen>
+                               <link_widths>
+                                       <max_link_width>16x</max_link_width>
+                                       
<current_link_width>16x</current_link_width>
+                               </link_widths>
+                       </pci_gpu_link_info>
+                       <pci_bridge_chip>
+                               <bridge_chip_type>N/A</bridge_chip_type>
+                               <bridge_chip_fw>N/A</bridge_chip_fw>
+                       </pci_bridge_chip>
+                       <replay_counter>0</replay_counter>
+                       <tx_util>0 KB/s</tx_util>
+                       <rx_util>0 KB/s</rx_util>
+               </pci>
+               <fan_speed>N/A</fan_speed>
+               <performance_state>P0</performance_state>
+               <clocks_throttle_reasons>
+                       
<clocks_throttle_reason_gpu_idle>Active</clocks_throttle_reason_gpu_idle>
+                       <clocks_throttle_reason_applications_clocks_setting>Not 
Active</clocks_throttle_reason_applications_clocks_setting>
+                       <clocks_throttle_reason_sw_power_cap>Not 
Active</clocks_throttle_reason_sw_power_cap>
+                       <clocks_throttle_reason_hw_slowdown>Not 
Active</clocks_throttle_reason_hw_slowdown>
+                       <clocks_throttle_reason_sync_boost>Not 
Active</clocks_throttle_reason_sync_boost>
+                       <clocks_throttle_reason_unknown>Not 
Active</clocks_throttle_reason_unknown>
+               </clocks_throttle_reasons>
+               <fb_memory_usage>
+                       <total>12193 MiB</total>
+                       <used>0 MiB</used>
+                       <free>12193 MiB</free>
+               </fb_memory_usage>
+               <bar1_memory_usage>
+                       <total>16384 MiB</total>
+                       <used>2 MiB</used>
+                       <free>16382 MiB</free>
+               </bar1_memory_usage>
+               <compute_mode>Default</compute_mode>
+               <utilization>
+                       <gpu_util>0 %</gpu_util>
+                       <memory_util>0 %</memory_util>
+                       <encoder_util>0 %</encoder_util>
+                       <decoder_util>0 %</decoder_util>
+               </utilization>
+               <encoder_stats>
+                       <session_count>0</session_count>
+                       <average_fps>0</average_fps>
+                       <average_latency>0 ms</average_latency>
+               </encoder_stats>
+               <ecc_mode>
+                       <current_ecc>Enabled</current_ecc>
+                       <pending_ecc>Enabled</pending_ecc>
+               </ecc_mode>
+               <ecc_errors>
+                       <volatile>
+                               <single_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </single_bit>
+                               <double_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </double_bit>
+                       </volatile>
+                       <aggregate>
+                               <single_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </single_bit>
+                               <double_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </double_bit>
+                       </aggregate>
+               </ecc_errors>
+               <retired_pages>
+                       <multiple_single_bit_retirement>
+                               <retired_count>0</retired_count>
+                               <retired_page_addresses>
+                               </retired_page_addresses>
+                       </multiple_single_bit_retirement>
+                       <double_bit_retirement>
+                               <retired_count>0</retired_count>
+                               <retired_page_addresses>
+                               </retired_page_addresses>
+                       </double_bit_retirement>
+                       <pending_retirement>No</pending_retirement>
+               </retired_pages>
+               <temperature>
+                       <gpu_temp>31 C</gpu_temp>
+                       <gpu_temp_max_threshold>85 C</gpu_temp_max_threshold>
+                       <gpu_temp_slow_threshold>82 C</gpu_temp_slow_threshold>
+               </temperature>
+               <power_readings>
+                       <power_state>P0</power_state>
+                       <power_management>Supported</power_management>
+                       <power_draw>24.84 W</power_draw>
+                       <power_limit>250.00 W</power_limit>
+                       <default_power_limit>250.00 W</default_power_limit>
+                       <enforced_power_limit>250.00 W</enforced_power_limit>
+                       <min_power_limit>125.00 W</min_power_limit>
+                       <max_power_limit>250.00 W</max_power_limit>
+               </power_readings>
+               <clocks>
+                       <graphics_clock>405 MHz</graphics_clock>
+                       <sm_clock>405 MHz</sm_clock>
+                       <mem_clock>715 MHz</mem_clock>
+                       <video_clock>835 MHz</video_clock>
+               </clocks>
+               <applications_clocks>
+                       <graphics_clock>1189 MHz</graphics_clock>
+                       <mem_clock>715 MHz</mem_clock>
+               </applications_clocks>
+               <default_applications_clocks>
+                       <graphics_clock>1189 MHz</graphics_clock>
+                       <mem_clock>715 MHz</mem_clock>
+               </default_applications_clocks>
+               <max_clocks>
+                       <graphics_clock>1328 MHz</graphics_clock>
+                       <sm_clock>1328 MHz</sm_clock>
+                       <mem_clock>715 MHz</mem_clock>
+                       <video_clock>1328 MHz</video_clock>
+               </max_clocks>
+               <clock_policy>
+                       <auto_boost>N/A</auto_boost>
+                       <auto_boost_default>N/A</auto_boost_default>
+               </clock_policy>
+               <supported_clocks>
+                       <supported_mem_clock>
+                               <value>715 MHz</value>
+                               <supported_graphics_clock>1328 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1316 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1303 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1290 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1278 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1265 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1252 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1240 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1227 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1215 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1202 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1189 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1177 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1164 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1151 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1139 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1126 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1113 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1101 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1088 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1075 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1063 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1050 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1037 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1025 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1012 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>999 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>987 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>974 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>961 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>949 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>936 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>923 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>911 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>898 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>885 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>873 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>860 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>847 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>835 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>822 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>810 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>797 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>784 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>772 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>759 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>746 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>734 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>721 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>708 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>696 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>683 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>670 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>658 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>645 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>632 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>620 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>607 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>594 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>582 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>569 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>556 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>544 
MHz</supported_graphics_clock>
+                       </supported_mem_clock>
+               </supported_clocks>
+               <processes>
+               </processes>
+               <accounted_processes>
+               </accounted_processes>
+       </gpu>
+
+       <gpu id="0000:82:00.0">
+               <product_name>Tesla P100-PCIE-12GB</product_name>
+               <product_brand>Tesla</product_brand>
+               <display_mode>Disabled</display_mode>
+               <display_active>Disabled</display_active>
+               <persistence_mode>Disabled</persistence_mode>
+               <accounting_mode>Disabled</accounting_mode>
+               <accounting_mode_buffer_size>1920</accounting_mode_buffer_size>
+               <driver_model>
+                       <current_dm>N/A</current_dm>
+                       <pending_dm>N/A</pending_dm>
+               </driver_model>
+               <serial>0320717031755</serial>
+               <uuid>GPU-46915a82-3fd2-8e11-ae26-a80b607c04f3</uuid>
+               <minor_number>1</minor_number>
+               <vbios_version>86.00.3A.00.02</vbios_version>
+               <multigpu_board>No</multigpu_board>
+               <board_id>0x8200</board_id>
+               <gpu_part_number>900-2H400-0110-030</gpu_part_number>
+               <inforom_version>
+                       <img_version>H400.0202.00.01</img_version>
+                       <oem_object>1.1</oem_object>
+                       <ecc_object>4.1</ecc_object>
+                       <pwr_object>N/A</pwr_object>
+               </inforom_version>
+               <gpu_operation_mode>
+                       <current_gom>N/A</current_gom>
+                       <pending_gom>N/A</pending_gom>
+               </gpu_operation_mode>
+               <gpu_virtualization_mode>
+                       <virtualization_mode>None</virtualization_mode>
+               </gpu_virtualization_mode>
+               <pci>
+                       <pci_bus>82</pci_bus>
+                       <pci_device>00</pci_device>
+                       <pci_domain>0000</pci_domain>
+                       <pci_device_id>15F710DE</pci_device_id>
+                       <pci_bus_id>0000:82:00.0</pci_bus_id>
+                       <pci_sub_system_id>11DA10DE</pci_sub_system_id>
+                       <pci_gpu_link_info>
+                               <pcie_gen>
+                                       <max_link_gen>3</max_link_gen>
+                                       <current_link_gen>3</current_link_gen>
+                               </pcie_gen>
+                               <link_widths>
+                                       <max_link_width>16x</max_link_width>
+                                       
<current_link_width>16x</current_link_width>
+                               </link_widths>
+                       </pci_gpu_link_info>
+                       <pci_bridge_chip>
+                               <bridge_chip_type>N/A</bridge_chip_type>
+                               <bridge_chip_fw>N/A</bridge_chip_fw>
+                       </pci_bridge_chip>
+                       <replay_counter>0</replay_counter>
+                       <tx_util>0 KB/s</tx_util>
+                       <rx_util>0 KB/s</rx_util>
+               </pci>
+               <fan_speed>N/A</fan_speed>
+               <performance_state>P0</performance_state>
+               <clocks_throttle_reasons>
+                       
<clocks_throttle_reason_gpu_idle>Active</clocks_throttle_reason_gpu_idle>
+                       <clocks_throttle_reason_applications_clocks_setting>Not 
Active</clocks_throttle_reason_applications_clocks_setting>
+                       <clocks_throttle_reason_sw_power_cap>Not 
Active</clocks_throttle_reason_sw_power_cap>
+                       <clocks_throttle_reason_hw_slowdown>Not 
Active</clocks_throttle_reason_hw_slowdown>
+                       <clocks_throttle_reason_sync_boost>Not 
Active</clocks_throttle_reason_sync_boost>
+                       <clocks_throttle_reason_unknown>Not 
Active</clocks_throttle_reason_unknown>
+               </clocks_throttle_reasons>
+               <fb_memory_usage>
+                       <total>12193 MiB</total>
+                       <used>0 MiB</used>
+                       <free>12193 MiB</free>
+               </fb_memory_usage>
+               <bar1_memory_usage>
+                       <total>16384 MiB</total>
+                       <used>2 MiB</used>
+                       <free>16382 MiB</free>
+               </bar1_memory_usage>
+               <compute_mode>Default</compute_mode>
+               <utilization>
+                       <gpu_util>10.3 %</gpu_util>
+                       <memory_util>0 %</memory_util>
+                       <encoder_util>0 %</encoder_util>
+                       <decoder_util>0 %</decoder_util>
+               </utilization>
+               <encoder_stats>
+                       <session_count>0</session_count>
+                       <average_fps>0</average_fps>
+                       <average_latency>0 ms</average_latency>
+               </encoder_stats>
+               <ecc_mode>
+                       <current_ecc>Enabled</current_ecc>
+                       <pending_ecc>Enabled</pending_ecc>
+               </ecc_mode>
+               <ecc_errors>
+                       <volatile>
+                               <single_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </single_bit>
+                               <double_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </double_bit>
+                       </volatile>
+                       <aggregate>
+                               <single_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </single_bit>
+                               <double_bit>
+                                       <device_memory>0</device_memory>
+                                       <register_file>0</register_file>
+                                       <l1_cache>N/A</l1_cache>
+                                       <l2_cache>0</l2_cache>
+                                       <texture_memory>0</texture_memory>
+                                       <texture_shm>0</texture_shm>
+                                       <total>0</total>
+                               </double_bit>
+                       </aggregate>
+               </ecc_errors>
+               <retired_pages>
+                       <multiple_single_bit_retirement>
+                               <retired_count>0</retired_count>
+                               <retired_page_addresses>
+                               </retired_page_addresses>
+                       </multiple_single_bit_retirement>
+                       <double_bit_retirement>
+                               <retired_count>0</retired_count>
+                               <retired_page_addresses>
+                               </retired_page_addresses>
+                       </double_bit_retirement>
+                       <pending_retirement>No</pending_retirement>
+               </retired_pages>
+               <temperature>
+                       <gpu_temp>34 C</gpu_temp>
+                       <gpu_temp_max_threshold>85 C</gpu_temp_max_threshold>
+                       <gpu_temp_slow_threshold>82 C</gpu_temp_slow_threshold>
+               </temperature>
+               <power_readings>
+                       <power_state>P0</power_state>
+                       <power_management>Supported</power_management>
+                       <power_draw>25.54 W</power_draw>
+                       <power_limit>250.00 W</power_limit>
+                       <default_power_limit>250.00 W</default_power_limit>
+                       <enforced_power_limit>250.00 W</enforced_power_limit>
+                       <min_power_limit>125.00 W</min_power_limit>
+                       <max_power_limit>250.00 W</max_power_limit>
+               </power_readings>
+               <clocks>
+                       <graphics_clock>405 MHz</graphics_clock>
+                       <sm_clock>405 MHz</sm_clock>
+                       <mem_clock>715 MHz</mem_clock>
+                       <video_clock>835 MHz</video_clock>
+               </clocks>
+               <applications_clocks>
+                       <graphics_clock>1189 MHz</graphics_clock>
+                       <mem_clock>715 MHz</mem_clock>
+               </applications_clocks>
+               <default_applications_clocks>
+                       <graphics_clock>1189 MHz</graphics_clock>
+                       <mem_clock>715 MHz</mem_clock>
+               </default_applications_clocks>
+               <max_clocks>
+                       <graphics_clock>1328 MHz</graphics_clock>
+                       <sm_clock>1328 MHz</sm_clock>
+                       <mem_clock>715 MHz</mem_clock>
+                       <video_clock>1328 MHz</video_clock>
+               </max_clocks>
+               <clock_policy>
+                       <auto_boost>N/A</auto_boost>
+                       <auto_boost_default>N/A</auto_boost_default>
+               </clock_policy>
+               <supported_clocks>
+                       <supported_mem_clock>
+                               <value>715 MHz</value>
+                               <supported_graphics_clock>1328 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1316 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1303 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1290 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1278 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1265 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1252 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1240 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1227 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1215 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1202 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1189 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1177 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1164 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1151 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1139 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1126 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1113 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1101 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1088 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1075 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1063 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1050 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1037 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1025 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>1012 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>999 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>987 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>974 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>961 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>949 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>936 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>923 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>911 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>898 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>885 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>873 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>860 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>847 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>835 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>822 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>810 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>797 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>784 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>772 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>759 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>746 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>734 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>721 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>708 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>696 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>683 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>670 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>658 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>645 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>632 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>620 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>607 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>594 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>582 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>569 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>556 
MHz</supported_graphics_clock>
+                               <supported_graphics_clock>544 
MHz</supported_graphics_clock>
+                       </supported_mem_clock>
+               </supported_clocks>
+               <processes>
+               </processes>
+               <accounted_processes>
+               </accounted_processes>
+       </gpu>
+
+</nvidia_smi_log>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15319c79/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
index bff8612..f3b15ff 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
@@ -497,7 +497,7 @@ public class AppInfo {
   public Map<String, Long> getPreemptedResourceSecondsMap() {
     return preemptedResourceSecondsMap;
   }
-  
+
   public List<ResourceRequestInfo> getResourceRequests() {
     return this.resourceRequests;
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to