I have a small inline function in C# to read the GPU Temp and power for NVidia Cards using SMI Tool
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.Text.RegularExpressions;
public class VAInline
{
public void main()
{
VA.WriteToLog("GPU Info");
Process process = new Process();
process.StartInfo.FileName = "C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe";
process.StartInfo.Arguments = "dmon -c 1 -s p"; // monitor only once and power info
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
//* Read the output (or the error)
string output = process.StandardOutput.ReadToEnd();
//Console.WriteLine(output);
string err = process.StandardError.ReadToEnd();
//Console.WriteLine(err);
process.WaitForExit();
string[] numbers = Regex.Split(output, @"\D+");
VA.WriteToLog("Power: " + numbers[2] + " W");
VA.WriteToLog("Temp: " + numbers[3] + " °C");
VA.SetInt("GPUPwr", Convert.ToInt32(numbers[2]));
VA.SetInt("GPUTemp", Convert.ToInt32(numbers[3]));
}
}
After that you just use Text to speech
Say, 'The GPU Temperature is {INT:GPUTemp} degree Celsius and the power consumption is {INT:GPUPwr} Watt