From e037245d28b7acb3588a4e9f3a7b47cfae17e640 Mon Sep 17 00:00:00 2001 From: Maxime Schmitt Date: Fri, 16 Jun 2017 11:51:09 +0200 Subject: [PATCH] Add README --- README.markdown | 63 +++++++++++++++++++++++++++++++++++++++ screenshot/NVTOP_ex1.png | Bin 0 -> 30504 bytes 2 files changed, 63 insertions(+) create mode 100644 README.markdown create mode 100644 screenshot/NVTOP_ex1.png diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..67aded6 --- /dev/null +++ b/README.markdown @@ -0,0 +1,63 @@ +NVTOP +===== + +What is NVTOP? +-------------- + +Nvtop stands for NVidia TOP, a (h)top like task monitor for NVIDIA GPUs. It can +handle multiple GPUs and print information about them in a htop familiar way. + +Because a picture is worth a thousand words: + +![NVTOP interface](/screenshot/NVTOP_ex1.png) + +Dependencies +------------ + +Three libraries are required: + +* The NVIDIA Management Library (NVML). + * This queries the GPU for information. +* The ncurses library driving the user interface. + * This drives the screen. + +Limitations +----------- + +The NVML library does not support some of the queries for GPUs coming before the +Kepler microarchitecture. Anything starting at GeForce 600, GeForce 800M and +successor should work fine. For more information about supported GPUs please +take a look at the [NVML documentation](http://docs.nvidia.com/deploy/nvml-api/nvml-api-reference.html#nvml-api-reference). + +Build +----- + +CMAKE is used as build manager. + +To build the binary on Linux: + +```bash +mkdir build && cd build +cmake .. +make +make install # You may need sufficent permission for that (root) +``` + +The build system support multiple build type (-DCMAKE_BUILD_TYPE): + +* Release: Binary without debug information +* RelWithDebInfo: Binary with debug information +* Debug: Compile warning flags and address/undefined sanitizer (For development only) +* Optimized: Build with architecture specific optimisations (May be not portable across machines with different processor) + +Build Options +------------- + +None for the moment. + +License +------- + +Nvtop is licensed under the GPLV3 licence or any later version. +You will find a copy of the license inside the COPYING file of the repository or +at the gnu website <[www.gnu.org/licenses/](http://www.gnu.org/licenses/)>. diff --git a/screenshot/NVTOP_ex1.png b/screenshot/NVTOP_ex1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5e3611950e70a39e8a1a59fc63677f51fecae5 GIT binary patch literal 30504 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 Rc&05$L-ml#T_vka{|9$w0{{R3 literal 0 HcmV?d00001