summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-gpuinfo.spec249
-rw-r--r--sources1
3 files changed, 251 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..00b5f04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/gpuinfo-1.0.0a7.tar.gz
diff --git a/python-gpuinfo.spec b/python-gpuinfo.spec
new file mode 100644
index 0000000..428710a
--- /dev/null
+++ b/python-gpuinfo.spec
@@ -0,0 +1,249 @@
+%global _empty_manifest_terminate_build 0
+Name: python-gpuinfo
+Version: 1.0.0a7
+Release: 1
+Summary: A quick access to nvidia gpu information
+License: MIT License
+URL: https://pypi.org/project/gpuinfo/
+Source0: https://mirrors.aliyun.com/pypi/web/packages/03/94/0d99b8b788cd770cbd85f9324d874208c350f6c6d91596374a612ae558d3/gpuinfo-1.0.0a7.tar.gz
+BuildArch: noarch
+
+
+%description
+# gpuinfo
+
+I implement some functions that can help users to obtain nvidia gpu information.
+
+To use gpuinfo, you need to be able to run 'ps' and 'nvidia-smi' in your terminal.
+
+# Install with pip
+```
+pip install gpuinfo
+```
+I only tested on linux system with python3.
+https://pypi.org/project/gpuinfo/
+
+# Usage
+
+```python
+from gpuinfo import GPUInfo
+```
+
+GPUInfo has the following functions:
+
+ get_users(gpu_id)
+ return a dict. show every user and memory on a certain gpu
+
+ check_empty()
+ check_empty()
+ return a list containing all GPU ids that no process is using currently.
+
+ get_info()
+ pid_list,percent,memory,gpu_used=get_info()
+ return a dict and three lists. pid_list has pids as keys and gpu ids as values, showing which gpu the process is using
+
+ get_user(pid)
+ get_user(pid)
+ Input a pid number , return its creator by linux command ps
+
+ gpu_usage()
+ gpu_usage()
+ return two lists. The first list contains usage percent of every GPU. The second list contains the memory used of every GPU. The information is obtained by command 'nvidia-smi'
+
+# Example
+
+```python
+from gpuinfo import GPUInfo
+
+available_device=GPUInfo.check_empty()
+#available_device就是一个含有所有没有任务的gpu编号的列表
+percent,memory=GPUInfo.gpu_usage()
+#获得所有gpu的使用百分比和显存占用量
+min_percent=percent.index(min([percent[i] for i in available_device]))
+#未被使用的gpu里percent最小的
+min_memory=memory.index(min([memory[i] for i in available_device]))
+#未被使用的gpu里显存占用量最少的
+
+#如果你使用pytorch
+torch.cuda.set_device(min_percent) 或者(min_memory)
+```
+
+
+
+
+%package -n python3-gpuinfo
+Summary: A quick access to nvidia gpu information
+Provides: python-gpuinfo
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-gpuinfo
+# gpuinfo
+
+I implement some functions that can help users to obtain nvidia gpu information.
+
+To use gpuinfo, you need to be able to run 'ps' and 'nvidia-smi' in your terminal.
+
+# Install with pip
+```
+pip install gpuinfo
+```
+I only tested on linux system with python3.
+https://pypi.org/project/gpuinfo/
+
+# Usage
+
+```python
+from gpuinfo import GPUInfo
+```
+
+GPUInfo has the following functions:
+
+ get_users(gpu_id)
+ return a dict. show every user and memory on a certain gpu
+
+ check_empty()
+ check_empty()
+ return a list containing all GPU ids that no process is using currently.
+
+ get_info()
+ pid_list,percent,memory,gpu_used=get_info()
+ return a dict and three lists. pid_list has pids as keys and gpu ids as values, showing which gpu the process is using
+
+ get_user(pid)
+ get_user(pid)
+ Input a pid number , return its creator by linux command ps
+
+ gpu_usage()
+ gpu_usage()
+ return two lists. The first list contains usage percent of every GPU. The second list contains the memory used of every GPU. The information is obtained by command 'nvidia-smi'
+
+# Example
+
+```python
+from gpuinfo import GPUInfo
+
+available_device=GPUInfo.check_empty()
+#available_device就是一个含有所有没有任务的gpu编号的列表
+percent,memory=GPUInfo.gpu_usage()
+#获得所有gpu的使用百分比和显存占用量
+min_percent=percent.index(min([percent[i] for i in available_device]))
+#未被使用的gpu里percent最小的
+min_memory=memory.index(min([memory[i] for i in available_device]))
+#未被使用的gpu里显存占用量最少的
+
+#如果你使用pytorch
+torch.cuda.set_device(min_percent) 或者(min_memory)
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for gpuinfo
+Provides: python3-gpuinfo-doc
+%description help
+# gpuinfo
+
+I implement some functions that can help users to obtain nvidia gpu information.
+
+To use gpuinfo, you need to be able to run 'ps' and 'nvidia-smi' in your terminal.
+
+# Install with pip
+```
+pip install gpuinfo
+```
+I only tested on linux system with python3.
+https://pypi.org/project/gpuinfo/
+
+# Usage
+
+```python
+from gpuinfo import GPUInfo
+```
+
+GPUInfo has the following functions:
+
+ get_users(gpu_id)
+ return a dict. show every user and memory on a certain gpu
+
+ check_empty()
+ check_empty()
+ return a list containing all GPU ids that no process is using currently.
+
+ get_info()
+ pid_list,percent,memory,gpu_used=get_info()
+ return a dict and three lists. pid_list has pids as keys and gpu ids as values, showing which gpu the process is using
+
+ get_user(pid)
+ get_user(pid)
+ Input a pid number , return its creator by linux command ps
+
+ gpu_usage()
+ gpu_usage()
+ return two lists. The first list contains usage percent of every GPU. The second list contains the memory used of every GPU. The information is obtained by command 'nvidia-smi'
+
+# Example
+
+```python
+from gpuinfo import GPUInfo
+
+available_device=GPUInfo.check_empty()
+#available_device就是一个含有所有没有任务的gpu编号的列表
+percent,memory=GPUInfo.gpu_usage()
+#获得所有gpu的使用百分比和显存占用量
+min_percent=percent.index(min([percent[i] for i in available_device]))
+#未被使用的gpu里percent最小的
+min_memory=memory.index(min([memory[i] for i in available_device]))
+#未被使用的gpu里显存占用量最少的
+
+#如果你使用pytorch
+torch.cuda.set_device(min_percent) 或者(min_memory)
+```
+
+
+
+
+%prep
+%autosetup -n gpuinfo-1.0.0a7
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-gpuinfo -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.0a7-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e9d86e3
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f10418f11882f80b75dfb10bcfa0b051 gpuinfo-1.0.0a7.tar.gz