Electronic Projects - Egg Frying Graphics Card
This page documents a project to fry an egg using a graphics card. This follows on from previous work to fry an egg using an Athlon XP 1500. Previous attempts have been made using the factory fitted heatsink (GeForce GTX 480: Is it Hot Enough to Fry an Egg?), but these heatsinks are designed to keep the processor cool so they do not get hot enough. There was also a video made where a pre-heated frying pan was placed on a graphics card and used to fry an egg - just Google "egg frying graphics card".
An egg will cook above 70 degrees Celsius, but to cook it quickly energy must be supplied quickly. A graphics processor can supply between 100 and 200 Watts, which is not enough, so it is necessary to store heat in the heatsink. This can be done by using a heavy heatsink and heating it to above 70 degC so that it stays above 70 degC when the egg absorbs energy.
To start with, several items were required:
- A cheap graphics card with a high power consumption
- A heatsink (frying plate) that would store heat and not dissipate it too quickly
- A host system that would power the card and allow easy access to the heatsink
- Some software that would cause the card to generate heat but allow the temperature to be controlled
I found a GeForce 8800 (320 MB) card on eBay for £30 which promised to draw up to 146W, and I was able to borrow an Atom based host system that could run SGEMM (matrix multiply) on the card using the CUBLAS library. I picked up an off-cut of 15mm thick aluminium plate from Durbin metals and a friend machined a profile in it suitable for the graphics card (see photos).
Four tapped holes were added to the heatsink and an acrylic wall was fitted in a groove around the top. The heatsink was polished and screwed on to the graphics card with some thermal paste. The card was then connected to the host system using a PCIe extender to avoid over heating the Atom board. Ubuntu was installed on the system with the nVidia CUBLAS library and a simple program was written to call the SGEMM function repeatedly. The peak efficiency was found generating a 4608x4608 element matrix, resulting in a processing rate of 94 GFlops. The graph shows the temperature rise of the heatsink when running at 94 GFlops and when running a different matrix size at a lower efficiency. Unfortunately the thermometer range was limited to 70 degC, so the actual point at which the heatsink was hot enough to start cooking could only be estimated by letting the temperature rise for another minute or two after reaching 70 degC.
I was expecting to modify the program to reduce the computation rate (and therefore power) once the heatsink was hot enough. Fortunately the GeForce 8800 automatically does this by reducing the clock rate as the chip reaches an internal temperature limit (probably 110 degC or so). This meant I could leave the program running continuously without worrying that the processor would be damaged, and it continued to return the correct values, just more slowly!
The above photos show an egg being cooked on the card, along with the tasty fried egg sandwich that resulted. I have made two videos:
The original material is also available. If you create your own edit then please let me know!