Page 42

EN-July2017-eMag6

P C T A L K AMDAH’L LAW Gene Amdahl (one of the great visionaries of the computing industry) recognised that the execution of a software application had two distinct stages. At the start of execution there is a set-up stage where all the connections are made and all the ‘house keeping’ is done, like checking the password etc. Then there is the actual calculation stage. In each individual application, every set-up activity is always the same and there is no way to accelerate this process, other than to use a faster machine. The set-up stage is referred to as the sequential phase of an application, as operations are constrained to occur in a particular fashion and in a particular order. By this definition the set-up phase can only occur on a single processor. In contrast, the calculation stage can be speeded up by breaking it up into smaller sections and executing these sections in parallel on separate processors. Therefore if an application takes 10 hours to complete and it is almost ideally paralleliseable, say up to 90 percent, then there will be a 1 hour sequential portion and a 9 hour potentially parallel portion. With two processors this application would take 1 hour for the sequential part and 4½ hours for the parallel, computation part. Similarly, if there are 4 processors the execution time is 1 hour for set-up and 2¼ hours for computation etc.  If the number of processors is increased to 40 there will still be a 1 hour sequential part but the calculation part will be down to 0.225 hours. By increasing the number of processors from 4 to 40 the execution time is decreased from 3.25 hours to 1.225 hours, or for a factor of 10 increase in the number of processors you only save approximately half the execution time -- a phenomenon is known as Amdahl’s law. For decades large complex analyses have been broken into bite sized chunks and solved on parallel, multi-processor machine generally dubbed ‘super computers’ or HPCs (High Performance Computers) with the likes of the Cray capturing the engineering imagination in the late 1980s. These gave way to specialist parallel processors resulting from Workstation research and eventually to 64 bit cluster computing using the UNIX and Linux operating systems. All this in a quest to reduce solution times. Generally speaking the solution time is directly proportional to the number of processors involved.  So the kit available today you would think that the number crunchers had never had it so good, with the general availability of 64 bit computing addressing vast amounts of cheap, fast memory and multi-core chipset technology available at PC World. All of this is true, but for CAE engineers the perfect machine will never be built. Ever since CAD started to get complicated GPUs and Graphics cards were developed to offload the more mundane graphics manipulation algorithms from the CPU and let it get on with the hard stuff. These graphics cards had lots of simple processors (sometimes as many as 1000/GPU) for handling the relatively simple graphics instructions. Going back to the second and previous paragraphs – the solution of the simulation equations is relatively simple (a bit like graphical manipulation) and solution times are directly proportional to the number of processors available, so why haven’t GPUs been used for CAE calculation before? Graphics Processing Units (GPU’s) designed to accelerate graphics applications are highly parallel processors capable of 100’s of Gflops/second (Billion FLoating point Operations Per Second). Competition among the GPU vendors for market share in the PC gaming market has driven technological advancements in graphics cards, and the volume in this market has driven prices down. These processors can be applied to non-graphical high-performance computing applications. Researchers have been investigating this usage for several years with success in a number of areas. This new market for their technology has been recognised by the main graphics card vendors, Nvidia and AMD/ATI. Both have introduced product lines specifically targeting high-performance computing, sometimes called the GPGPU market for general purpose comput- 42 July 2017


EN-July2017-eMag6
To see the actual publication please follow the link above