diff --git a/mod/gpu b/mod/gpu new file mode 100644 index 0000000..62388a8 --- /dev/null +++ b/mod/gpu @@ -0,0 +1,28 @@ +# vim: ft=ruby + +class GPU < Worker + require 'open3' + + def mainloop() + while true do + Open3.popen2("nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader") {|i,o,t| + gpu_temp = o.gets.to_i + + if gpu_temp > @my_config['temp_crit'].to_i + fg_colour = "crit_colour" + elsif gpu_temp > @my_config['temp_warn'].to_i + fg_colour = "warn_colour" + else + fg_colour = "ok_colour" + end + + rstr = "%%{FC{%s}}%s%%{F-}" % [ fg_colour, gpu_temp ] + self.write(rstr) + } + + sleep(1) + end + end +end + +Modules.add("gpu", "GPU") diff --git a/mod/gpu2 b/mod/gpu2 new file mode 100644 index 0000000..765b8c4 --- /dev/null +++ b/mod/gpu2 @@ -0,0 +1,26 @@ +# vim: ft=ruby + +class GPU2 < Worker + def mainloop() + IO.popen("nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader -l 3") do |pipe| + pipe.each do |line| + line.chomp! + + t = line.to_i + + if t > @my_config['temp_crit'].to_i + fg_colour = "crit_colour" + elsif t > @my_config['temp_warn'].to_i + fg_colour = "warn_colour" + else + fg_colour = "ok_colour" + end + + rstr = "%%{FC{%s}}%s%%{F-}" % [ fg_colour, t ] + self.write(rstr) + end + end + end +end + +Modules.add("gpu2", "GPU2")