GeForce 400 series

{{Short description|Series of GPUs by Nvidia}}

{{Use mdy dates|date=October 2018}}

{{For|AMD's RX-400 GPUs|RX 400}}{{Infobox GPU

| name = GeForce 400 series

| image = 300px

| caption = NVIDIA GeForce GTX 480, released in March 2010; the flagship unit of the GeForce 400 series of graphics cards. This particular model is manufactured by NVIDIA board-partner ASUS.

| codename = GF10x

| architecture = Fermi

| created = {{start date and age|April 12, 2010}}

| model = GeForce series

| model1 = GeForce GT series

| model2 = GeForce GTS series

| model3 = GeForce GTX series

| transistors = 260M 40 nm (GT218 - GeForce 405 only)

| transistors1 = 585M 40 nm (GF108)

| transistors2 = 1.170M 40 nm (GF106)

| transistors3 = 1.950M 40 nm (GF104)

| transistors4 = 1.950M 40 nm (GF114)

| transistors5 = 3.200M 40 nm (GF100)

| entry = GT 420
GT 430

| midrange = GT 440
GTS 450
GTX 460
GTX 465

| highend = GTX 470
GTX 480

| openglversion = OpenGL 4.6

| d3dversion = Direct3D 12.0 (feature level 11_0){{cite news|last1=Killian|first1=Zak|title=Nvidia finally lets Fermi GPU owners enjoy DirectX 12|url=https://techreport.com/news/32191/nvidia-finally-lets-fermi-gpu-owners-enjoy-directx-12|access-date=July 4, 2017|publisher=Tech Report|date=July 3, 2017}}
Direct3D 11.1 (feature level 10_1, GeForce 405 only)
Shader Model 5.1
Shader Model 4.1 (GeForce 405 only)

| openclversion = OpenCL 1.1

| predecessor = GeForce 200 series

| successor = GeForce 500 series

| support status = Unsupported

}}

The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009,{{cite web|url=http://www.brightsideofnews.com/news/2009/9/25/nvidia-says-gt300-on-schedule-for-q4-20092c-yields-are-fine.aspx |title=OFFICIAL: NVIDIA says GT300 on schedule for Q4 2009, yields are fine - Bright Side Of News* |date=September 25, 2009 |publisher=Brightsideofnews.com |access-date=September 20, 2010}} however, after delays, it was released on March 26, 2010, with availability following in April 2010.

Its direct competitor was ATI's Radeon HD 5000 series.

Architecture

{{Main|Fermi (microarchitecture)}}

Nvidia described the Fermi microarchitecture as the next major step in its line of GPUs following the Tesla microarchitecture used since the G80. The GF100, the first Fermi-architecture product, is large: 512 stream processors, in sixteen groups of 32, and 3.0 billion transistors, manufactured by TSMC in a 40 nm process. It is Nvidia's first chip to support OpenGL 4.0 and Direct3D 11. No products with a fully enabled GF100 GPU were ever sold. The GTX 480 had one streaming multiprocessor disabled. The GTX 470 had two streaming multiprocessors and one memory controller disabled. The GTX 465 had five streaming multiprocessors and two memory controllers disabled. Consumer GeForce cards came with 256MB attached to each of the enabled GDDR5 memory controllers, for a total of 1.5, 1.25 or 1.0GB; the Tesla C2050 had 512MB on each of six controllers, and the Tesla C2070 had 1024MB per controller. Both the Tesla cards had fourteen active groups of stream processors.

The chips found in the high performance Tesla branding feature memory with optional ECC and the ability to perform one double-precision floating-point operation per cycle per core; the consumer GeForce cards are artificially driver restricted to one DP operation per four cycles. With these features, combined with support for Visual Studio and C++, Nvidia targeted professional and commercial markets, as well as use in high performance computing.

Fermi is named after Italian physicist Enrico Fermi.

= Current limitations and trade-offs =

The quantity of on-board SRAM per ALU actually decreased proportionally compared to the previous G200 generation, despite the increase of the L2 cache from 256kB per 240 ALUs to 768kB per 512 ALUs, since Fermi has only 32768 registers per 32 ALUs (vs. 16384 per 8 ALUs), only 48kB of shared memory per 32 ALUs (vs. 16kB per 8 ALUs), and only 16kB of cache per 32 ALUs (vs. 8kB constant cache per 8 ALUs + 24kB texture cache per 24 ALUs). Parameters such as the number of registers can be found in the CUDA Compute Capability Comparison Table in the reference manual.Compute Capability Comparison Table in {{cite web |title=Page 147-148, Appendix G.1, CUDA 3.1 official reference manual |url=http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/NVIDIA_CUDA_C_ProgrammingGuide_3.1.pdf}} Page 97 in Appendix A lists the older NVIDIA GPUs and shows all G200 series to be compute capability 1.3, while Fermi-based cards have compute capability 2.x (page 14, Section 2.5).

History

File:GF100.png

On September 30, 2009, Nvidia released a white paper describing the architecture:[http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf NVIDIA Fermi Compute Architecture Whitepaper] nvidia.com the chip features 16 'Streaming Multiprocessors' each with 32 'CUDA Cores' capable of one single-precision operation per cycle or one double-precision operation every other cycle, a 40-bit virtual address space which allows the host's memory to be mapped into the chip's address space, meaning that there is only one kind of pointer and making C++ support significantly easier, and a 384-bit wide GDDR5 memory interface. As with the G80 and GT200, threads are scheduled in 'warps', sets of 32 threads each running on a single shader core. While the GT200 had 16 KB 'shared memory' associated with each shader cluster, and required data to be read through the texturing units if a cache was needed, GF100 has 64 KB of memory associated with each cluster, which can be used either as a 48 KB cache plus 16 KB of shared memory, or as a 16 KB cache plus 48 KB of shared memory, along with a 768 KB L2 cache shared by all 16 clusters.

The white paper describes the chip much more as a general purpose processor for workloads encompassing tens of thousands of threads - reminiscent of the Tera MTA architecture, though without that machine's support for very efficient random memory access - than as a graphics processor.

File:Comparison GF100 - GF110.jpg

Many users reported high temperatures and power consumption while receiving correspondingly poor performance improvement in the GeForce 400 series Fermi GPUs when compared to rival competitor AMD's Radeon HD 5000 series - leading AMD to create and release a promotional video "The Misunderstanding"Archived at [https://ghostarchive.org/varchive/youtube/20211205/2QkyfGJgcwQ Ghostarchive]{{cbignore}} and the [https://web.archive.org/web/20100818153730/http://www.youtube.com:80/watch?v=2QkyfGJgcwQ Wayback Machine]{{cbignore}}: {{cite web| url = https://www.youtube.com/watch?v=2QkyfGJgcwQ| title = The Misunderstanding - Presented by AMD | website=YouTube}}{{cbignore}} to poke fun at the issue. In the video, a police unit is seen commencing a raid on a house with a large thermal profile, indicating a grow operation. However, upon entering the home it is apparent that the source of the high temperature is a Fermi GPU.{{Cite web|url=https://amp.hothardware.com/news/amd-pokes-fun-of-nvidias-fermi-gpu-heat-output-in-the-misunderstanding-video|title = AMD Pokes Fun of NVIDIA's Fermi GPU Heat Output in "The Misunderstanding" Video|date = August 9, 2010}}{{Cite web|url=https://www.zdnet.com/article/nvidia-fermi-gf100-gpus-too-little-too-late-too-hot-and-too-expensive/|title = NVIDIA Fermi GF100 GPUs - Too little, too late, too hot, and too expensive|website = ZDNet}} It became a common joke that one could fry an egg on a Fermi GPU at full load.{{Cite web |url=https://www.tomshardware.co.uk/gf100-fermi-egg-frying-gtx-480,news-33106.html |title=GeForce GTX 480: Is it Hot Enough to Fry an Egg? |access-date=September 20, 2019 |archive-date=September 20, 2019 |archive-url=https://web.archive.org/web/20190920143940/https://www.tomshardware.co.uk/gf100-fermi-egg-frying-gtx-480,news-33106.html |url-status=dead }}

{{Clear}}

Products

  • 1 SPs - Shader Processors - Unified Shaders: Texture mapping units: Render output units
  • 2 Each Streaming Multiprocessor (SM) in the GPU of GF100 architecture contains 32 SPs and 4 SFUs. Each Streaming Multiprocessor (SM) in the GPU of GF104/106/108 architecture contains 48 SPs and 8 SFUs. Each SP can fulfil 2 single precision fused multiply–add (FMA) operations per cycle. Each SFU can fulfil four SF operations per cycle. One FMA operation counts for two floating point operations. So the theoretical single precision peak performance, with shader count [n] and shader frequency [f, GHz], can be estimated by the following, FLOPSsp ≈ f × n × 2 (FMA). Total Processing Power: for GF100 FLOPSsp ≈ f × m ×(32 SPs × 2(FMA) + 4 × 4 SFUs) and for GF104/106/108 FLOPSsp ≈ f × m × (48 SPs × 2(FMA) + 4 × 8 SFUs) or for GF100 FLOPSsp ≈ f × n × 2.5 and for GF104/106/108 FLOPSsp ≈ f × n × 8 / 3.{{cite web |url=http://www.siliconmadness.com/2009/11/nvidia-announces-tesla-20-series.html |title=Nvidia Announces Tesla 20 Series |year=2010 |author=siliconmadness.com |url-status=dead |archive-url=https://web.archive.org/web/20100521042812/http://www.siliconmadness.com/2009/11/nvidia-announces-tesla-20-series.html |archive-date=May 21, 2010 }}

SP - Shader Processor (Unified Shader, CUDA Core), SFU - Special Function Unit, SM - Streaming Multiprocessor.

  • 3 Each SM in the GF100 contains 4 texture filtering units for every texture address unit. The complete GF100 die contains 64 texture address units and 256 texture filtering units Each SM in the GF104/106/108 architecture contains 8 texture filtering units for every texture address unit. The complete GF104 die contains 64 texture address units and 512 texture filtering units, the complete GF106 die contains 32 texture address units and 256 texture filtering units and the complete GF108 die contains 16 texture address units and 128 texture filtering units.{{Cite web|url=https://www.anandtech.com/show/3809/nvidias-geforce-gtx-460-the-200-king|title=NVIDIA’s GeForce GTX 460: The $200 King|first=Ryan|last=Smith|website=www.anandtech.com|accessdate=May 16, 2024}}

File:480 GTX PC.png

All products are produced on a 40 nm fabrication process. All products support Direct3D 12.0 on a feature level 11_0, OpenGL 4.6 and OpenCL 1.1. The only exception is the GeForce 405, an OEM-only card, which is based on the GT218 (Tesla) core only supporting DirectX 11.1 with feature level 10_1, OpenGL 3.3 and no OpenCL support, and is the only card in the GeForce 400 range not based on the Fermi microarchitecture. By the parameters, the GeForce 405 is identical to the GeForce 310, also an OEM only card, which is itself based on the GeForce 210. All products have a single DB15 VGA connector on a full height and full length card, except as listed otherwise.

File:N 480 GTX PCB.png

On November 8, 2010, Nvidia released the GF110 chip, along with the GTX 580 (480's replacement). It is a redesigned GF100 chip, which uses significantly less power. This allowed Nvidia to enable all 16 SMs (all 16 cores), which was previously impossible on the GF100 {{cite web|url=http://www.nvidia.com/object/product-geforce-gtx-580-us.html|title=Nvidia GeForce GTX 580}} Various features of the GF100 architecture were only available on the more expensive Quadro and Tesla series of cards.{{Cite web|url=https://www.nvidia.com/en-us/forums/|title=NVIDIA Official Forums|website=NVIDIA|accessdate=May 16, 2024}} For the GeForce consumer products, double precision performance is a quarter of that of the "full" Fermi architecture. Error checking and correcting memory (ECC) also does not operate on consumer cards.{{cite web|url=http://www.nvidia.com/object/product_tesla_C2050_C2070_us.html|title=NVIDIA Tesla C2xxx webpage}}, note from the description one may infer that on Teslas, ECC may be switched on and off using 1/8 of existing on-board memory, unlike standard ECC memory modules which requires 1/8 extra memory chips (that is, one extra chip to be mounted on the printed circuit board for every 8). The GF100 cards provide Compute Capability 2.0, while the GF104/106/108 cards provide Compute Capability 2.1.

Chipset table

{{row hover highlight}}

{{sort under}}

class="wikitable sortable sort-under mw-datatable" style="font-size: 85%; text-align: center;"
rowspan="2" | Model

! rowspan="2" | Launch

! rowspan="2" | Code name

! rowspan="2" | Fab (nm)

! rowspan="2" | Transistors (million)

! rowspan="2" | Die size (mm2)

! rowspan="2" | SM count

! rowspan="2" | Core config{{efn|name=geforce 400 1|Unified shaders: texture mapping units: render output units}}{{efn|name=geforce 400 3|Each SM in the GF100 contains 4 texture filtering units for every texture address unit. The complete GF100 die contains 64 texture address units and 256 texture filtering units.{{cite web |url=http://anandtech.com/show/2977/nvidia-s-geforce-gtx-480-and-gtx-470-6-months-late-was-it-worth-the-wait-/3 |title=The GF100 Recap - Nvidia's GeForce GTX 480 and GTX 470: 6 Months Late, Was It Worth the Wait? |website=Anandtech.com |access-date=2015-12-11 |archive-url=https://web.archive.org/web/20110805164512/http://www.anandtech.com/show/2977/nvidia-s-geforce-gtx-480-and-gtx-470-6-months-late-was-it-worth-the-wait-/3 |archive-date=2011-08-05 |url-status=live }} Each SM in the GF104/106/108 architecture contains 8 texture filtering units for every texture address unit but has doubled both addressing and filtering units. The complete GF104 die also contains 64 texture address units and 512 texture filtering units despite the halved SM count, the complete GF106 die contains 32 texture address units and 256 texture filtering units and the complete GF108 die contains 16 texture address units and 128 texture filtering units.{{cite web |url=http://www.anandtech.com/show/3809/nvidias-geforce-gtx-460-the-200-king/2 |title=GF104: Nvidia Goes Superscalar - Nvidia's GeForce GTX 460: The $200 King |website=Anandtech.com |access-date=2015-12-11 |archive-url=https://web.archive.org/web/20151222100647/http://www.anandtech.com/show/3809/nvidias-geforce-gtx-460-the-200-king/2 |archive-date=2015-12-22 |url-status=live }}}}

! colspan="3" | Clock rate

! colspan="2" | Fillrate

! colspan="4" | Memory configuration

! colspan="4" | Supported API version

! colspan="2" | Processing power (GFLOPS){{efn|name=geforce 400 2|To calculate the processing power see Fermi (microarchitecture)#Performance.}}

! rowspan="2" | TDP (Watts){{efn|name=geforce 400 4|Note that while GTX 460's TDP is comparable to that of AMD's HD5000 series, GF100-based cards (GTX 480/470/465) are rated much lower but pull significantly more power, e.g. GTX 480 with 250W TDP consumes More power than an HD 5970 with 297W TDP.{{cite web |url=http://www.tomshardware.com/reviews/geforce-gtx-480,2585-15.html |title=GeForce GTX 480 And 470: From Fermi And GF100 To Actual Cards! |website=Tomshardware.com |date=27 March 2010 |access-date=2015-12-11}}}}

! rowspan="2" | Release price (USD)

Core (MHz)

! Shader (MHz)

! Memory (MHz)

! Pixel (GP/s)

! Texture (GT/s)

! Size (MB)

! Bandwidth (GB/s)

! DRAM type

! Bus width (bit)

! Vulkan

! Direct3D

! OpenGL

! OpenCL{{efn|name=geforce 400 6|The 400 series is the only non-OEM family from GeForce 9 to 700 series not to include an official dual-GPU system. However, on March 18, 2011, EVGA released the first single-PCB card with dual 460s on board. The card came with 2048 MB of memory at 3600 MHz and 672 shader processors at 1400 MHz and was offered at the MSRP of $429.}}

! Single precision

! Double precision

style="text-align:left;" | GeForce 405{{efn|name=geforce 400 7|The GeForce 405 card is a rebranded GeForce 310 which itself is a rebranded GeForce 210.}}

| September 16, 2011

| GT216
GT218

| 40 nm

| 486
260

| 100
57

| rowspan="2" | 1

| 48:16:8
16:8:4

| 475
589

| 1100
1402

| 800
790

| 3.8
2.36

| 7.6
4.71

| 512
1024

| 12.6

| DDR3

| 64

| rowspan="17" | n/a{{cite web | url=https://www.khronos.org/conformance/adopters/conformant-products | title=The Khronos Group | date=31 May 2022 }}

| 11.1 (FL 10_1)

| 3.3

| rowspan="2" | 1.1

| 105.6
44.86

| {{unk}}

| 30.5

| rowspan="3" | OEM

style="text-align:left;" | GeForce GT 420

| September 3, 2010

| GF108

| rowspan="16" | TSMC 40 nm

| rowspan="5" | 585

| rowspan="5" | 116

| 48:4:4

| rowspan="4" | 700

| rowspan="4" | 1400

| 1800

| rowspan="4" | 2.8

| 2.8

| 512

| 28.8

| rowspan="4" | GDDR3

| rowspan="2" | 128

| rowspan="16" | 12 (FL 11_0)

| rowspan="16" | 4.6

| 134.4

| {{unk}}

| 50

rowspan="3" style="text-align:left;" | GeForce GT 430

| rowspan="3" | October 11, 2010

| rowspan="3" | GF108
GF108-300-A1

| rowspan="4" | 2

| rowspan="4" | 96:16:4

| 1600
1800

| rowspan="3" | 11.2

| 512

| 25.6
28.8

| 1.2

| 268.8

| {{unk}}

| 60

1800

| rowspan="2" | 512
1024
2048

| 28.8

| 128

| rowspan="11" | 1.1

| rowspan="2" | 268.8

| rowspan="2" | Unknown

| rowspan="2" | 49

| rowspan="2" | 79

1300

| 10.4

| 64

rowspan="2" style="text-align:left;" | GeForce GT 440

| February 1, 2011

| GF108

| 810

| 1620

| 1800
3200

| 3.2

| 12.9

| 512
1024

| 28.8
51.2

| GDDR3
GDDR5

| 128

| 311.04

| {{unk}}

| 65

| 100

rowspan="2" | October 11, 2010

| rowspan="2" | GF106

| rowspan="3" | 1170

| rowspan="3" | 238

| rowspan="2" | 3

| rowspan="2" | 144:24:24

| 594

| 1189

| 1600
1800

| 4.86

| 19.44

| 1536
3072

| 43.2

| DDR3

| rowspan="2" | 192

| 342.43

| {{unk}}

| 56

| rowspan="2" | OEM

rowspan="2" style="text-align:left;" | GeForce GTS 450

| 790

| 1580

| 4000

| 4.7

| 18.9

| 1536

| 96.0

| rowspan="10" | GDDR5

| 455.04

| {{unk}}

| 106

September 13, 2010
March 15, 2011

| GF106-250
GF116-200

| 4

| 192:32:16

| 783

| 1566

| 1200-1600 (GDDR3)
3608 (GDDR5)

| 6.2

| 25.0

| 512
1024

| 57.7

| 128

| 601.34

| {{unk}}

| 106

| 129

style="text-align:left;" | GeForce GTX 460 SE

| November 15, 2010

| GF104-225-A1

| rowspan="5" | 1950

| rowspan="5" | 332

| 6

| 288:48:32

| rowspan="2" | 650

| rowspan="2" | 1300

| rowspan="2" | 3400

| 7.8

| 31.2

| 1024

| 108.8

| rowspan="2" | 256

| 748.8

| {{unk}}

| rowspan="3" | 150

| 160

rowspan="4" style="text-align:left;" | GeForce GTX 460

| October 11, 2010

| GF104

| rowspan="4" | 7

| 336:56:32

| 9.1

| 36.4

| 1024

| 108.8

| 873.6

| {{unk}}

| OEM

rowspan="2" | July 12, 2010

| rowspan="2" | GF104-300-KB-A1

| 336:56:24

| rowspan="2" | 675

| rowspan="2" | 1350

| rowspan="2" | 3600

| rowspan="2" | 9.4

| rowspan="2" | 37.8

| 768

| 86.4

| 192

| rowspan="2" | 907.2

| rowspan="2" | Unknown

| 199

336:56:32

| 1024
2048

| 115.2

| 256

| rowspan="2" |160

| 229

September 24, 2011

| GF114

| 336:56:24

| 779

| 1557

| 4008

| 10.9

| 43.6

| 1024

| 96.2

| 192

| 1045.6

| {{unk}}

| 199

style="text-align:left;" | GeForce GTX 465

| May 31, 2010

| GF100-030-A3

| rowspan="3" | 3000{{cite web |url= http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf |title= Nvidia Fermi Compute Architecture Whitepaper |access-date= 2010-04-17 |archive-url= https://web.archive.org/web/20091122092429/http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf |archive-date= 2009-11-22 |url-status= live }} {{small|( 855KB)}}, page 11 of 22

| rowspan="3" | 529

| 11

| 352:44:32

| rowspan="2" | 608

| rowspan="2" | 1215

| 3206

| 13.3

| 26.7

| 1024

| 102.7

| 256

| rowspan="3" | 1.2

| 855.36

| 106.92

| 200{{efn|name=geforce 400 4}}

| 279

style="text-align:left;" | GeForce GTX 470

| March 26, 2010

| GF100-275-A3

| 14

| 448:56:40

| 3348

| 17.0

| 34.0

| 1280

| 133.9

| 320

| 1088.64

| 136.08

| 215{{efn|name=geforce 400 4}}

| 349

style="text-align:left;" | GeForce GTX 480

| March 26, 2010

| GF100-375-A3

| 15

| 480:60:48

| 701

| 1401

| 3696

| 21.0

| 42.0

| 1536

| 177.4

| 384

| 1344.96

| 168.12

| 250{{efn|name=geforce 400 4}}

| 499

rowspan="2" | Model

! rowspan="2" | Launch

! rowspan="2" | Code name

! rowspan="2" | Fab (nm)

! rowspan="2" | Transistors (million)

! rowspan="2" | Die size (mm2)

! rowspan="2" | SM count

! rowspan="2" | Core config{{efn|name=geforce 400 1|Unified shaders: texture mapping units: render output units}}{{efn|name=geforce 400 3}}

! colspan="3" | Clock rate

! colspan="2" | Fillrate

! colspan="4" | Memory configuration

! colspan="4" | Supported API version

! colspan="2" | Processing power (GFLOPS){{efn|name=geforce 400 2|To calculate the processing power see Fermi (microarchitecture)#Performance.}}

! rowspan="2" | TDP (Watts){{efn|name=geforce 400 4}}

! rowspan="2" | Release price (USD)

Core (MHz)

! Shader (MHz)

! Memory (MHz)

! Pixel (GP/s)

! Texture (GT/s)

! Size (MB)

! Bandwidth (GB/s)

! DRAM type

! Bus width (bit)

! Vulkan

! Direct3D

! OpenGL

! OpenCL{{efn|name=geforce 400 6|The 400 series is the only non-OEM family from GeForce 9 to 700 series not to include an official dual-GPU system. However, on March 18, 2011, EVGA released the first single-PCB card with dual 460s on board. The card came with 2048 MB of memory at 3600 MHz and 672 shader processors at 1400 MHz and was offered at the MSRP of $429.}}

! Single precision

! Double precision

{{notelist}}

Discontinued support

Nvidia announced that after Release 390 drivers, it will no longer release 32-bit drivers for 32-bit operating systems.{{Cite web|url=http://nvidia.custhelp.com/app/answers/detail/a_id/4604/|title = Support Plan for 32-bit and 64-bit Operating Systems | NVIDIA}}

Nvidia announced in April 2018 that Fermi will move to legacy driver support status and be maintained until January 2019.{{Cite web|url=http://nvidia.custhelp.com/app/answers/detail/a_id/4654|title = Support Plan for Fermi series GeForce GPUs | NVIDIA}}

Gallery

File:GeForce GTX 460 1024MB DDR5.JPG|Palit GeForce GTX460

File:NVIDIA GeForce GTX 480.jpg|Nvidia GeForce GTX 480 Founders Edition

See also

Notes

  • {{cite web|url= http://www.realworldtech.com/page.cfm?ArticleID=RWT093009110932 |title= Inside Fermi: Nvidia's HPC Push |author= David Kanter |publisher= realworldtech.com |date= September 30, 2009 |access-date= December 16, 2010}}

References

{{Reflist|colwidth=30em}}