A new generation of Software Rendering Engines.
We have been busy with side projects, here at PC Perspective, over the last year. Ryan has nearly broken his back rating the frames. Ken, along with running the video equipment and "getting an education", developed a hardware switching device for Wirecase and XSplit.
My project, "Perpetual Motion Engine", has been researching and developing a GPU-accelerated software rendering engine. Now, to be clear, this is just in very early development for the moment. The point is not to draw beautiful scenes. Not yet. The point is to show what OpenGL and DirectX does and what limits are removed when you do the math directly.
Errata: BioShock uses a modified Unreal Engine 2.5, not 3.
In the above video:
- I show the problems with graphics APIs such as DirectX and OpenGL.
- I talk about what those APIs attempt to solve, finding color values for your monitor.
- I discuss the advantages of boiling graphics problems down to general mathematics.
- Finally, I prove the advantages of boiling graphics problems down to general mathematics.
I would recommend watching the video, first, before moving forward with the rest of the editorial. A few parts need to be seen for better understanding.
Subject: General Tech, Shows and Expos | September 23, 2013 - 09:38 PM | Scott Michaud
Tagged: JavaOne, JavaOne 2013, gpgpu
Are the enterprise users still here? Oh, hey!
GPU acceleration throws a group of many similar calculations at thousands of simple cores. Their architecture makes it very cheap and power efficient for the amount of work they achieve. Gamers, obviously, enjoy the efficiency at tasks such as calculating pixels on a screen or modifying thousands of vertex positions. This technology has evolved more generally than graphics. Enterprise and research applications have been taking notice over the years.
GPU discussion, specifically, starts around 16 minutes.
Java, a friend of scientific and "big-data" developers, is also evolving in a few directions including "offload".
IBM's CTO of Java, John Duimovich, discussed a few experiments they created when optimizing the platform to use new hardware. Sorting arrays, a common task, saw between a 2-fold and 48-fold increase of performance. Including the latency of moving data and initializing GPU code, a 32,000-entry array took less than 1.5ms to sort, compared to about 3ms on the CPU. The sample code was programmed in CUDA.
The goal of these tests is, as far as I can tell, to (eventually) automatically use specialized hardware for Java's many built-in libraries. The pitch is free performance. Of course there is only so much you can get for free. Still, optimizing the few usual suspects is an obvious advantage, especially if it just translates average calls to existing better-suited libraries.
Hopefully they choose to support more than just CUDA whenever they take it beyond experimentation. The OpenPOWER Consortium, responsible for many of these changes, currently consists of IBM, Mellanox, TYAN, Google, and NVIDIA.
OpenCL Support in a Meaningful Way
Adobe had OpenCL support since last year. You would never benefit from its inclusion unless you ran one of two AMD mobility chips under Mac OSX Lion, but it was there. Creative Cloud, predictably, furthers this trend with additional GPGPU support for applications like Photoshop and Premiere Pro.
This leads to some interesting points:
- How OpenCL is changing the landscape between Intel and AMD
- What GPU support is curiously absent from Adobe CC for one reason or another
- Which GPUs are supported despite not... existing, officially.
This should be very big news for our readers who do production work whether professional or for a hobby. If not, how about a little information about certain GPUs that are designed to compete with the GeForce 700-series?
Subject: General Tech | March 26, 2013 - 11:40 PM | Tim Verry
Tagged: GTC 2013, gpu analytics, gpgpu, fuzzy logix
Fuzzy Logix, a company that specializes in HPC data analytics, recently unveiled a new extension (to the Tanay Zx library) called Tanay Rx that will GPU accelerate analytic models written in R. R is a programming language commonly used by statisticians. It is reportedly relatively easy to program, but has an inherent lack of multi-threading performance and memory limitations. With Tanay Rx, Fuzzy Logix is hoping to combine the performance benefits of its Tanay Zx libraries with the simplicity of R programming. According to Fuzzy Logix, Tanay Rx is "the perfect prescription to cure performance issues with R."
Tanay Zx allowed the use of many programming languages to run models with .net, .dll, or shared object calls on the GPU, and the new Tanay Rx extension extends that functionality to statistical and analytic models run using R. Models include those data intensive tasks as matrix operations, Monte Carlo simulations, data mining, financial mathematics (equities, fixed income, and time series analysis). Fuzzy Logix claims to enable R users to run over 500 analytic models up to 10 to 100-times faster by harnessing the parallel processing power of graphics and accelerator cards such as NVIDIA's Quadro/Tesla cards, Intel's MIC, and AMD's FirePro cards.
As an example, Fuzzy Logix states that calculations for intra-day risk of equity, interest rate, and FX options amount to approximately 1 billion future scenarios can be performed in milliseconds on the GPU. While some conversions may be more intensive, certain aspects of R code can be sped-up by replacing R functions with Fuzzy Logix' own Tanay Rx functions.
As per Fuzzy Logix's website.
Industry solutions implementing Tanay Rx for the financial, healthcare, internet marketing, pharmaceutical, oil, gas, insurance, and other sectors are available now. More information on the company's approach to GPGPU analytics is available here.
GTC 2013: Cortexica Vision Systems Talks About the Future of Image Recognition During the Emerging Companies Summit
Subject: General Tech, Graphics Cards | March 20, 2013 - 09:44 PM | Tim Verry
Tagged: video fingerprinting, image recognition, GTC 2013, gpgpu, cortexica, cloud computing
The Emerging Companies Summit is an series of sessions at NVIDIA's GPU Technology Conference (GTC) that gives the floor to CEOs from several up-and-coming technology startups. Earlier today, the CEO of Cortexica Vision Systems took the stage to talk briefly about the company's products and future direction, and to answer questions from a panel of industry experts.
If you tuned into NVIDIA's keynote presentation yesterday, you may have noticed the company showing off a new image recognition technology. That technology is being developed by a company called Cortexica Vision Systems. While it cannot perform facial recognition, it is capable of identifying everything else, according the company's CEO Ian McCready. Currently, Cortexica is employing a cluster of approximately 70 NVIDIA graphics cards, but it is capable of scaling beyond that. Mcready estimates that about 100 GPUs and a CPU would be required by a company like eBay, should they want to implement Cortexica's image recognition technology in-house.
The Cortexica technology uses images captured by a camera (such as the one in your smartphone), which is then sent to Cortexica's servers for processing. The GPUs in the Cortexica cluster handle the fingerprint creation task while the CPU does the actual lookup in the database of known fingerprints to either find an exact match, or return similar image results. According to Cortexica, the fingerprint creation takes only 100ms, though as more powerful GPUs make it into mobile devices, it may be possible to do the fingerprint creation on the device itself, reducing the time between taking a photo and getting relevant results back.
The image recognition technology is currently being used by Ebay Motors in the US, UK, and Germany. Cortexica hopes to find a home with many of the fashion companies that would use the technology to allow people to identify and ultimately purchase clothing they take photos of on television or in public. The technology can also perform 360-degree object recognition, identify logos that are as small as .4% of the screen, and identify videos. In the future Cortexica hopes to reduce latency, improve recognition accuracy, and add more search categories. Cortexica is also working on enabling an "always on" mobile device that will constantly be indentifying everything around it, which is both cool and a bit creepy. With mobile chips like Logan and Parker coming in the future, Cortexica hopes to be able to do on-device image recognition, which would greatly reduce latency and allow the use of the recognition technology while not connected to the internet.
The number of photos taken is growing rapidly, where as many as 10% of all photos stored "in the cloud" were taken last year alone. Even Facebook, with it's massive data centers is moving to a cold-storage approach to save money on electricity costs of storing and serving up those photos. And while some of these photos have relevant meta data, the majority of photos taken do not, and Cortexica claims that its technology can be used to get around that issue, but identifying photos as well as finding similar photos using its algorithms.
Stay tuned to PC Perspective for more GTC coverage!
Additional slides are available after the break:
Subject: General Tech | November 23, 2012 - 01:03 PM | Jeremy Hellstrom
Tagged: gpgpu, amd, nvidia, Intel, phi, tesla, firepro, HPC
The skeptics were right to question the huge improvements seen when using GPGPUs in a system for heavy parallel computing tasks. The cards do help a lot but the 100x improvements that have been reported by some companies and universities had more to do with poorly optimized CPU code than with the processing power of GPGPUs. This news comes from someone who you might not expect to burst this particular bubble, Sumit Gupta is the GM of NVIDIA's Tesla team and he might be trying to mitigate any possible disappointment from future customers which have optimized CPU coding and won't see the huge improvements seen by academics and other current customers. The Inquirer does point out a balancing benefit, it is obviously much easier to optimize code in CUDA, OpenCL and other GPGPU languages than it is to code for multicored CPUs.
"Both AMD and Nvidia have been using real-world code examples and projects to promote the performance of their respective GPGPU accelerators for years, but now it seems some of the eye popping figures including speed ups of 100x or 200x were not down to just the computing power of GPGPUs. Sumit Gupta, GM of Nvidia's Tesla business told The INQUIRER that such figures were generally down to starting with unoptimised CPU."
Here is some more Tech News from around the web:
- Intel reportedly speeds up development of low-power processors @ DigiTimes
- Firefox and Opera squish big buffer overflow bugs @ The Register
- Hexing MAC address reveals Wifi passwords @ The Register
- Cisco Linksys EA6500 Smart Wi-Fi Router Review @ Legit Reviews
- Camera shootout: Samsung Galaxy S III vs S III mini @ Hardware.info
- Black Friday Tech Deals @ TechReviewSource
- Lawrence 'Empire Strikes Back' Kasdan to pen future Star Wars script @ The Register
- Win Corsair AX860i, AX760i, AX860 & AX760 power supplies @ Kitguru
Subject: Graphics Cards | November 13, 2012 - 04:15 PM | Tim Verry
Tagged: tahiti, HPC, gpgpu, firepro s10000, firepro
On Monday, AMD launched its latest graphics card aimed at the server and workstation market. Called the AMD FirePro S10000 (for clarity, that’s FirePro S10,000), it is a dual GPU Tahiti graphics card that offers up some impressive performance numbers.
No, unfortunately, this is not the (at this point) mythical dual-7970 AMD HD 7990 graphics card. Rather, the FirePro S10,000 is essentially two Radeon 7950 GPUs on a single PCB along with 6 GB of GDDR5 memory. Specifications on the card include 3,584 stream processors, a GPU clock speed of 825 MHz, and 6 GB GDDR5 with a total of 480 GB/s of memory bandwidth. That is 1,792 stream processors and 3 GB of memory per GPU. Interestingly, this is a dual slot card with an active cooler. At 375W, a passive cooler is just not possible in a form factor necessary to fit into a server rack. Therefore, AMD has equipped the FirePro S10,000 GPGPU card with a triple fan cooler reminiscant of the setup PowerColor uses on its custom (2x7970) Devil 13, but not as large. The FirePro card has three red fans (shrouded by a black cover) over a heatpipe and aluminum fin heatsink. The card does include display outputs for workstation uses including one DVI and four mini DisplayPort ports.
AMD is claiming 1.48 TFLOPS in double precision work and 5.91 TFLOPS in single precision workloads. Those are impressive numbers, and the card even manages to beat NVIDIA’s new Tesla K20X with big Kepler GK110 and the company’s dual GPU GK104 Tesla K10 by notable margins. Additionally, the new FirePro S10000 manages to beat its FirePro 9000 predecessor handily. The S9000 in comparison is rated at 0.806 TFLOPS for double precision calculations and 3.23 TFLOPS on single precision work. The S9000 is a single GPU card equivalent to the Radeon 7950 on the consumer side of things with 1,792 shader cores. AMD has essentially taken two S9000 cards and put them on a single PCB, and managed to get almost twice the potential performance without needing twice the power.
Efficiency and calculations per watt were numbers that AMD did not dive too much into, but the company did share that the new FirePro S10000 achieves 3.94 GLOPS/W. AMD compares this to NVIDIA’s dual GPU (Fermi-based) Tesla M2090 at 2.96 GFLOPS/W. Unfortunately, NVIDIA has not shared a single GPU GFLOPS/W rating on its new K20X cards.
|AMD S10000||AMD S9000||NVIDIA K20X||NVIDIA K10|
|Double Precision||1.48 TF||0.806 TF||1.31 TF||0.19 TF|
|Single Precision||5.91 TF||3.23 TF||3.95 TF||4.58 TF|
|Architecture||Tahiti (x2)||Tahiti (x1)||GK110||GK104 (x2)|
|Memory Bandwidth||480 GB/s||264 GB/s||250 GB/s||320 GB/s|
|Memory Capacity||6 GB||6 GB||6 GB||8 GB|
|Core clock speed||825 MHz||900 MHz||732 MHz||745 M|
Other features of the AMD FirePro S10000 include support for OpenCL, Microsoft RemoteFX, Direct GPU pass-through, and (shared) virtualized graphics. AMD envisions businesses using these FirePro cards to provide GPU hardware acceleration for virtualized desktops and thin clients. With Xen Server, multiple users are able to tap into the hardware acceleration offered by the FirePro S10000 to speed up desktop and speed up programs that support it.
Operating systems in particular have begun tapping into GPU acceleration to speed up the user interface and run things like the Aero desktop in Windows 7. High end software for workstations also have a high GPU acceleration adoption rate, so there are benefits to be had, and AMD is continuing to offer it with its latest FirePro card.
AMD is offering up a card that can be used for a mix of compute or graphics output, making them an interesting choice for workstations. The FirePro S10000’s major fault lies with a 375W TDP, and while the peak performance is respectable it is going to use more power while provided that compute muscle.
The cards are available now with an MSRP of $3,599. It is neat to finally see AMD come out with a dual GPU card with Tahiti chips, and it will be interesting to see what kind of design wins the company is able to get for its beastly FirePro S10000.
Subject: General Tech, Graphics Cards, Systems, Mobile | July 27, 2012 - 02:12 PM | Scott Michaud
Tagged: windows 8, winRT, gpgpu
Paul Thurrott of Windows Supersite reports that Windows 8 is finally taking hardware acceleration seriously and will utilize the GPU across all applications. This hardware acceleration should make Windows 8 perform better and consume less power than if the setup were running Windows 7. With Microsoft finally willing to adopt modern hardware for performance and battery life I wonder when they will start using the GPU to accelerate tasks like file encryption.
It is painful when you have the right tool for the job but must use the wrong one.
Windows has, in fact, used graphics acceleration for quite some time albeit in fairly mundane and obvious ways. Windows Vista and Windows 7 brought forth the Windows Aero Glass look and feel. Aero was heavily reliant on Shader Model 2.0 GPU computing to the point that much of it would not run on anything less.
Washington State is not that far away from Oregon.
Microsoft is focusing their hardware acceleration efforts for Windows 8 on what they call mainstream graphics. 2D graphics and animation were traditionally CPU-based with a couple of applications such as Internet Explorer 9, Firefox, and eventually Chrome allowing the otherwise idle GPU to lend a helping hand. As such, Microsoft is talking up Direct2D and DirectWrite usage all throughout Windows 8 on a wide variety of hardware.
The driving force that neither Microsoft nor Paul Thurrott seems to directly acknowledge is battery life. Graphics Processors are considered power-hogs until just recently for almost anyone who assembles a higher-end gaming computer. Despite this, the GPU is actually more efficient at certain tasks than a CPU -- this is especially true when you consider the GPUs which will go into WinRT devices. The GPU will help the experience be more responsive and smooth but also consume less battery power. I guess Microsoft is finally believes that the time is right to bother using what you already have.
There are many more tasks which can be GPU accelerated than just graphics -- be it 3D or the new emphasis on 2D acceleration. Hopefully after Microsoft dips in their toe they will take the GPU more seriously as an all-around parallel task processor. Maybe now that they are implementing the GPU for all applications they can consider using it for all applications -- in all applications.
Subject: Processors | June 19, 2012 - 11:46 AM | Josh Walrath
Tagged: Xeon Phi, xeon e5, nvidia, larrabee, knights corner, Intel, HPC, gpgpu, amd
The one positive thing for Intel’s competitors is that it seems their enthusiasm for massively parallel computing is justified. Intel just entered that ring with a unique architecture that will certainly help push high performance computing more towards true heterogeneous computing.
Subject: General Tech, Graphics Cards | May 19, 2012 - 03:27 AM | Scott Michaud
Tagged: Adobe, CS6, gpgpu
Last month, SemiAccurate reported that Adobe Creative Suite 6 would be programmed around OpenCL which would allow any GPU to accelerate your work. Adobe now claims that OpenCL would only accelerate the HD6750M and the HD6770M running on OSX Lion with 1GB of vRAM on a MacBook Pro at least for the time being at least for Adobe Premiere Pro.
Does it aggravate you when something takes a while or stutters when you know a part of your PC is just idle?
Adobe has been increasingly moving to take advantage of the graphics processor available in your computer to benefit the professional behind the keyboard, mouse, or tablet. CS 5.5 pushed several of their applications on to the CUDA platform. End-users claim that Adobe sold them out for NVIDIA but that just seems unlikely and unlike either company. My prediction is and always was more that NVIDIA parachuted in some engineers to Adobe and their help was limited to CUDA.
Creative Suite 6 further suggests that I was correct as Adobe has gone back and re-authored much of those features in OpenCL.
Isn't it somewhat ironic that insanity is a symptom of mercury poisoning?
AMD as a hatter!
CS6 will not execute on just any old GPU now despite the wider availability of OpenCL relative to the somewhat NVIDIA proprietary CUDA. While the CUDA whitelist currently extends to 22 Windows NVIDIA GPUs and 3 Mac OSX NVIDIA GPUs current OpenCL support is limited to a pair of AMD-based OSX Lion mobile GPUs: the 6750M and the 6770M.
It would not surprise me if other GPUs would accelerate CS6 if manually added to a whitelist. Adobe probably is very conservative with what components they add to the whitelist in an effort to reduce support costs. That does not mean that you will see benefits even if you trick Adobe into accepting hardware acceleration though.
It appears as if Adobe is working towards using the most open and broad standards -- they just are doing it at their own pace this time. This release was obviously paced for Apple support.