FACTOID # 41: On the probability of not reaching 40 graph, the top 34 countries are all African.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > GPGPU

General-purpose computing on graphics processing units (GPGPU, also referred to as GPGP and to a lesser extent GP²) is a recent trend focused on using GPUs to perform computations rather than the CPU. The addition of programmable stages and higher precision arithmetic to the rendering pipelines allowed software developers using GPUs for non graphics related applications. By exploiting GPU's extremely parallel architecture using stream processing approaches many real-time computing problems can be sped up considerably. “GPU” redirects here. ... CPU redirects here. ... In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refer to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware. ... For other uses, see Software developer (disambiguation). ... For other uses, see Event Stream Processing. ... Realtime redirects here. ...

Contents

GPU improvements

For many years GPU functionality was very limited. In fact, for many years the GPU was only used to accelerate certain parts of the graphics pipeline. Some improvements were needed before GPGPU became feasible.


Programmability

Programmable vertex and fragment shaders were added to the graphics pipeline to enable game programmers to generate even more realistic effects. Vertex shaders allow the programmer to alter per-vertex attributes, such as position, color, texture coordinates, and normal vector. Fragment shaders are used to calculate the color of a fragment, or per-pixel. Programmable fragment shaders allow the programmer to substitute, for example, a lighting model other than those provided by default by the graphics card, typically simple Gouraud shading. Shaders have enabled graphics programmers to create lens effects, displacement mapping, and depth of field. Vertex and pixel (or fragment) shaders are shaders that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... In the geometry of computer graphics, a vertex normal at a vertex of a polyhedron is the normalized average of the surface normals of the faces that contain that vertex. ... A fragment is a computer graphics term for all of the data necessary needed to generate a pixel in the frame buffer. ... Gouraud shaded sphere - note the inaccuracies towards the edges of the polygons. ... It has been suggested that this article or section be merged with Displacement map. ... In optics, particularly film and photography, the depth of field (DOF) is the distance in front of and beyond the subject that appears to be in focus. ...


The programmability of the pipelines have trended according the Microsoft’s DirectX specification[citation needed] , with DirectX8 introducing Shader Model 1.1, DirectX8.1 Pixel Shader Models 1.2, 1.3 and 1.4, and DirectX9 defining Shader Model 2.x and 3.0. Each shader model increased the programming model flexibilities and capabilities, ensuring the conforming hardware follows suit. The DirectX10 specification unifies the programming specification for vertex, geometry (“Geometry Shaders” are new to DirectX10) and fragment processing allowing for a better fit for unified shader hardware, thus providing a single computational pool of programmable resource.[vague] Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. ... The High Level Shader Language (HLSL) is a proprietary shading language developed by Microsoft for use with the Microsoft Direct3D API. It is in competition with GLSL shading language, but is not compatible with this OpenGL standard. ... Fragment processing is a term in computer graphics referring to a collection of operations applied to fragments generated by the rasterization operation in the rendering pipeline. ...


Data types

Pre-DirectX9 graphics cards only supported paletted or integral color types[vague]. Various formats are available, each containing a red element, a green element, and a blue element[citation needed]. Sometimes an additional alpha value is added, to be used for transparency. Common formats are:

  • 8 bits per pixel - Palette mode[vague], where each value is an index in a table with the real color value specified in one of the other formats. Possibly 2 bits for red, 3 bits for green, and 3 bits for blue.
  • 16 bits per pixel - Usually allocated as 5 bits for red, 6 bits for green, and 5 bits for blue.
  • 24 bits per pixel - 8 bits for each of red, green, and blue
  • 32 bits per pixel - 8 bits for each of red, green, blue, and alpha

For early fixed function or limited programmability graphics (i.e. up to and including DirectX8.1 compliant GPUs) this was sufficient because this is also the representation used in displays. This representation does have certain limitations, however. Given sufficient graphics processing power even graphics programmers would like to use better formats, such as floating point data formats, in order to obtain effects such as high dynamic range imaging. Many GPGPU applications require floating point accuracy, which came with graphics cards conforming to the DirectX9 specification. A floating-point number is a digital representation for a number in a certain subset of the rational numbers, and is often used to approximate an arbitrary real number on a computer. ... An example of a rendering of a high dynamic range image into an 8-bit JPEG image (for display on a typical low dynamic-range computer screen). ...


DirectX9 Shader Model 2.x suggested the support of two precision types: full and partial precision. Full precision support could either be FP32 and FP24 (floating point 24-bit per component) or greater, while partial precision was FP16. ATI’s R300 series of GPUs supported FP24 precision only in the programmable fragment pipeline (although FP32 was supported in the vertex processors) while NVIDIA’s NV30 series supported both FP16 and FP32; other vendors such as S3 Graphics and XGI supported a mixture of formats up to FP24. “ATI” redirects here. ... The Radeon R300 (introduced August 2002) is the third generation of Radeon graphics chips from ATI Technologies. ... NVIDIA Corporation (NASDAQ: NVDA) is a major supplier of graphics processors (graphics processing units, GPUs), graphics cards, and media and communications devices for PCs and game consoles (Xbox). ... NVIDIA GeForce FX logo The famous Dawn demo was released by NVIDIA to showcase pixel and vertex shaders effects of the GeForce FX Series The GeForce FX (codenamed NV30) is a graphics card in the GeForce line, from the manufacturer NVIDIA. // Overview NVIDIAs GeForce FX series is the fifth... S3 Graphics, Ltd design graphics chipsets for PCs. ... XGI Technology Inc. ...


Shader Model 3.0 altered the specification, increasing full precision requirements to a minimum of FP32 support in the fragment pipeline. ATI’s Shader Model 3.0 compliant R5xx generation (Radeon X1000 series) supports just FP32 throughout the pipeline while NVIDIA’s NV4x and G7x series continued to support both FP32 full precision and FP16 partial precisions. Although not stipulated by Shader Model 3.0, both ATI and NVIDIA’s Shader Model 3.0 GPUs introduced support for blendable FP16 render targets, easier facilitating the support for High Dynamic Range Rendering.[citation needed] ATIs R520 core (codenamed Fudo) is the foundation for a line of DirectX 9. ... The GeForce 6 Series (codenamed NV40) is NVIDIAs sixth generation of GeForce graphics chipsets. ... The GeForce 7 Series is the seventh generation of NVIDIAs GeForce graphics cards. ...


The implementations of floating point on nVidia GPUs are IEEE compliant, however this is not true across all vendors.[1] This has implications for correctness which are considered important to some scientific applications. While 64 bit floating point values (double precision float) are commonly available on CPUs, these are not currently available on GPUs. Some applications require at least double precision floating point values and thus cannot currently be ported to GPUs[vague]. There have been efforts to emulate double precision floating point values on GPUs.[2] The IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754) is the most widely-used standard for floating-point computation, and is followed by many CPU and FPU implementations. ...


Most operations on the GPU operate in a vectorized fashion: a single operation can be performed on up to four values at once. For instance, if one color <R1, G1, B1> is to be modulated by another color <R2, G2, B2>, the GPU can produce the resulting color <R1*R2, G1*G2, B1*B2> in a single operation. This functionality is useful in graphics because almost every basic data type is a vector (either 2, 3, or 4 dimensional). Examples include vertices, colors, normal vectors, and texture coordinates. Many other applications can put this to good use, and because of this vector instructions (SIMD) have already been added to CPUs[vague].-1...


In November 2006 NVIDIA launched GeForce 8800 that uses CUDA, a SDK and API that allows a programmer to use the C programming language to code algorithms for execution on the GPU. ATI/AMD offers a similar SDK for their ATI-based GPUs and that SDK and technology is called CTM (Close to Metal), designed to compete directly with NVIDIA's CUDA. CTM provides a hardware interface thin (thin hardware interface)[clarify]. AMD has also announced the AMD Stream Processor product line (combining a CPU and a GPU technology on one chip. Compared, for example, to traditional floating point accelerators such as the 64-bit CSX600 boards from Clearspeed that is used in today's supercomputers, the current GPUs from NVIDIA and AMD/ATI are only running on 32-bit, providing only single-precision data capability – instead of the double-precision (64-bit) capability of todays supercomputers[3]. NVIDIA however stated in the CUDA Release Notes Version 0.8 file that NVIDIA GPUs supporting (64-bit) Double Precision Floating Point arithmetic in hardware will become available in late 2007.[4]. Still, even without true Double Precision Floating Point arithmetic in hardware, CUDA and CTM are a great step toward a broader use of GPGPU technology. NVIDIA Corporation (NASDAQ: NVDA) (pronounced IPA: ) is a U.S. corporation specializing in the manufacture of graphics processors (graphics processing units, GPUs) technologies for workstations, desktop computers, and handhelds. ... The GeForce 8 Series, or codename G80, is the eighth generation of NVIDIAs GeForce graphics cards. ... This article does not cite any references or sources. ... A Software Development Kit, or SDK for short, is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, operating system or similar. ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ... Wikibooks has a book on the topic of C Programming The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ... GPU may stand for: Graphics processing unit, a special stream processor used in computer graphics hardware Gosudarstvennoye Politicheskoye Upravlenie (Главное Политическое Управление, or Main Political Directorate) of the Red Army, responsible for troops morale and propaganda. ... ATI may stand for: ATI Technologies Inc. ... Advanced Micro Devices, Inc. ... This articles Limitations section does not cite any references or sources. ... NVIDIA Corporation (NASDAQ: NVDA) (pronounced IPA: ) is a U.S. corporation specializing in the manufacture of graphics processors (graphics processing units, GPUs) technologies for workstations, desktop computers, and handhelds. ... Advanced Micro Devices, Inc. ... For other uses, see Event Stream Processing. ... CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ... GPU may stand for: Graphics processing unit, a special stream processor used in computer graphics hardware Gosudarstvennoye Politicheskoye Upravlenie (Главное Политическое Управление, or Main Political Directorate) of the Red Army, responsible for troops morale and propaganda. ... A floating-point number is a digital representation for a number in a certain subset of the rational numbers, and is often used to approximate an arbitrary real number on a computer. ... A supercomputer is a device for turning compute-bound problems into I/O-bound problems. ... A supercomputer is a device for turning compute-bound problems into I/O-bound problems. ...


GPGPU programming concepts

GPUs are designed specifically for graphics and thus are very restrictive in terms of operations and programming. Because of their nature GPUs are only effective at tackling problems that can be solved using stream processing and the hardware can only be used in certain ways. For other uses, see Event Stream Processing. ...


Stream processing

Main article: Stream processing

GPUs can only process independent vertices and fragments, but can process many of them in parallel. This is especially effective when the programmer wants to process many vertices or fragments in the same way. In this sense, GPUs are stream processors - processors that can operate in parallel by running a single kernel on many records in a stream at once. For other uses, see Event Stream Processing. ... For other uses, see Event Stream Processing. ... A kernel connects the application software to the hardware of a computer. ...


A stream is simply a set of records that require similar computation. Streams provide data parallelism. Kernels are the functions that are applied to each element in the stream. In the GPUs, vertices and fragments are the elements in streams and vertex and fragment shaders are the kernels to be run on them. Since GPUs process elements independently there is no way to have shared or static data. For each element we can only read from the input, perform operations on it, and write to the output. It is permissible to have multiple inputs and multiple outputs, but never a piece of memory that is both readable and writable [vague].


Arithmetic intensity is defined as the operations performed per word of memory transferred. It is important for GPGPU applications to have high arithmetic intensity or memory access latency will limit computation speed.[citation needed]


Ideal GPGPU applications have large data sets, high parallelism, and minimal dependency between data elements.


GPU programming concepts

Computational resources

There are a variety of computational resources available on the GPU:

  • Programmable processors - Vertex, primitive and fragment pipelines allow programmer to perform kernel on streams of data
  • Rasterizer - creates fragments and interpolates per-vertex constants such as texure coordinates and color
  • Texture Unit - read only memory interface
  • Framebuffer - write only memory interface

In fact, the programmer can substitute a write only texture for output instead of the framebuffer. This is accomplished either through Render-To-Texture (RTT), Render-To-Backbuffer-Copy-To-Texture(RTBCTT), or the more recent stream-out.


Textures as stream

The most common form for a stream to take in GPGPU is a 2D grid because this fits naturally with the rendering model built into GPUs. Many computations naturally map into grids: matrix algebra, image processing, physically based simulation, and so on.


Since textures are used as memory, texture lookups are then used as memory reads. Certain operations can be done automatically by the GPU because of this.


Kernels

Kernels can be thought of as the body of loops. For example, if the programmer was operating on a grid on the CPU he might have code that looked like this:

 /* Pseudocode */ x = 1e8 y = 1e8 make array x by y for each "x" { // Loop this block 1e8 times for each "y" { // Loop this block 1e8 times do_some_hard_work(x, y) // This is done 1e16 times (10 000 000 000 000 000) } } 

On the GPU, the programmer only specifies the body of the loop as the kernel and what data to loop over by invoking geometry processing.


Flow control

In regular programs it is possible to control the flow of the program using if-then-else statements and various forms of loops. Such flow control structures have only recently been added to GPUs.[citation needed] Conditional writes could be accomplished using a series of simpler instructions[vague], but looping and conditional branching were not possible.


Recent GPUs allow branching, but usually with a performance penalty. Branching should generally be avoided in inner loops, whether in CPU or GPU code, and various techniques, such as static branch resolution, pre-computation, and Z-cull[5] can be used to achieve branching when hardware support does not exist.


GPU techniques

Map

The map operation simply applies the given function (the kernel) to every element in the stream. A simple example is multiplying each value in the stream by a constant (increasing the brightness of an image). The map operation is simple to implement on the GPU. The programmer generates a fragment for each pixel on screen and applies a fragment program to each one. The result stream of the same size is stored in the output buffer.


Reduce

Some computations require calculating a smaller stream (possibly a stream of only 1 element) from a larger stream. This is called a reduction of the stream. Generally a reduction can be accomplished in multiple steps. The results from the previous step are used as the input for the current step and the range over which the operation is applied is reduced until only one stream element remains.


Stream filtering

Stream filtering is essentially a non-uniform reduction. Filtering involves removing items from the stream based on some criteria.


Scatter

The scatter operation is most naturally defined on the vertex processor. The vertex processor is able to adjust the position of the vertex, which allows the programmer to control where information is deposited on the grid. Other extensions are also possible, such as controlling how large an area the vertex affects. In geometry, a vertex (plural vertices) is a special kind of point, usually a corner of a polygon, polyhedron, or higher dimensional polytope. ...


The fragment processor cannot perform a direct scatter operation because the location of each fragment on the grid is fixed at the time of the fragment's creation and cannot be altered by the programmer. However, a logical scatter operation may sometimes be recast or implemented with an additional gather step. A scatter implementation would first emit both an output value and an output address. An immediately following gather operation uses address comparisons to see whether the output value maps to the current output slot.


Gather

The fragment processor is able to read textures in a random access fashion, so it can gather information from any grid cell, or multiple grid cells, as desired[vague].


Sort

The sort operation transforms an unordered set of elements into an ordered set of elements. The most common implementation on GPUs is using sorting networks.[5] A sorting network is an abstract model of a network of wires and comparator modules that is used to sort a sequence of numbers. ...


Search

The search operation allows the programmer to find a particular element within the stream, or possibly find neighbors of a specified element. The GPU is not used to speed up the search for an individual element, but instead is used to run multiple searches in parallel.[citation needed]


Data structures

A variety of data structures can be represented on the GPU:

  • Dense arrays
  • Sparse arrays - static or dynamic
  • Adaptive structures

Applications

The following are some of the non-graphics areas where GPUs have been used for general purpose computing:

Linux Cluster at Purdue University A computer cluster is a group of locally connected computers that work together as a unit. ... Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain results faster. ... There are very few or no other articles that link to this one. ... Linux Cluster at Purdue University A computer cluster is a group of locally connected computers that work together as a unit. ... A supercomputer is a device for turning compute-bound problems into I/O-bound problems. ... Message Passing Interface (MPI) is computer software that allows many computers to communicate with one another. ... Single-system image or SSI is when the Operating System maintains its state as a single copy of data in memory. ... Distributed computing is a method of computer processing in which different parts of a program run simultaneously on two or more computers that are communicating with each other over a network. ... The Borg, a 52-node Beowulf cluster used by the McGill University pulsar group to search for pulsations from binary pulsars. ... Grid computing is a phrase in distributed computing which can have several meanings: A local computer cluster which is like a grid because it is composed of multiple nodes. ... A computer network is an interconnection of a group of computers. ... Linux Cluster at Purdue University A computer cluster is a group of locally connected computers that work together as a unit. ... A typical server farm. ... A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance. ... Classical mechanics is a model of the physics of forces acting upon bodies. ... Gospers Glider Gun creating gliders. The Game of Life is a cellular automaton devised by the British mathematician John Horton Conway in 1970. ... In fluid mechanics, an incompressible fluid is a fluid whose density (often represented by the Greek letter &#961;) is constant: it is the same throughout the field and it does not change through time. ... The Navier-Stokes equations, named after Claude-Louis Navier and George Gabriel Stokes, are a set of equations which describe the motion of fluid substances such as liquids and gases. ... In physics, lattice gauge theory is the study of the behaviour of lattice model gauge theories. ... In computer vision, segmentation refers to the process of partitioning a digital image into multiple regions (sets of pixels). ... In mathematics, a level set of a real-valued function f of n variables is a set of the form { (x1,...,xn) | f(x1,...,xn) = c } where c is a constant. ... negron305 Cat scan redirects here. ... The Fast Fourier Transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse. ... HDR Tone Mapping Example Tone mapping is a computer graphics technique used to approximate the appearance of high dynamic range images in media with a more limited dynamic range. ... This article or section does not cite its references or sources. ... GPU may stand for: Graphics processing unit, a special stream processor used in computer graphics hardware Gosudarstvennoye Politicheskoye Upravlenie (Главное Политическое Управление, or Main Political Directorate) of the Red Army, responsible for troops morale and propaganda. ... Digital signal processing (DSP) is the study of signals in a digital representation and the processing methods of these signals. ... Analog signal processing is any signal processing conducted on analog signals. ... Speech processing is the study of speech signals and the processing methods of these signals. ... Digital image processing is the use of computer algorithms to perform image processing on digital images. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ... iDCT is an acronym for inverse Discrete Cosine Transform, a transformation step commonly used in software that works with different multimedia formats such as MP3, Vorbis, MPEG or JPEG. One-dimensional iDCT can be thought of as moving a digitized signal from the frequency domain into the time domain, but... In computer science and information theory, Huffman coding is an entropy encoding algorithm used for lossless data compression. ... This article or section is in need of attention from an expert on the subject. ... Context-adaptive binary arithmetic coding (CABAC) is a form of entropy coding used in H.264/MPEG-4 AVC video encoding. ... Deinterlacing is the process of converting interlaced video (a sequence of fields) into a non-interlaced form (a sequence of frames). ... A ray traced scene. ... Global illumination algorithms used in 3D computer graphics are commonly used to add realistic lighting to 3D scenes. ... A crystal ball with caustics In computer graphics, photon mapping is a global illumination algorithm developed by Henrik Wann Jensen that solves the rendering equation. ... Radiosity is a global illumination algorithm used in 3D computer graphics rendering. ... Three dimensional object with subsurface scattering Subsurface scattering (or SSS) is a mechanism of light transport in which light penetrates the surface of a translucent object, is scattered by interacting with the material, and exits the surface at a different point. ... The light cycles from the movie Tron were constructed using Constructive Solid Geometry Constructive solid geometry (CSG) is a technique used in solid modeling. ... In physical simulations, video games and computational geometry, collision detection includes algorithms from checking for intersection between two given solids, to calculating trajectories, impact times and impact points in a physical simulation. ... Modern weather predictions aid in timely evacuations and potentially save lives and property damage Weather map of Europe, 10 December 1887 Weather forecasting is the application of science and technology to predict the state of the atmosphere for a future time and a given location. ... Global warming refers to the increase in the average temperature of the Earths near-surface air and oceans in recent decades and its projected continuation. ... Molecular modelling is a collection of techniques to model or mimic the behaviour of molecules. ... Computer vision is the science and technology of machines that see. ... Digital signal processing (DSP) is the study of signals in a digital representation and the processing methods of these signals. ... Signal processing is the processing, amplification and interpretation of signals, and deals with the analysis and manipulation of signals. ... Control engineering is the engineering discipline that focuses on the mathematical modelling systems of a diverse nature, analysing their dynamic behaviour, and using control theory to make a controller that will cause the systems to behave in a desired manner. ... A neural network is an interconnected group of neurons. ... This article is about computing. ... Lattice Boltzmann methods or LBM are CFD methods for fluid simulation. ... The German Lorenz cipher machine, used in World War II for encryption of very high-level general staff messages Cryptography (or cryptology; derived from Greek κρυπτός kryptós hidden, and the verb γράφω gráfo write or λεγειν legein to speak) is the study of message secrecy. ... Cryptanalysis (from the Greek kryptós, hidden, and analýein, to loosen or to untie) is the study of methods for obtaining the meaning of encrypted information, without access to the secret information which is normally required to do so. ...

References

  1. ^ Mapping computational concepts to GPUs: Mark Harris. Mapping computational concepts to GPUs. In ACM SIGGRAPH 2005 Courses (Los Angles, California, July 31 - August 04, 2005). J. Fujii, Ed. SIGGRAPH '05. ACM Press, New York, NY, 50.
  2. ^ Double precision on GPUs (Proceedings of ASIM 2005): Dominik Goddeke, Robert Strzodka, and Stefan Turek. Accelerating Double Precision (FEM) Simulations with (GPUs). Proceedings of ASIM 2005 - 18th Symposium on Simulation Technique, 2005.
  3. ^ http://www.tgdaily.com/2007/02/16/nvidia_cuda/
  4. ^ http://developer.download.nvidia.com/compute/cuda/0_8/NVIDIA_CUDA_SDK_releasenotes_readme_win32_linux.zip
  5. ^ a b GPGPU survey paper: John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Tim Purcell. "A Survey of General-Purpose Computation on Graphics Hardware". Computer Graphics Forum, volume 26, number 1, 2007, pp. 80-113.

See also

“GPU” redirects here. ... This table contains general information about ATIs GPUs and videocards based on official ATI specifications. ... This table contains general information about NVIDIAs GPUs and videocards based on official NVIDIA specifications. ... In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refer to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware. ... A graphics/video/display card/board/adapter is a computer component designed to convert the logical representation of visual information into a signal that can be used as input for a display medium. ... For other uses, see Event Stream Processing. ... Lib Sh is a metaprogramming language for programmable GPUs. ... BrookGPU is the Stanford University Graphics groups compiler and runtime implementation of the Brook stream programming language for using modern graphics hardware for non-graphical, or general purpose computations. ... A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... Classical mechanics is a model of the physics of forces acting upon bodies. ... CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ... GPU may stand for: Graphics processing unit, a special stream processor used in computer graphics hardware Gosudarstvennoye Politicheskoye Upravlenie (Главное Политическое Управление, or Main Political Directorate) of the Red Army, responsible for troops morale and propaganda. ... The acronym PPU can refer to: Physics Processing Unit - a dedicated physics microprocessor used in several modern video game consoles. ... A Physics Processing Unit (PPU) is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. ... The Open Physics Abstraction Layer (OPAL) is an open source realtime physics engine API similar to PAL. It was originally supported only by ODE, but should be extendable to run off of multiple engines. ... Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ... Cross-platform is a term which can refer to computer programs, operating systems, computer languages, programming languages, or other computer software and their implementations which can be made to work on multiple computer platforms. ... A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance. ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ... This article is about the physics engine. ... A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... A software development kit (SDK or devkit) is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar. ... PhysX can refer either to a proprietary realtime physics engine middleware SDK developed by AGEIA (formerly known as the NovodeX SDK) or their PPU expansion card designed to accelerate that SDK. Middleware physics engines allow game developers to avoid writing their own code to handle the complex physics interactions possible... In computer science, real-time computing (RTC) is the study of hardware and software systems which are subject to a real-time constraint—i. ... A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... A software development kit (SDK or devkit) is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar. ... Ageia, founded in 2002, is a fabless semiconductor company. ... Ageia, founded in 2002, is a fabless semiconductor company. ... A Physics Processing Unit (PPU) is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. ... This articles Limitations section does not cite any references or sources. ... Advanced Micro Devices, Inc. ... ATI may stand for: ATI Technologies Inc. ... GPU may stand for: Graphics processing unit, a special stream processor used in computer graphics hardware Gosudarstvennoye Politicheskoye Upravlenie (Главное Политическое Управление, or Main Political Directorate) of the Red Army, responsible for troops morale and propaganda. ... “ATI” redirects here. ... This article does not cite any references or sources. ... NVIDIA Corporation (NASDAQ: NVDA) (pronounced IPA: ) is a U.S. corporation specializing in the manufacture of graphics processors (graphics processing units, GPUs) technologies for workstations, desktop computers, and handhelds. ... GPU may stand for: Graphics processing unit, a special stream processor used in computer graphics hardware Gosudarstvennoye Politicheskoye Upravlenie (Главное Политическое Управление, or Main Political Directorate) of the Red Army, responsible for troops morale and propaganda. ... NVIDIA Corporation (NASDAQ: NVDA) is a major supplier of graphics processors (graphics processing units, GPUs), graphics cards, and media and communications devices for PCs and game consoles (Xbox). ... A sound card is a computer expansion card that can input and output sound under control of computer programs. ...

External links


  Results from FactBites:
 
GPGPU (1296 words)
In this paper, an overview of recent advances in programmable GPUs is presented, with an emphasis on their application to molecular mechanics simulations and the programming techniques required to obtain optimal performance in these cases.
This workshop is geared towards astrophysicists wishing to learn GPGPU (specifically, CUDA) techniques and port their code to GPUs.
The speedup is around a factor of 4-10 depending on the GPU model relative to SSE optimized code on a Pentium 4.
Dominik Göddeke -- GPGPU Tutorials (0 words)
For two vectors x and y of length N and a scalar value alpha, we want to compute a scaled vector-vector addition: y = y + alpha * x.
The saxpy() operation requires almost no background in linear algebra, and serves well to illustrate all entry-level GPGPU concepts.
They answered all my questions patiently, and without them, starting to work in the GPGPU field (and consequently, writing this tutorial) would have been impossible.
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m