System wattage calculation is an important factor when planning to purchase one computer system or a cluster of computer systems. This blog post will focus on calculating the wattage for a GPU cluster compute node, but can be applied for calculating the power in any computer system. In subsequent posts, we will explore BTU calculation based on wattage, as well as cooling (RT Calculation) requirements based on the BTU requirements.

Basic Formula Inputs:

  • AW = Accelerator Card Wattage (GPU/Phi): 225W or 300W, depending on the card being used in the compute node
  • AQ = Accelerator Card Quantity
  • CW = CPU Wattage: Wattage of the CPU being used in the compute node
  • CQ = CPU Quantity
  • BW = Board Wattage: Overhead of the Chipsets, Memory, System Drive, Etc
    • Typically 150w is used for this calculation, unless there are a lot of drives or other factors (Other addon cards, FPGA, Etc)

Example of Application of Formula:

  • Compute Node Specs: 2x E5-2620v3, 4x Tesla K40
    • AW: K40 = 225w
    • CW: E5-2620v3 = 85w
  • Formula: (CW * CQ) + (AW * AQ) + BW
  • Example Using Compute Node Above: (85*2) + (225*4) + 150 = 1220w

Example Script

A BASH script (or any other script) can be created to automate and simplify the process. The below BASH script was created as an example, using simple methods so the script can easily be modified for future wattage variations, etc. The example application has pre-set values for the different variables involved in calculating the computer system (node) wattage generation. The script should be easily extendable/editable for future needs.

#!/bin/bash

# calculateSystemWattage.sh – Script for inputting system variables to determine overall expected wattage of the system under full utilization.

# By Andrew Nelson – 2015 – For Exxact Corporation

# Fixed Variables

SystemBoard=150

 

echo “Enter type of GPU:

0 – No GPU

1 – GeForce (225W)

2 – Phi (300W)

3 – Tesla (Single GPU – 225W)

4 – Tesla (Dual GPU – 300W)”

 

read GPUType

 

echo “Enter GPU Quantity:”

read GPUQuantity

 

echo “Enter CPU Wattage:

0 – 80W

1 – 120W

2 – 145W

3 – Other”

read CPUType

 

if [ “$CPUType” == 3 ]; then

echo “Enter CPU Wattage”

read CPUWattage

fi

 

echo “Enter CPU Quantity:”

read CPUQuantity

 

# Convert options out to integers

if [ “$GPUType” == 1 ]; then

GPUWattage=225

fi

 

if [ “$GPUType” == 2 ]; then

GPUWattage=300

fi

 

if [ “$GPUType” == 3 ]; then

GPUWattage=225

fi

 

if [ “$GPUType” == 4 ]; then

GPUWattage=300

fi

 

if [ “$CPUType” == 1 ]; then

CPUWattage=80

fi

 

 

if [ “$CPUType” == 2 ]; then

CPUWattage=120

fi

 

SystemWattage=$(( (CPUWattage * CPUQuantity) + (GPUWattage * GPUQuantity) + SystemBoard ))

echo “Expected System Wattage at full load: $SystemWattage Watts

Value used for system overhead (Chipsets, Memory, Drives): $SystemBoard Watts”

 

Example Script Execution:

$ ./calculateSystemWattage.sh

Enter type of GPU:

0 – No GPU

1 – GeForce (225W)

2 – Phi (300W)

3 – Tesla (Single GPU – 225W)

4 – Tesla (Dual GPU – 300W)

1

Enter GPU Quantity:

4

Enter CPU Wattage:

0 – 80W

1 – 120W

2 – 145W

3 – Other

3

Enter CPU Wattage

85

Enter CPU Quantity:

2

Expected System Wattage at full load: 1220 Watts

Value used for system overhead (Chipsets, Memory, Drives): 150 Watts