GPU排隊腳本實現(xiàn)空閑觸發(fā)python腳本實現(xiàn)示例
今天寫了一個GPU排隊腳本,事實上還是挺實用的。有的服務(wù)器是多用戶使用,GPU的資源常常被占據(jù)著,很可能在夜間GPU空閑了,但來不及運行自己的腳本。如果沒有和別人共享服務(wù)器的話,自己的多個程序想排隊使用GPU,也可以用這個腳本。環(huán)境非常簡單,有python就行了:
python3.7
ubuntu16.04
先創(chuàng)建腳本:
vim narrow_setup.py
cmd = 'python xxx.py'這句可以設(shè)置你要運行的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()
直接運行腳本:
python narrow_setup.py
就可以監(jiān)聽nvidia-smi中的信息,以伺機觸發(fā)python腳本~
運行結(jié)果如下:
等待機會中... 如果gpu顯存和功耗低于某個值時,就會觸發(fā)python腳本。
以上就是GPU排隊腳本實現(xiàn)一旦空閑就觸發(fā)python腳本實現(xiàn)示例的詳細內(nèi)容,更多關(guān)于GPU排隊腳本實現(xiàn)空閑觸發(fā)python腳本的資料請關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。