Changes

Jump to: navigation, search

GPU

6 bytes removed, 19:49, 7 August 2019
GPGPU
The traditional job of a GPU is to take the x,y,z coordinates of triangles, and map these triangles to screen-space through a matrix multiplication. And as the number of triangles and polygons grew to make more sophisticated models, GPUs would create massively parallel architectures capable of performing hundreds of millions of transformations hundreds of times per second.
These lists of triangles (as well as their colors, textures, reflectivity, and other attributes), were traditionally specified in a graphical language such as DirectX or OpenGL. But video game programmers demanded more and more flexibility from their hardware: such as lighting, transparency, reflections, and particles. GPUs began to provide general purpose computational abilities to allow the This flexibility was granted with full scale programming languages, called vertex shaders or pixel shaders, where graphics programmer programmers can customize the ability to tweak effects and customize themvertex-processing or pixel-processing portions of their graphical code.
Eventually, the graphics fixed-functionality of GPUs disappeared, and GPUs became nothing more than massively parallel general purpose computers. Graphical languages , such as DirectX and OpenGL looked more like a normal programming language, albeit with weird SIMD-behavior and an odd underlying hardware architecture. Still, the graphics languages were not designed for general purpose compute: relying upon still call these capabilities "vertex shaders", or "pixel shaders" and "geometry" shaders to get the job donefor historical purposes. While programming pixel-shaders But to get compute is possibleproperly abstract these general purpose capabilities, it is far easier to modern GPGPU languages have a dedicated language where the programmer can purely think in terms of SIMD Parallel computebeen created.
The These general purpose GPU (GPGPU) languages all have the same goal. : To expose the SIMD-style architecture to the programmer as directly as possible. Different The underlying thought process behind these languages may be the same, but the different approaches have been developed by led to different groups to handle this jobimplementations.
== Khronos OpenCL ==
== AMD Software Overview ==
ROCm + AMDGPU Pro discussion . TBD
== Other 3rd party tools ==

Navigation menu