GPU排隊(duì)腳本實(shí)現(xiàn)空閑觸發(fā)python腳本實(shí)現(xiàn)示例
今天寫了一個GPU排隊(duì)腳本,事實(shí)上還是挺實(shí)用的。有的服務(wù)器是多用戶使用,GPU的資源常常被占據(jù)著,很可能在夜間GPU空閑了,但來不及運(yùn)行自己的腳本。如果沒有和別人共享服務(wù)器的話,自己的多個程序想排隊(duì)使用GPU,也可以用這個腳本。環(huán)境非常簡單,有python就行了:
python3.7
ubuntu16.04
先創(chuàng)建腳本:
vim narrow_setup.py
cmd = 'python xxx.py'這句可以設(shè)置你要運(yùn)行的python腳本
# author: muzhan # contact: levio.pku@gmail.com import os import sys import time cmd = 'python ~/hehe.py' def gpu_info(): gpu_status = os.popen('nvidia-smi | grep %').read().split('|') gpu_memory = int(gpu_status[2].split('/')[0].split('M')[0].strip()) gpu_power = int(gpu_status[1].split(' ')[-1].split('/')[0].split('W')[0].strip()) return gpu_power, gpu_memory def narrow_setup(interval=2): gpu_power, gpu_memory = gpu_info() i = 0 while gpu_memory > 1000 or gpu_power > 20: # set waiting condition gpu_power, gpu_memory = gpu_info() i = i % 5 symbol = 'monitoring: ' + '>' * i + ' ' * (10 - i - 1) + '|' gpu_power_str = 'gpu power:%d W |' % gpu_power gpu_memory_str = 'gpu memory:%d MiB |' % gpu_memory sys.stdout.write('\r' + gpu_memory_str + ' ' + gpu_power_str + ' ' + symbol) sys.stdout.flush() time.sleep(interval) i += 1 print('\n' + cmd) os.system(cmd) if __name__ == '__main__': narrow_setup()
直接運(yùn)行腳本:
python narrow_setup.py
就可以監(jiān)聽nvidia-smi中的信息,以伺機(jī)觸發(fā)python腳本~
運(yùn)行結(jié)果如下:
等待機(jī)會中... 如果gpu顯存和功耗低于某個值時,就會觸發(fā)python腳本。
以上就是GPU排隊(duì)腳本實(shí)現(xiàn)一旦空閑就觸發(fā)python腳本實(shí)現(xiàn)示例的詳細(xì)內(nèi)容,更多關(guān)于GPU排隊(duì)腳本實(shí)現(xiàn)空閑觸發(fā)python腳本的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python基于pyCUDA實(shí)現(xiàn)GPU加速并行計(jì)算功能入門教程
- 關(guān)于Python的GPU編程實(shí)例近鄰表計(jì)算的講解
- Python實(shí)現(xiàn)GPU加速的基本操作
- Python3實(shí)現(xiàn)打格點(diǎn)算法的GPU加速實(shí)例詳解
- python 詳解如何使用GPU大幅提高效率
- python沒有g(shù)pu,如何改用cpu跑代碼
- 淺談Python實(shí)時檢測CPU和GPU的功耗
- 一文詳解如何用GPU來運(yùn)行Python代碼
- Python Pytorch gpu 分析環(huán)境配置
- 利用Python進(jìn)行全面的GPU環(huán)境檢測與分析
- Python調(diào)用GPU算力的實(shí)現(xiàn)步驟
相關(guān)文章
Windows系統(tǒng)下實(shí)現(xiàn)pycharm運(yùn)行.sh文件(本地運(yùn)行和打開服務(wù)器終端)
PyCharm是Python開發(fā)的高效率IDE,但是很多時候需要同時開發(fā)Bash(shell)腳本,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下實(shí)現(xiàn)pycharm運(yùn)行.sh文件(本地運(yùn)行和打開服務(wù)器終端)的相關(guān)資料,需要的朋友可以參考下2022-09-09python數(shù)據(jù)分析之聚類分析(cluster analysis)
聚類分析本身不是一個特定的算法,而是要解決的一般任務(wù)。它可以通過各種算法來實(shí)現(xiàn),這些算法在理解群集的構(gòu)成以及如何有效地找到它們方面存在顯著差異。這篇文章主要介紹了python數(shù)據(jù)分析之聚類分析(cluster analysis),需要的朋友可以參考下2021-11-11對Python3中的print函數(shù)以及與python2的對比分析
下面小編就為大家分享一篇對Python3中的print函數(shù)以及與python2的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05小學(xué)生也能看懂的python語法之循環(huán)語句精解
這篇文章主要介紹了詳解Python中的條件,循環(huán)語句,包括while循環(huán)for循環(huán),循環(huán)語句是學(xué)習(xí)各個編程語言的最基本的基礎(chǔ)知識,需要的朋友可以參考下2021-09-09Python+Pygame實(shí)現(xiàn)之走四棋兒游戲的實(shí)現(xiàn)
大家以前應(yīng)該都聽說過一個游戲:叫做走四棋兒。直接在家里的水泥地上用燒完的炭火灰畫出幾條線,擺上幾顆石頭子即可。當(dāng)時的火爆程度可謂是達(dá)到了一個新的高度。本文將利用Pygame實(shí)現(xiàn)這一游戲,需要的可以參考一下2022-07-07python 使用while循環(huán)輸出*組成的菱形實(shí)例
這篇文章主要介紹了python 使用while循環(huán)輸出*組成的菱形實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Django用戶認(rèn)證系統(tǒng) Web請求中的認(rèn)證解析
這篇文章主要介紹了Django用戶認(rèn)證系統(tǒng) Web請求中的認(rèn)證解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08