Changes between Version 3 and Version 4 of Workshops/IntroToHpc2015/Programming/SpeedupScaling
- Timestamp:
- 08/24/2026 11:39:21 AM (10 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Workshops/IntroToHpc2015/Programming/SpeedupScaling
v3 v4 17 17 * When task switches occur frequently enough the illusion of parallelism is achieved. 18 18 19 == End of clock speed scaling == 20 CPU clock speed, or clock rate, is measured in Hertz — generally in gigahertz, or GHz. A CPU’s clock speed rate is a measure of how many clock cycles a CPU can perform per second. For example, a CPU with a clock rate of 1.8 GHz can perform 1,800,000,000 clock cycles per second. 21 22 * Clock speed is the biggest contributor to power. 23 * Intel pushed clock speeds very hard in the 90s and early 2000s. 24 * Doubling the clock speed increased power by 2-8x.... 25 * More power generates more heat... Heat is becoming an unmanageable problem..... 26 19 27 == Multi-core == 20 Now all computer has multi-core 28 After Core2 Duo, Intel's CPUs have multiple cores. 29 30 Modern computers have multi-core CPUs. 21 31 22 32 [[Image(CPUpowerDensity.png,25%)]] … … 25 35 The multiple cores can run multiple instructions at the same time, increasing overall speed for programs amenable to parallel computing. 26 36 37 === Developing Codes for Multi-Cores === 38 * Computer programs developed for old CPUs run on a single core. 39 * Simple C/C++ and Fortran code runs on just one core. 40 * We have to develop codes that use multiple cores. 27 41 28 42 == Co-Processors / Accelerator== 29 A coprocessor / Accelerator is a computer processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating point arithmetic, graphics, signal processing, string processing, encryption or I/O Interfacing with peripheral devices. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance.43 A coprocessor / Accelerator is a computer processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating-point arithmetic, graphics, signal processing, string processing, encryption or I/O Interfacing with peripheral devices. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance. 30 44 31 45 [[Image()]] 32 46 33 47 === GPU === 34 A graphics processing unit (GPU), also occasionally called visual processing unit (VPU), is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel. In a personal computer, a GPU can be present on a video card, or it can be on the motherboard.48 A graphics processing unit (GPU), also occasionally called a visual processing unit (VPU), is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel. In a personal computer, a GPU can be present on a video card, or it can be on the motherboard. 35 49 36 50 [[Image(gpu-computing-feature.jpg, 25%)]]
