Using a Tesla P4 Graphics card in my Unraid NAS

Using a Tesla P4 Graphics card in my Unraid NAS
My NAS with its shiny (used) Tesla P4

I really wanted to start my forte into the world of GPU accelerated Docker containers and found most of the options on the market quite restrictive. A goldilock situation if you will. Most modern GPUs on the market are double or even triple slot sized, what would render one of my valuable Pcie slots useless. Small single slot consumer grade cards still exist, yet they are either terrible price to performance wise or aren't made by Nvidia, thus restricting my to non-cuda based Docker containers.


The Tesla P4 at the time of its launch in September 2016, was Nvidia's enterprise solution for GPU compute in a small form factor. Built with server's in mind, it comes without a display output, just a big gaping vent on the rear of the card.

At its heart is the GP104 Pascal based chip. This exact same chip was used in the beloved GTX 1080 gaming card. Yet in the Tesla P4 it is downclocked heavily to just 810 MHZ with a maximum boost clock of 1063 MHz. This allows the Tesla P4 to fit within the 75w maximum for PCIe power, negating the need for a external PCIe power connector.

Like the GTX 1080, it shares the same 8gb of VRAM. Albeit in a slower GDDR5 flavour rather than the GDDR5x of the Gtx 1080.


My main use case for having a GPU in my Unraid server was to enable hardware transcoding in Plex. Being a big fan and user of Plex for a number of years, i have decided it is finally time to consolidate my server stack into one Unraid shaped package. Removing the Dell Optiplex with a 12tb HDD shoved in it from my Homelab equation would certainly simplify things heavily. This also removes the self imposed glass ceiling i have created for myself by limiting Plex to the one 3.5inch HDD slot my Optiplex has. While easily mitigated by pointing Plex at the SMB Share, mapped network drives are far more unreliable than a native HDD.


Fan's

As this is designed to be run in a Server with static pressure already provided by the servers own fans, it doesn't include a fan. To get around this there is a few options, watercooling or 3d printed fan duct. Water Cooling while interesting is far too unreliable and expensive for my tastes; especially for a server. So i have gone for option number 2. A 3d printed fan duct and fan combination from eBay.

Powered by a normal motherboard fan header, this blows air through the passive heatsink to emulate the static pressure the Tesla P4 is expecting. Keeping idle temps in the mid 40s and load temps in the low 70s.


Hardware installation

Installing the Tesla P4 was pretty straight forward all things considered. First i needed to swap the low profile PCI bracket for a included Full height one. Although depending on your use case this may not be necessary.

Next i needed to mount the blower fan to the rear of the GPU. My fan kit required me to remove 2 of the heat spreader screws to reuse to hard mount this to the card. Although from shopping around alot of similar kits use a snap fit mechanism to attach the fan to the card.

From there it was as simple as popping in the Tesla P4 into the 16x PCIe slot of my servers motherboard and attaching the fan header to a fan header on my motherboard.


Software installation

Unraid made driver installation a breeze. I simply downloaded the Nvidia drivers from the community app's plugin. Once installed i was ready to go and start using GPU enabled docker containers.

To test that the GPU was actually running i installed a containerised version of Handbrake. Transcoding a video to h265 using the NVENC profile was a breeze. Although the GPU Statistics plugin was reporting that i was only using 50% of the encoder. After a bit of digging on the internet i have found that the Tesla P4 has two NVENC encoders built in, unlike most GPU's. Allowing it to theoretically perform at full transcoding performance on two streams rather than just one.


Summary

After using the Tesla P4 for a number of months now, im quite happy with my purchase. The only headache i have so far found being the lack of display outputs, as i have since upgraded from a Ryzen APU to a Ryzen 3900x without a native graphics card built in. This has left me swapping GPU's every time i need to interact with the BIOS of the server. Other than that, it has been a great addition to my Unraid server.

If youd like to watch the installation process you can watch it here \/

My Tesla P4 video