====== Graphics Cards ====== ===== HoloMonitor Needs ===== The Acousto-Optic Modulators (AOMs) are __//analog//__ devices that need specific radio-frequency signals to produce usable images. Graphics cards are a relatively cheap, widely available consumer product that enables us to generate specific RF patterns by manipulating the pixels of the desktop assigned to a graphics card output. As well, graphics cards have hundreds of parallel processors that can be used to execute per-pixel code several times per second for the entire frame. The needs of the graphics cards we use are as follows: * **IMPERATIVELY** provides analog output * close to or greater than 400MHz RAMDAC pixel clock * DVI-**I** preferred, VGA possible * __DVI-//D//, HDMI, DP won't work__ * strongly preferred to be capable of rendering 4k @ 30fps * about 100 lines of GPU code per pixel calculation * strongly preferred to be in production * preferred approximately flat frequency response (up to 200MHz) * preferred to not be ludicrously expensive * preferred >=1 analog output set per PCIe slot ---- ===== Available Products ===== NVidia lines * manufactures 400MHz RAMDACs * Quadro (FX) * GeForce * Professional How to sync multiple graphics cards together for multichannel (>3) AOMs? [[http://www.geforce.com/hardware/technology/g-sync/technology|G-SYNC]]: this is appealing in case we want to sync the graphics card(s) based off of the polygon mirror, instead of the other way around [[http://www.geforce.com/hardware/technology/sli|SLI]]: Allows multiple GPUs (up to four) to be used together to increase processing performance. There are several other multi-GPU configuration options which I will cover here as well. * LDA (Linked Display Adapter) Implicit: This is what Nvidia uses for SLI. Allows for data transfer between GPUs over the SLI bridge without interference from other data being transferred over PCIe. Theoretically improves performance. * LDA (Linked Display Adapter) Explicit: LDA Implicit, but without an SLI bridge. May be used by AMD for their multi-GPU solution. * MDA (Multi Display Adapter) mode: When SLI is off specific applications should be able to use any set of GPUs that are linked to the machine. This is enabled by the operating system. Cross brand compatibility is a thing. Based on a DX12 feature called shared fences that allows for synchronised commands and a shared pool of memory between all GPUs in the system. PNY - A board partner for Nvidia. PNY designs individual graphics cards based on the chips that Nvidia produces. In the process, PNY may make changes to the reference (given to the board partners by Nvidia) design by upgrading items such as cooling, power delivery, and component quality. PNY is the only board partner in North America licensed to manufacture Nvidia's Quadro, Tesla, and NVS cards as well as Nvidia Iray certified devices. They have amazing customer support due to them working heavily within the professional space. Calling this number (1.800.230.0130) will put you right through to one of their product engineers. AMD - Another company that makes graphics cards. They are becoming more and more irrelevant as time goes on, no longer being able to really compete against Nvidia. Their latest generation of cards lacks a flagship and targets the middle to low end market. AMD also has a professional line of cards known as FirePro, but I have only heard whispers about them. I don't even know if they've been updated in the four years I've been following GPUs since I haven't heard anything about them. They still should be considered since prices for their cards are falling. Intel does not make any discrete GPUs. All graphics processing Intel does is integrated onto their CPUs and is referred to as Iris. [[https://pcpartpicker.com/|PC Part Picker]]: This tool is absolutely amazing for choosing components for computers. It has a compatibility checker to make sure you don't screw your component choice up and price comparison tools for the lowest possible prices. (Boyd, feel free to restructure anything you want)\\ (how much does memory size & bandwidth matter for our applications?) ^ Card ^ Price Range ^ GPU Cores ^ Analog Outputs ^ PCIe Slots ^ Freq Response Rating ^ Notes ^ Architecture ^ | [[http://images.nvidia.com/content/pdf/quadro/data-sheets/NV-DS-Quadro-M6000-24GB-US-NV-fnl-HR.pdf|Quadro M6000]] | $4,745.49 (New Egg) | 3072 | 1 | 2 | N/A | Low price to performance ratio | Maxwell | | [[http://images.nvidia.com/content/pdf/quadro/data-sheets/75509_DS_NV_Quadro_M5000_US_NV_HR.pdf|Quadro M5000]] | $1,868.98 (B&H) | 2048 | 1 | 2 | N/A | Low price to performance ratio | Maxwell | | [[http://www.nvidia.com/object/product_quadro_fx_5800_us.html|Quadro FX 5800]] | $100-$300 (eBay - Used) | 240 | 2 | 2 | ok | made in 2008, supports DSYNC | N/A | | [[http://www.pny.com/nvidia-quadro-K620|Quadro K620]] | $100-$200 | 384 | 1 | 1 | great | best freq response | Maxwell | | [[http://images.nvidia.com/content/pdf/quadro/data-sheets/75509_DS_NV_Quadro_K420_US_NV_HR.pdf|Quadro K420]] | $111.91 (B&H) | 192 | 1 | 1 | N/A | Dinky old card that is only in production to fill market space | Slightly sentient potato (Actually probably Kepler)| | [[https://www.pny.com/NVIDIA_NVS_315_for_Dual_DP_Low_Profile?sku=VCNVS315DP-PB|NVS 315]] | $100-$150 | 48 | 2 | 1 | ok | 2:1 analog outputs per slot | N/A | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-titan-x|Titan X (M)]] | $700 (Amazon) | 3072 | 1 | 2 | N/A | Not to be mistaken for the Pascal version by the same name | Maxwell | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-980-ti| GTX 980ti ]] | $389.99 (New Egg) | 2816 | 1 | 2 | N/A | No longer in full production | Maxwell | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-980|GTX 980]] | $439.99 (New Egg) | 2058 | 1 | 2 | N/A | No longer in full production | Maxwell | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-970|GTX 970]] | $254.99 (New Egg) | 1664 | 1 | 2 | N/A | No longer in full production | Maxwell | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-960|GTX 960]] | $174.99 (New Egg) | 1024 | 1 | 2 | N/A | No longer in full production | Maxwell | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-950|GTX 950]] | $139.99 | 768 | 1 | 2 | N/A | Middle of the road card | Maxwell | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-780-ti/features|GTX 780ti]] | $238.99 (Amazon - Used) | 2880 | 1 | 2 | N/A | No longer in full production | Kepler | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-780|GTX 780]] | $129.99 | 2304 | 1 | 2 | N/A | No longer in full production | Kepler | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-770|GTX 770]] | $139.99 (Used) | 1536 | 1 | 2 | N/A | Not worth the price | Kepler | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-760|GTX 760]] | $100 (Used) | 1152 | 1 | 2 | N/A | No longer in production | Kepler | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gt-730|GT 730]] | $69.99 | 96/384 | 1 (VGA) | 1 | N/A | Low performance card | Kepler | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gt-720|GeForce GT 720]] | $45 (NewEgg) | 192 | 1 | 2? | ok | what was appealing about this? | Kepler | | [[http://www.geforce.com/hardware/desktop-gpus/geforce-gt-710|GT 710]] | $36.99 | 192 | 1 (VGA) | 1/2 | N/A | Low performance card | Kepler | | [[http://www.amd.com/en-us/products/graphics/workstation/firemv-2d|FirePro 2270]] | $134.99 | No Idea | 2 | 1 | N/A | Low powered card - like, really low powered | No Idea | | [[http://www.amd.com/en-us/products/graphics/desktop/r9|R9 380X]] | $169.99 | 2048 | 1 | 2 | N/A | N/A | GCN 3rd gen. | | [[http://www.amd.com/en-us/products/graphics/desktop/r7|R7 370]] | $109.99 | 1024 | 1 | 2 | N/A | N/A | GCN 1st gen. | | [[http://www.amd.com/en-us/products/graphics/desktop/r7|R7 360]] | $97.99 | 768 | 1 | 2 | N/A |The price difference of $12 is not worth the performance hit | GCN 2nd gen. | ==== NVidia Quadro K620 ==== {{http://www.pny.com/ProductImages//8c026c37-8324-462c-96d3-6c0700ffeb15/images/PNY-Professional-Graphics-Cards-Quadro-K620-lp-ra.png?300}} [[http://www.pny.com/nvidia-quadro-K620|NVIDIA Quadro K620 by PNY Product Page]] //__The K620 has the flattest frequency response out of the NVS 315, the GeForce GT720, and the Quadro FX 5800.__// Note: the frequency response data for the K620 and the NVS 315 may have been accidentally swapped; be aware of this in case we rediscover this in the future. Frequency Response: {{monitor:graphics_card_response_quadro_k620.png?400}} ==== NVidia NVS 315 ==== {{https://www.pny.com/ProductImages//a13d74da-1b35-4501-94eb-dc2eb36b9034/images/PNY-Professional-Graphics-Cards-Quadro-NVS-315-DisplayPort-ra.png?300}} {{http://i.ebayimg.com/images/g/m0EAAOSwj0NUgOlg/s-l300.jpg?200}} [[https://www.nvidia.com/content/PDF/data-sheet/NVIDIA-NVS315-DataSheet-US-LR.pdf|NVIDIA NVS 315 Product Page]] Attractive for its dual analog output via the DMS-59 connector (two DVI-I ports). Frequency Response: {{monitor:graphics_card_response_nvs_315.png?400}} ==== NVidia GeForce GT720 ==== {{http://www.geforce.com/sites/default/files-world/geforce-gt-720-3qtr.png?400}} [[http://www.geforce.com/hardware/desktop-gpus/geforce-gt-720|NVIDIA GeForce GT720 Product Page]] Was this appealing because it was dirt-cheap? Frequency Response: {{monitor:graphics_card_response_geforce_gt720.png?400}} ==== NVidia Quadro FX 5800 ==== [[http://www.nvidia.com/object/product_quadro_fx_5800_us.html|{{nvidia_quadro_fx_5800_outputs.jpg?400}}]] **[[http://www.nvidia.com/object/product_quadro_fx_5800_us.html|NVIDIA Quadro FX 5800 Product Page]]** The NVIDIA Quadro FX 5800 has been the graphics card of use in the Group ever since 2013 (as of 3 Aug 2016). **It was released in 2008.** It was attractive for its dual DVI-I outputs and for its GSYNC (now known as Quadro Sync on modern cards) inputs, which we possibly could use to sync the computer to the polygon instead of the other way around. It is no longer in production, but still available from resellers. Under current software (~100 lines of OpenGL GPU code), with a regular 1680x1050 monitor and the 4k (3872x3293) HoloMonitor attached, the HoloMonitor output is rendered at about 15 fps (FIXME need to get exact measurement). FIXME We've taken a picture of the RAMDAC but can't find it. Frequency Response: {{monitor:graphics_card_response_geforce_fx_5800.png?400}} ==== Generic DP-VGA Adapter ==== We tested a generic DisplayPort-to-VGA adapter and found that the chip used was a [[http://www.nxp.com/documents/data_sheet/PTN3392.pdf|PTN3392]]. Use one of these only if the Apocalypse has destroyed all other graphics cards; experience has shown that the PTN3392 is not friendly to the custom EDIDs we write, and has a maximum pixel clock of 234 MHz (WUXGA 1920x1440@60fps mode). [[https://docs.google.com/document/d/1mo1ZkVQxPFRYfkg8rBdV_RQMcUp88m73tAYM3sRlOpA/edit?usp=sharing|Analysis of PTN3392 Performance]] (Google Doc) [[https://www.youtube.com/watch?v=1KWnOjIDAgg|Video of PTN3392 frequency response]] (YouTube) ---- ===== Common Video Ports ===== (not really needed, just gathering information here) The most up-to-date specifications are only available to adopter companies that have joined the respective specification organizations. HDMI is backwards-compatible with DVI. DVI (1999) Standard: http://www.cs.unc.edu/~stc/FAQs/Video/dvi_spec-V1_0.pdf Overview: http://www.siliconimage.com/docs/SiI-WP-007-A.pdf Wikipedia: https://en.wikipedia.org/wiki/Digital_Visual_Interface Block Diagram: http://www.epdoc.cn/rf/24631.html HDMI (2003) Standard (free 1.3a): http://www.microprocessor.org/HDMISpecification13a.pdf Overview: http://cncms.com.au/SANYO-IMs/FAQs/HDMI-Technical-Overview.pdf Overview 2: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&uact=8&ved=0CEEQFjAFahUKEwjY95v5hbTIAhVHmogKHfcGCIs&url=http%3A%2F%2Fcfile8.uf.tistory.com%2Fattach%2F111528354F2D67460A29D7&usg=AFQjCNEsB9Gd6Z1Zbk4yju9sbA1rsFDGuw&sig2=5BbfpxdBhYK8XyYU5RInYQ&bvm=bv.104615367,d.cGU Wikipedia: https://en.wikipedia.org/wiki/HDMI DP (2008) Standard (free 1.1a): http://file.yizimg.com/383992/2014090921252964.pdf Overview: http://www.vesa.org/wp-content/uploads/2011/01/ICCE-Presentation-on-VESA-DisplayPort.pdf Wikipedia: https://en.wikipedia.org/wiki/DisplayPort To get the most up-to-date standards for HDMI and DisplayPort, we'd have to get (possibly pay for) membership to the standards organization and possibly buy the standards themselves. ---- ===== Discrete DACs ===== Don't bother with these; just use NVIDIA's graphics cards, which have their own proprietary 400MHz RAMDACs. These are just some references; it would be a HUGE project to build a graphics card replacement from scratch. https://courses.engr.illinois.edu/ece412/References/XUP/FMS3818KRC.pdf http://www.farnell.com/datasheets/1487248.pdf http://www.analog.com/media/en/technical-documentation/data-sheets/ADV7611.pdf