{ "info": { "author": "Fitsum Gaim", "author_email": "fitsum@geezlab.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: System :: Monitoring" ], "description": "gpuview\n=======\n\n[![LICENSE](https://img.shields.io/github/license/fgaim/gpuview.svg)](https://github.com/fgaim/gpuview/blob/master/LICENSE)\n![GitHub issues](https://img.shields.io/github/issues/fgaim/gpuview.svg)\n[![PyPI](https://img.shields.io/pypi/v/gpuview.svg)](https://pypi.org/project/gpuview/)\n[![CircleCI](https://circleci.com/gh/fgaim/gpuview.svg?style=shield)](https://circleci.com/gh/fgaim/gpuview)\n\n\nGPU is an expensive resource, and deep learning practitioners have to monitor the\nhealth and usage of their GPUs, such as the temperature, memory, utilization, and the users. \nThis can be done with tools like `nvidia-smi` and `gpustat` from the terminal or command-line.\nOften times, however, it is not convenient to `ssh` into servers to just check the GPU status. \n`gpuview` is meant to mitigate this by running a lightweight web dashboard on top of \n[`gpustat`][repo_gpustat]. \n\nWith `gpuview` one can monitor GPUs on the go, though a web browser. Moreover, **multiple GPU servers** \ncan be registered into one `gpuview` dashboard and all stats are aggregated and accessible from one place.\n\n\nThumbnail view of GPUs across multiple servers. \n\n![Screenshot of gpuview](https://github.com/fgaim/gpuview/blob/master/imgs/dash-1.png)\n\n\nSetup\n-----\n\nPython is required,`gpuview` has been tested with both 2.7 and 3 versions.\n\nInstall from [PyPI][pypi_gpuview]:\n\n```\n$ pip install gpuview\n```\n\n[or] Install directly from repo:\n\n```\n$ pip install git+https://github.com/fgaim/gpuview.git@master\n```\n\n> `gpuview` installs the latest version of `gpustat` from `pypi`, therefore, its commands are available \nfrom the terminal.\n\n\n\nUsage\n-----\n\nOnce `gpuview` is installed, it can be started as follows:\n```\n$ gpuview run --safe-zone\n```\nThis will start the dasboard at `http://0.0.0.0:9988`.\n\n\nBy default, `gpuview` listens to IP `0.0.0.0` and port `9988`, but these can be changed using `--host` and `--port`. The `safe-zone` option implies reporting all detials including user names, but it can be turned off for security reasons.\n\n\nExecute `gpuview -h` to see runtime options.\n\n* `run` : Start `gpuview` dashboard server\n * `--host` : URL or IP address of host (default: 0.0.0.0)\n * `--port` : Port number to listen to (default: 9988)\n * `--safe-zone` : Safe to report all details, eg. usernames\n * `--exclude-self` : Don't report to others but to self-dashboard\n * `-d`, `--debug` : Run server in debug mode (for developers)\n* `add` : Add a GPU host to dashboard\n * `--url` : URL of host [IP:Port], eg. X.X.X.X:9988\n * `--name` : Optional readable name for the host, eg. Node101\n* `remove` : Remove a registered host from dashboard\n * `--url` : URL of host to remove, eg. X.X.X.X:9988\n* `hosts` : Print out all registered hosts\n* `service` : Install `gpuview` as system service\n * `--host` : URL or IP address of host (default: 0.0.0.0)\n * `--port` : Port number to listen to (default: 9988)\n * `--safe-zone` : Safe to report all details, eg. usernames\n * `--exclude-self` : Don't report to others but to self-dashboard\n* `-v`, `--version` : Print versions of `gpuview` and `gpustat`\n* `-h`, `--help` : Print help for command-line options\n\n\n### Install as a Service\n\nTo permanently run `gpuview` it needs to be started as a background service.\nThis process will require a `sudo` privilege authentication.\nRun the following command only once to deploy as a service:\n\n```\n$ gpuview service [--safe-zone] [--exlude-self]\n```\n\nIf successful, the `gpuview` service is started immediately and will also autostart at boot time. It can be controlled using `supervisorctl start|stop|restart gpuview`.\n\n\n### Monitoring multiple hosts\n\nTo aggregate the stats of multiple machines, they can be registered to one dashboard using their address and the port number running `gpustat`.\n\nAdd a host as follows:\n```\ngpuview add --url --name \n```\n\nRemove a registered host as follows:\n```\ngpuview remove --url --name \n```\n\n> Note: `gpuview` service should be started in all hosts that need to be monitored.\n\n> Tip: `gpuview` can be setup on a none GPU machine (for example, a laptop) to monitor remote servers. \n\n\netc\n---\n\nHelpful tips related to the underlying performance are available at the [`gpustat`][repo_gpustat] repo.\n\n\nFor the sake of simplicity, `gpuview` does not have a user authentication in place. As a security measure,\nit does not report sensitive details such as user names by default. This can be changed if the service is \nrunning in a trusted network, using the `--safe-zone` option to report all details. \n\n\nThe `--exclude-self` option of the run command can be used to prevent other dashboards from getting stats of the current machine. This way the stats are shown only on the host's own dashboard.\n\n\nDetailed view of GPUs across multiple servers. \n\n![Screenshot of gpuview](https://github.com/fgaim/gpuview/blob/master/imgs/dash-2.png)\n\n\nLicense\n-------\n\n[MIT License](LICENSE)\n\n\n\n[repo_gpustat]: https://github.com/wookayin/gpustat\n[pypi_gpuview]: https://pypi.python.org/pypi/gpuview\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fgaim/gpuview", "keywords": "gpu web-monitoring", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gpuview", "package_url": "https://pypi.org/project/gpuview/", "platform": "", "project_url": "https://pypi.org/project/gpuview/", "project_urls": { "Homepage": "https://github.com/fgaim/gpuview" }, "release_url": "https://pypi.org/project/gpuview/0.3.5/", "requires_dist": [ "gpustat (>=0.5.0)", "bottle (>=0.12.14)", "pytest; extra == 'test'" ], "requires_python": "", "summary": "A lightweight web dashboard for monitoring GPU usage", "version": "0.3.5" }, "last_serial": 4710295, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "611ea73e8bee3b4c69225a5dc7ae9d18", "sha256": "c9d92d18cebd7cfd10831b0aade892f7472714ed251c6f2b78647481e31ecf6a" }, "downloads": -1, "filename": "gpuview-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "611ea73e8bee3b4c69225a5dc7ae9d18", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11139, "upload_time": "2018-12-01T13:36:28", "url": "https://files.pythonhosted.org/packages/a6/d8/eb9d454e94738f17163c536070013fbabf0e0d5646dfe920729bb0da6327/gpuview-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "251ad8884d61b0a505317b231d08017c", "sha256": "974978727f49baf8ce5d9b251e43daa1f48732cf210da502141b859610306e66" }, "downloads": -1, "filename": "gpuview-0.1.0.tar.gz", "has_sig": false, "md5_digest": "251ad8884d61b0a505317b231d08017c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8698, "upload_time": "2018-12-01T13:36:30", "url": "https://files.pythonhosted.org/packages/dd/8b/84763fd34eebe688b8ebb4657d9241ab86620ac3d11f987ca5c1d7b9ef08/gpuview-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a1e1486b40f272f8288c540d84ed34ff", "sha256": "a9621dfbf88457b8f5fb7a77bf97d53e488ac9ce19176d6d4f855277018c9306" }, "downloads": -1, "filename": "gpuview-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a1e1486b40f272f8288c540d84ed34ff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11113, "upload_time": "2018-12-01T14:45:38", "url": "https://files.pythonhosted.org/packages/73/68/3e4a253baf718f6438a9295e68880de47a61dbe1f3156be941dc481e9132/gpuview-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bff89fcef23d6fe5a5a426acc6d52c71", "sha256": "fd4e378a6c5b73855e66bfd78827f5199e24fec898f27cff171966f9ed8a5b19" }, "downloads": -1, "filename": "gpuview-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bff89fcef23d6fe5a5a426acc6d52c71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8684, "upload_time": "2018-12-01T14:45:40", "url": "https://files.pythonhosted.org/packages/5e/fa/ece2b10633222b1d15b832b1eda90a5385357a54f48db07523769a8b9570/gpuview-0.1.1.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e38f9c000499a689f23779dcb41f0991", "sha256": "c52e327b706f657fc0f0244b4206284c25950a4837ba0fdd9ef5bc2caf12f17a" }, "downloads": -1, "filename": "gpuview-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e38f9c000499a689f23779dcb41f0991", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11165, "upload_time": "2019-01-17T20:09:19", "url": "https://files.pythonhosted.org/packages/b9/70/0df3617f8b733d4136d3fdc58d0d0c64cf659982ae9e4a81d6c85ae5f6e2/gpuview-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "000c1fb73fb1ec48b84af99cdfd092b2", "sha256": "b92445dd850e29d5912a9ea9eff0cec5af2b68e66f150a7cdc487ce550d003fb" }, "downloads": -1, "filename": "gpuview-0.2.1.tar.gz", "has_sig": false, "md5_digest": "000c1fb73fb1ec48b84af99cdfd092b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8747, "upload_time": "2019-01-17T20:09:21", "url": "https://files.pythonhosted.org/packages/e1/f3/f709b248e60c8aaaa5fb4c5695b3ec911cc561816ebfa73e92958b6b7c85/gpuview-0.2.1.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "e32f7c97ff739597aa9032fe9e3f95bd", "sha256": "7656c34c3b4fc45d8d4eab277d5e55bd749e3e4f6bd47a2648964194b7cd0188" }, "downloads": -1, "filename": "gpuview-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e32f7c97ff739597aa9032fe9e3f95bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11179, "upload_time": "2019-01-17T20:43:26", "url": "https://files.pythonhosted.org/packages/30/ea/d4f3964a4324ae0cb57d58a9a570f4cd63147b3cdb56a0499cc9b7ea895c/gpuview-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3d43bc92a4e1e9ef1ecd8a7e789529a", "sha256": "e70d220874113ea52db4f7ae9ca744d0ea6e8589138613da608cca835d1d723f" }, "downloads": -1, "filename": "gpuview-0.2.5.tar.gz", "has_sig": false, "md5_digest": "b3d43bc92a4e1e9ef1ecd8a7e789529a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8762, "upload_time": "2019-01-17T20:43:28", "url": "https://files.pythonhosted.org/packages/39/5f/ed6b93a101205ec383e62f0d3b33cabcd77914b530a790f460a7d01fe955/gpuview-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "d66937e78d9b3c7868b5457a5bf1d884", "sha256": "d1bd634cdc33b58e400dba128810acc5f63c8fc255930a1934c33f4187844311" }, "downloads": -1, "filename": "gpuview-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d66937e78d9b3c7868b5457a5bf1d884", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11182, "upload_time": "2019-01-17T21:03:51", "url": "https://files.pythonhosted.org/packages/cf/26/e36c422466b860bcb3c3f272be130cc4e18a3f89f8ca46789ffd6878c56b/gpuview-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e67b160811295f14752c67d054899ea5", "sha256": "595820f760006ac8796cef71bc6d63f5d9515dd64ff3563acaad645eaaa34f75" }, "downloads": -1, "filename": "gpuview-0.2.6.tar.gz", "has_sig": false, "md5_digest": "e67b160811295f14752c67d054899ea5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8762, "upload_time": "2019-01-17T21:03:53", "url": "https://files.pythonhosted.org/packages/e2/26/1838249ab17ea87385ad7dccda71cf56fdc78d47bc8140e624225d84c236/gpuview-0.2.6.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f1145accfb8a868456a668734fdfae94", "sha256": "660ae9f8bcaa4414b1f7970f526c2e9c8666412a4096bbc1efc2c549a3edbab5" }, "downloads": -1, "filename": "gpuview-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f1145accfb8a868456a668734fdfae94", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11912, "upload_time": "2019-01-17T22:52:13", "url": "https://files.pythonhosted.org/packages/8d/22/a76e4311349e8adb61d2c70038aef114cfc73737f52c8363ddc2495321f4/gpuview-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "056ed93a7f35c4bc34b6252ae1788f65", "sha256": "411e84a792ee0340c59d9fc252f3fdcb7f4b422485b5edb218079491e7248978" }, "downloads": -1, "filename": "gpuview-0.3.2.tar.gz", "has_sig": false, "md5_digest": "056ed93a7f35c4bc34b6252ae1788f65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9306, "upload_time": "2019-01-17T22:52:14", "url": "https://files.pythonhosted.org/packages/87/78/37b7bdc9a0054dfb9906c0ed54d74838bb7a2f012b7d29dfc8e1e9513bd5/gpuview-0.3.2.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "4274b6017b295ee180368da566420a7a", "sha256": "f15b648bcc5c7ad0ba8b981c4de6f6fbe091ebd24627fa9dbb5cb3f2845b0f0a" }, "downloads": -1, "filename": "gpuview-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4274b6017b295ee180368da566420a7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11911, "upload_time": "2019-01-17T22:56:37", "url": "https://files.pythonhosted.org/packages/3f/9d/ec455c72f402ff590f49a1ab75f638ad770dc7aaf589966d388e32ca07c8/gpuview-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cb2123201d2806da7dfb4a1a99af285", "sha256": "a9d0484ac1575c511f29edf1c8e15ee97cc52cba531f532f39ef86695337eca8" }, "downloads": -1, "filename": "gpuview-0.3.4.tar.gz", "has_sig": false, "md5_digest": "1cb2123201d2806da7dfb4a1a99af285", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9283, "upload_time": "2019-01-17T22:56:38", "url": "https://files.pythonhosted.org/packages/66/12/dd9ab7cb20de75f8fd9f2f6079a68500429016fd689a032d455f6e439f58/gpuview-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "654956c67ce63ff9f9910bdac741e989", "sha256": "f3918e5b68c1f1fb552b89f9ca952a7429b2d9f9fb5529679558685b3bb047b8" }, "downloads": -1, "filename": "gpuview-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "654956c67ce63ff9f9910bdac741e989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12035, "upload_time": "2019-01-18T00:16:25", "url": "https://files.pythonhosted.org/packages/9d/a8/080df7c0bd2733a3b0a885a0798740df32c4fae2b03d691ddd70c65090f4/gpuview-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a30a506f05513dd30bde9a7e9c4587b", "sha256": "6cc78020baf9516e166d99b548f2894c515dab0828bbfb90045ee3f115a94cc5" }, "downloads": -1, "filename": "gpuview-0.3.5.tar.gz", "has_sig": false, "md5_digest": "0a30a506f05513dd30bde9a7e9c4587b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9488, "upload_time": "2019-01-18T00:16:27", "url": "https://files.pythonhosted.org/packages/32/ac/fad739a6659cd8817e3bb0f8a06da1f033c64cb09362822d7cf04907be3e/gpuview-0.3.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "654956c67ce63ff9f9910bdac741e989", "sha256": "f3918e5b68c1f1fb552b89f9ca952a7429b2d9f9fb5529679558685b3bb047b8" }, "downloads": -1, "filename": "gpuview-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "654956c67ce63ff9f9910bdac741e989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12035, "upload_time": "2019-01-18T00:16:25", "url": "https://files.pythonhosted.org/packages/9d/a8/080df7c0bd2733a3b0a885a0798740df32c4fae2b03d691ddd70c65090f4/gpuview-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a30a506f05513dd30bde9a7e9c4587b", "sha256": "6cc78020baf9516e166d99b548f2894c515dab0828bbfb90045ee3f115a94cc5" }, "downloads": -1, "filename": "gpuview-0.3.5.tar.gz", "has_sig": false, "md5_digest": "0a30a506f05513dd30bde9a7e9c4587b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9488, "upload_time": "2019-01-18T00:16:27", "url": "https://files.pythonhosted.org/packages/32/ac/fad739a6659cd8817e3bb0f8a06da1f033c64cb09362822d7cf04907be3e/gpuview-0.3.5.tar.gz" } ] }