Files
startbootstrap-sb-admin-2/index.html

324 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>NVIDIA Dashboard</title>
<!-- Custom fonts for this template-->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/fontawesome.min.css"
integrity="sha256-BYjRZhSY2ARUPcFTf5eEh3qWK58O88TM7nZet/JUNhE=" crossorigin="anonymous">
<link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template-->
<link href="css/sb-admin-2.css" rel="stylesheet">
</head>
<body id="page-top">
<!-- Page Wrapper -->
<div id="wrapper">
<!-- Sidebar -->
<ul class="navbar-nav bg-gradient-dark sidebar sidebar-dark accordion" id="accordionSidebar">
<!-- Sidebar - Brand -->
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="/">
<div class="sidebar-brand-icon">
<img src="img/nvidia.png" class="nvidia-logo" width="100rem" height="auto" />
</div>
<div class="sidebar-brand-text mx-3">SMI</div>
</a>
<div class="d-flex align-items-center justify-content-center">
<small>v{{ .Version }}</small>
</div>
<hr class="sidebar-divider my-0">
{{ range .GPUs }}
<!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item">
<a class="nav-link collapsed" href="/{{ .UUID }}">
<i class="fas fa-microchip"></i>
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
</ul>
<!-- End of Sidebar -->
<!-- Content Wrapper -->
<div id="content-wrapper" class="d-flex flex-column">
<!-- Main Content -->
<div id="content">
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<ul class="navbar-nav ml-auto">
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small">{{ .Username }}</span>
</a>
{{if ne .Username "anonymous"}}
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
{{ end }}
</li>
</ul>
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content -->
<div class="container-fluid">
<!-- Content Row -->
<div class="row">
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Name
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
{{ .GPU.Name }}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Driver version
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ .DriverVersion }}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
CUDA version
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ .CUDAVersion }}</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Usage
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800" id="sum-compute">{{
.GPU.Utilization.Compute }}%</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
<div class="row">
<!-- Content Column -->
<div class="col-lg-6 mb-4">
<!-- Summary -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-success">Summary</h6>
</div>
<div class="card-body">
<h4 class="small font-weight-bold">Temperature
<span class="float-right" id="core-temp">
{{ .GPU.CoreTemperature }}°C
</span>
</h4>
<hr />
<!-- <h4 class="small font-weight-bold">Fans</h4>
{{ range .GPU.Fans }}
<h4 class="small font-weight-bold">
Fan
<span class="float-right">
{{ .Speed }}%
</span>
</h4>
{{ end }}
<hr /> -->
<h4 class="small font-weight-bold">
VRAM
<span class="float-right">
<span id="memory-used">{{ ConvertByteSize .GPU.Memory.Used }}</span>/{{
ConvertByteSize .GPU.Memory.Total }}
</span>
</h4>
<div class="progress mb-4">
<div class="progress-bar bg-success" role="progressbar" id="pg-memory"
style="width: {{ PercentageRounded .GPU.Memory.Used .GPU.Memory.Total }}%"
aria-valuenow="{{ PercentageRounded .GPU.Memory.Used .GPU.Memory.Total }}"
aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">
GPU Usage
<span class="float-right" id="detail-compute">
{{ .GPU.Utilization.Compute }}%
</span>
</h4>
<div class="progress mb-4">
<div class="progress-bar bg-success" role="progressbar" id="pg-compute"
style="width: {{ .GPU.Utilization.Compute }}%"
aria-valuenow="{{ .GPU.Utilization.Compute }}" aria-valuemin="0"
aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">
Encoder Usage
<span class="float-right" id="detail-encoder">
{{ .GPU.Utilization.Encoder }}%
</span>
</h4>
<div class="progress mb-4">
<div class="progress-bar bg-success" role="progressbar" id="pg-encoder"
style="width: {{ .GPU.Utilization.Encoder }}%"
aria-valuenow="{{ .GPU.Utilization.Encoder }}" aria-valuemin="0"
aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">
Decoder Usage
<span class="float-right" id="detail-decoder">
{{ .GPU.Utilization.Decoder }}%
</span>
</h4>
<div class="progress">
<div class="progress-bar bg-success" role="progressbar" id="pg-decoder"
style="width: {{ .GPU.Utilization.Decoder }}%"
aria-valuenow="{{ .GPU.Utilization.Decoder }}" aria-valuemin="0"
aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-lg mb-4">
<!-- Processes -->
<!-- DataTales Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-success">Processes</h6>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>PID</th>
<th>Type</th>
<th>Commandline</th>
<th>GPU Memory Usage</th>
</tr>
</thead>
<tbody id="proc-list">
{{ range .GPU.Processes }}
<tr>
<td>{{ .PID }}</td>
<td>{{ .Type }}</td>
<td>{{ .Name }}</td>
<td>{{ ConvertByteSize .MemoryUsed }}</td>
</tr>
{{ end }}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.container-fluid -->
</div>
<!-- End of Main Content -->
<!-- Footer -->
<footer class="sticky-footer bg-white">
<div class="container my-auto">
<div class="copyright text-center my-auto">
<span>template from <a
href="https://github.com/startbootstrap/startbootstrap-sb-admin-2">startbootstrap/startbootstrap-sb-admin-2</a></span>
</div>
</div>
</footer>
<!-- End of Footer -->
</div>
<!-- End of Content Wrapper -->
</div>
<!-- End of Page Wrapper -->
<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Bootstrap core JavaScript-->
<script src="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/js/all.min.js" integrity="sha256-gSqw5G+Gss6YqyQlqyIkuQ0IRZUqGsDVq9c0tiF+mL8=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"
integrity="sha256-GRJrh0oydT1CwS36bBeJK/2TggpaUQC6GzTaTQdZm0k=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>