— CPU & GPU —
A personal computer (PC) has 4 sub-systems, savegeeks for the sake of simplicity: a computing subsystem, a display subsystem, a data storage subsystem, and an internal and external communication control system. CPU is well known by the public for indicating the performance of the computing system (rightly or wrongly). GPU is reasonably well known in recent years for indicating the performance of the display system.
For the purpose of illustration, we would, creditcana like to mention that Intel and AMD are the 2 leading vendors for CPU and nVidia and AMD (having bought ATI previously) are the 2 leading vendors for discrete card GPU. These nominations should help readers visualize the context of this paper and gain the confidence that this paper addresses issues most people are familiar with.
Both CPU vendors hit the ceiling of clock frequency a few years ago and have resorted to multiple cores as the means, expresstrue of pushing the performance envelope of CPU. As at April 2011, we are reading news on CPU releases with up to 12 cores. This trend indicates that software must go for parallel programming. Have all software vendors do so?
If we look at consumer grade graphics cards, timesgym we would realise that their vendors have already advertised their cards with a much high count such as 512 cores as early as December 2010. This reveals that multiple cores are not a new concept in the GPU world. Are GPU vendors ahead of CPU vendors? Can we use GPU in lieu of CPU?
— CUDA —
For simplicity reasons, this paper discusses the technology from one of the two GPU vendors only. We will briefly talk about CUDA from nVidia.
CUDA stands for Compute United Device Architecture. It is for making use of the resources residing in both CPU and GPU, oculuscredit for computing and visualisation. It is not the same as the conventional concept of having the CPU as the computing engine and the GPU as a display adapter. It is indeed an arrangement whereby the GPU will have a much bigger part to play as GPU has more cores than CPU nowadays!
It should be sufficient in the context of this paper to know that CUDA is an application programming interface in an application software system for assigning work parcels to GPU hardware. The end application, depotblue does require the CPU for its running and CUDA will maximize the multi-core parallel processing resources of the GPU for computing intensive tasks like rendering and anti-aliasing.
— Benchmarking —
How would we know if Computer A performs better or worse than Computer B? We use benchmarking to help us find the answer. Benchmarking is basically a piece of software that will labour a specific set of hardware for a specific set of software or productivity functions. The computer that completes the tasks sooner would be deemed as more powerful. Benchmarking is a universal concept but is not necessarily a specific universal tool. There are various benchmarking software systems and each serves specific functions. It is not a case of one shoe fits all sizes.
In the professional graphics world, SPEC has achieved global recognition as the most popular or industry standard benchmarking software brand. SPEC is a company and it has produced several different benchmark software packages over the years. SPECviewperf11 is the one that is currently used to benchmark the performance of engineering and design workstations.
The benchmark software package has included 8 data view sets from 8 top CAD software vendors respectively. The software will run these 8 sets in the computer being tested and produce scores of how well the computer did on these 8 sets. The scores are expressed in numbers, the higher the better.
As we can tell, benchmarking is indicative and is not absolute. To get absolute scores, we have to run the full version of the intended CAD application software in the test computer. However, the resulting scores cannot be interpreted easily as we may not have other scores to compare with.
— Computer Hardware Optimization —
Fitness for Purpose and Total Cost of Ownership are the 2 pointers for computer system building. We will explain how we employ these criteria for building Engineering Workstations or Design Stations whichever term is more intuitive.
Fitness for Purpose requires the computer to be compatible with the software application in every respect as the starting point. This should not be an issue because the PC industry has been developed largely on the basis of open interface standards. It is rare today to find software applications written for a specific source of computer hardware. The real test is on the rate of performance and hardware stability. Benchmarking comes into perspective here in a big way.
A rendering job may take 10 hours to complete previously, for instance. Now it takes 5 hours, for instance again, by a computer system with optimized hardware. This is a significant rise of productivity. Furthermore, the chance of inadvertent human disruption to the process of rendering is reduced because the window of the process has shortened.
We mentioned at the beginning of this paper about performance ceiling. The CPU that ran fast burned down after a while. Will the computer that completes a rendering process fast get burn out soon? Yes it will if we do not pay attention to thermal management aspects in the computer hardware design process. This is a system hardware reliability issue and only time can tell. Go for computers that are produced by engineers and not by advertisers.
Total Cost of Ownership does not refer to the computer selling or buying price. It refers to costs of operating, maintenance, upgrading, restoration, loss of business opportunities and frustrations. How would we assess this total cost in advance? We will need to vision how the user intends to use the engineering workstation for at least a 3 year horizon, and this requires a more intimate and on-going relationship with the user than the case of generic PC.