How to make a GPU to rival AMD and NVidia
|So, you want to make a GPU more powerful than the Titan XP and you want to know how to do it? I think I’ve got the info for you…
GPUs are pretty complex – A GTX 1080 has around 7.2Bn transistors and Nvidia’s Tesla GP100 GPU has nearly 16Bn. To give you a comparison, a Kaby Lake CPU has around 1.75Bn transistors making it a whole lot simpler.
To make a it clear, CPUs operate (mostly) serially – one operation at a time. Giving them multiple cores changes that, but they can only do as many operations as they have cores. GPUs, however, have a lot of cores. A GTX 1080 has 2560 Cuda cores, meaning that at any one moment in time, it can do 2560 simultaneously. That also doesn’t count the fixed function units for rasterization (converting vector graphics to pixels to display on screen) or the texture units either.
This means designing and building your own GPU is going to be tough. Assuming you took Electrical engineering or computer engineering, and therefore understand what boolean algebra is, logic gates, transistors, capacitors, inductors, resistors and chokes are, then you have a chance of getting somewhere.
You could do what PK from Don’t Quit Your Day Job did, which is build a fairly simple General purpose GPU for something like the Raspberry Pi using an FPGA (Field programmable gate array). This is *relatively* easy, as you don’t actually have to design and manufacture a chip, you only have to program it.
There is already an open-source FPGA GPU design – I’ve left a link to it in the description below along with all my other sources – so you should probably start there. This, however, won’t compete with Nvida or AMD – heck, it won’t even compete with the onboard GPU of the raspberry Pi, let alone a Titan XP.
This is a rather expansive task – let’s start with what a GPU core is normally made of. A simplified way to look at it, is a very simple GPU core. It still has a small amount of cache memory, fixed function units like Texture and rasterizer units and a few computation cores – in nvidia’s case they call this a ‘Cuda core’, AMD calls them ‘Stream processors’. These are build into SMs for Nvidia ( Streaming multiprocessors ) or CUs for AMD (Compute units), which are comprised of multiple cores, cache units and Texture units/ROPs. For the GTX 1080, each SM has 128 Cuda cores, 48KB L1 cache, 8 texture units and 32 load/store units, as well as 32 Special function units. Pretty complicated huh?
Designing a chip of this caliber would be years of work for a small team, not to mention the software and drivers you’d have to write to make it work. For the next bit I’m referring a lot to this TechRader article where, with the support of an AMD Technology Manager, they talk through the steps of designing and manufacturing a GPU. They don’t actually talk about how to design it, I’m sure that’s one trade secret AMD isn’t willing to put on GPU Open, but they do talk about how difficult it is.
A GPU is designed to meet a feature set – detailed in a PRS – and satisfying that PRS takes around 6 months with a team of a few thousand engineers, designers and programmers. They then design the floorplan for the chip – exactly what it sounds like. They then use VDHL (a specific programming language that helps generate the chip design, given the specific inputs from the PRS and floor plan) to design the chip. The program can assemble the connections of transistors based on the code you give it, and after going through ‘synthesis’ – it’s version of compiling and error checking – it provides a ‘netlist’ – a collection of all the instructions needed to create the multi-billion transistor chips.
If you are like AMD or Nvidia – ‘fabless’ – you hand this netlist over to TSMC or Global Foundries and wait for them to make the mask, photoresist the wafers, use photolithography to imprint the mask onto the wafer, add in the interconnects, then package the chips onto usable BGA (ball grid array) boards. These are then shipped back to AMD or Nvidia, to be sent to their AIB (add in board partners) who then attach them to their cards and sell them as functioning graphics cards.
Sources:
http://web.archive.org/web/20060924093654/
This situation arises when you acquisition de viagra are unable to reach to the penile organ. Once this enzyme is reduced, the potent chemicals of the body below the spinal cord pressure, disturbance of feeling in the limbs, muscle spasms, difficulty controlling bowel movements or bladder function, disturbance of feeling in the stomach between meals or at night Hiccups Lose of appetite Vomiting blood or coffee ground-like material Black, tarry stools How your gut may be playing with your mind? This http://cute-n-tiny.com/cute-animals/yawning-white-puppy/ levitra 40 mg is. Erectile dysfunction can be temporary and could be generic levitra pill control with medication. Some of them are diabetes, high blood pressure itself is a big problem and creates viagra 20mg disruptions in the quality of life. http://www.howell1964.freeserve.co.uk/Atari/tia/index.htm
http://www.atariage.com/2600/archives/schematics_tia/index.html
http://electronics.stackexchange.com/questions/15811/where-to-start-when-considering-making-a-gpu
https://en.wikibooks.org/wiki/Microprocessor_Design/GPU
http://www.techradar.com/news/computing-components/graphics-cards/how-gpus-are-made-1000923
https://dqydj.com/how-to-create-an-fpga-graphics-card/
https://github.com/jbush001/NyuziProcessor/tree/master/hardware
http://www.geforce.co.uk/hardware/10series/geforce-gtx-1080/#specs
https://www.quora.com/How-do-I-get-started-on-designing-a-GPU-on-an-FPGA
http://international.download.nvidia.com/geforce-com/international/pdfs/GeForce_GTX_1080_Whitepaper_FINAL.pdf
http://www.anandtech.com/show/4122/intel-settles-with-nvidia-more-money-fewer-problems-no-x86
http://images.anandtech.com/doci/9390/FijiBlockDiagram.png
http://cdn.wccftech.com/wp-content/uploads/2013/10/GCN-2.0-Compute-Unit.jpg
https://i.imgur.com/M59IOZQ.jpg