Talk:General-purpose computing on graphics processing units
This is the talk page for discussing improvements to the General-purpose computing on graphics processing units article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
![]() | This ![]() It is of interest to the following WikiProjects: | ||||||||||
|
![]() | This article was nominated for merging with General-purpose computing on graphics processing units (hardware) on 03:52, 14 August 2025 (UTC). The result of the discussion (permanent link) was merge. |
![]() | On 09:15, 22 August 2025 (UTC), it was proposed that this article be moved from General-purpose computing on graphics processing units (software) to General-purpose computing on graphics processing units. The result of the discussion was moved. |
Updated
[edit]Updated the page to include a basic overview of GPGPU - history and techniques, as well as some more applications. More detail could be added to all the techniques, and the data structures need to be expanded. Applications could also be added and more detail about important/common ones could be added. Echeslack 19:01, 13 December 2005 (UTC)
I noticed there's plenty of detail for stream processing. I believe some of this should actually be moved to the ad-hoc article. Streams, kernels, flow control, map, scatter/gather and such seems to be good candidates. I'll take a memo about this. MaxDZ8 talk 09:07, 9 May 2006 (UTC)
Data types
[edit]8 bits per pixel - Palette mode, where each value is an index into 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.
this bit allocation does not make sense for pallete mode. Should we remove that phrase? --Diego 14:38, 13 June 2006 (UTC)
I rephrased it. Joe 09:22 June 29 2011
- I'd also contest that the bit allocation is inaccurate. Given the sensitivity of the human eye to different colours, it's far more likely that any fixed bit-per-channel allocation would be 3-3-2, with blue only having 4 levels (2 bits) and the other two components having 8. Though in practice, isn't a 216 colour evenly-spread "web safe"-type scheme (6 levels per channel with no direct correlation between channels and bits) more common in the fairly rare examples of a 3D accelerator outputting in less than 15 bpp but not using a completely custom (eg as found in Quake et al) palette? 193.63.174.211 (talk) 13:37, 11 January 2012 (UTC)
Languages
[edit]what about creating a section containing OpenGL Shading Language and related?
- There's a page on shading languages which would need some work. I think it would be better to put the thing there.
- MaxDZ8 talk 21:53, 13 June 2006 (UTC)
- Well, gpgpu have been using glsl much more than hlsl, so it's a bit strange that it isn't mentioned at all. —Preceding unsigned comment added by 128.39.210.208 (talk) 12:32, 23 April 2010 (UTC)
how does this all relate to OpenCL etc - the article seems overly full of references to Microsoft's DirectX when there are other competing technologies out there. [edit] APIs — Preceding unsigned comment added by 78.150.136.155 (talk) 11:58, 15 July 2011 (UTC)
Programmability
[edit]"The programmability of the pipelines have trended according the Microsoft’s DirectX specification, 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. " This sentence make no sense what so ever, 'trended' is a strange verb to use here (or indeed anywhere) and the rest is non grammatical anyhow. Did the author want to say something like "have followed the DirectX specification?".
how does this all relate to OpenCL etc - the article seems overly full of references to Microsoft's DirectX when there are other competing technologies out there.
Long story short: CL is the newcomer to all of this and there's no chance (or very little chance) to rephrase the above without referencing to D3D or some DirectX ecosystem. Direct3D is the only API I know with clear and (often) explicit definition of the concepts referred in the above statements. Writing the same in terms of OpenGL would be possible but extremely verbose in the best case and just plain out impossible in some other cases (such as single-float blending, of which GL had no notion at all last time I checked). When it comes to OpenCL the situation is slightly better (I have been told so) but in the end, its approach it's very similar to GL and has no chance to scale back to anything that is not at least Shader Model 4 (maybe 3) in functionality. — Preceding unsigned comment added by MaxDZ8 (talk • contribs) 14:37, 25 July 2011 (UTC)
- What I take from that phrase is that graphics chip / card manufacturers have concentrated on adding features to their GPUs - both those useful for GLGPU, and for "normal" graphics - that move them further up the DirectX version ladder, sometimes at the expense of the features which don't. It improves both their saleability, compatibility and longevity. So to get an idea of what features next years' GPUs may have, take a look at Microsoft's DirectX roadmap... 193.63.174.211 (talk) 13:40, 11 January 2012 (UTC)
APIs
[edit]I'm brand new to GPGPU, but I think frameworks such as Lib Sh, BrookGPU and the Microsoft Research Accelerator Project[1] should be mentioned somehow... —Disavian (talk/contribs) 17:07, 27 October 2006 (UTC)
Move
[edit]I disagree with the move proposal; GPGPU is more than just a subset of stream processing. Also, the stream processing article is too long, and should probably have pages broken out of it, instead of having more content merged into it. —Disavian (talk/contribs) 01:57, 6 November 2006 (UTC)
Conditionally support. Not the whole article shall be merged. The section on kernels, for example, should. The section on data types should not.
MaxDZ8 talk 08:15, 6 November 2006 (UTC)
I concur. However, some of this article should be moved out. A lot of this article is talking about various normal functions of the GPU which have little or nothing to do with GPGPU. This requires a more general treatment, and ought to include more information and citations on actual examples of its use. This article could also use a good deal of organization =\. --24.98.124.237 12:34, 9 December 2006 (UTC)Haplo
And who is doing it? Takomat 2nd of March 2007
- This article is poorly organized but it certainly is separate from stream processing. It could benefit from summarizing concepts in stream processing, GPU, etc and referencing appropriately. Potatoswatter 19:35, 7 April 2007 (UTC)
"a recent trend in computer science"
[edit]The phrase in the intro "a recent trend in computer science": it's not really anything at all new in computer science at all, is it? Much more computer engineering. Though not just software engineering. (Though "computer science" itself is closer to engineering than science a lot of the time.) The Computer engineering article is about hardware engineering and I suspect wouldn't be the right term to put in the intro. Computer programming isn't the perfect choice either. Ideas? - David Gerard 09:47, 7 September 2007 (UTC)
I agree this would need way more attention... I support your idea since CS usually doesn't even speak about the hardware. I'm not even sure it's the case to call for engineering: this would also be controversial, it's more an application design choice than anything else...
For the time being, I am modifying the page by removing the reference.
MaxDZ8 talk 06:35, 8 September 2007 (UTC)
Suitable decoration?
[edit]Is there a suitable image for this article? A photo, some block diagrams? I just thought it could do with some decoration :-) - David Gerard 09:49, 7 September 2007 (UTC)
Based on my awful experience with the shaders page, there's not. Furthermore, looks like editors run away when having to deal with diagrams. Someone shall really do that, Inkscape is your friend.
MaxDZ8 talk 06:35, 8 September 2007 (UTC)
Missing link
[edit]This article is definitely remiss for not mentioning or linking to NVIDIA Tesla Raul654 05:44, 6 November 2007 (UTC)
Software portability
[edit]A few questions that I was left wondering after reading the article:
- Is code written for CPU processors (eg i386) easily ported to GPUs or is major redesign necessary. (CPU->GPU)
- Is code written for one GPU portable to another? (GPU1->GPU2)
- Are there any GPU programming standards?
Pgr94 11:21, 14 November 2007 (UTC)
Note: I've changed the comment to a numbered list for better tracking.
- Generally redesign is required. Some simple pieces can be ported pretty easily, possibly at sub-optimal performance. In general, re-targeting requires to change not just the implementation but the algorithm itself and the surrounding application. This is a typical weak point of vector-based engines.
- Yes, if you mean for example GLSL, compiled HLSL bytecode or another intermediate language. Differently from CPUs, in which you can copy per-byte the real executable with a high chance of getting it to work on another model, GPU code must generally be recompiled. Compatibility is not guaranteed even in different models of the same family, let alone vendors.
- Yes, you may have heard of shading languages. They're the backbone of all other language but a few ones.
MaxDZ8 talk 16:55, 19 November 2007 (UTC)
Only interesting for floating-point / arithmetic applications?
[edit]The article says it is important for applications to have high arithmetic intensity - does this mean that non-arithmetic applications are not well-suited to GPGPU's? Pgr94 11:25, 14 November 2007 (UTC)
No, it means that the more compute-heavy is the algo, the more it will benefit. Current (and previous) GPUs however also have way higher bandwidth compared to CPUs on typical mainboards so the gain is substantial even if the algorithm is bandwidth-bound.
In both cases however it is important for each algo "step" to be long enough. Some algorithms do not do enough work per-step to benefit because going from step n to n+1 is typically an expensive operation.
MaxDZ8 talk 17:02, 19 November 2007 (UTC)
GL Shader
[edit]All this text, and not a single mention of OpenGL Shading Language? Insensitive Clods! -Anonymous Coward —Preceding unsigned comment added by 65.24.75.114 (talk) 04:45, 5 February 2008 (UTC)
Yeah. What is this? An article on DirectX? DirectX gets mentioned over and over, but OpenGL doesn't. And it also turns into a version number fest listing each shader model added in different DirectX revisions... Supertin (talk) 08:47, 3 August 2008 (UTC)
Real-time
[edit]Removed a vague mention in the introduction of a (technically questionable) connection with real-time computing. Neither article expands on this connection. If it's legitimate, it should be explained in the body of the article. Bryan Silverthorn (talk) 14:41, 30 March 2008 (UTC)

A proposed deletion template has been added to the article Lib Sh, suggesting that it be deleted according to the proposed deletion process. All contributions are appreciated, but this article may not satisfy Wikipedia's criteria for inclusion, and the deletion notice should explain why (see also "What Wikipedia is not" and Wikipedia's deletion policy). You may prevent the proposed deletion by removing the {{dated prod}}
notice, but please explain why you disagree with the proposed deletion in your edit summary or on its talk page.
Please consider improving the article to address the issues raised because even though removing the deletion notice will prevent deletion through the proposed deletion process, the article may still be deleted if it matches any of the speedy deletion criteria or it can be sent to Articles for Deletion, where it may be deleted if consensus to delete is reached. Do you want to opt out of receiving this notice? —Disavian (talk/contribs) 21:15, 10 June 2008 (UTC)
Graphics Specific Applications
[edit]It seems to me that Digital image processing, Video Processing, Raytracing, Global illumination and Geometric computing all fall under the normal use of a graphics processing unit and thus do not qualify to be listed on this articles' page as general purpose computing applications. I suggest that they be removed from the list. Bkessler (talk) 02:32, 28 July 2008 (UTC)
Given normal operation, GPU's are used for displaying arbitrary 2d or 3d images onto the user's screen.
In 3D rendering those operations are performed; but they are not the end goal. The result of the computation will be lost save for an image on screen. In general purpose processing; the result of (for example) a ray trace may be used in other ways. Nidomedia (talk) 12:25, 26 March 2009 (UTC)
Relative performance
[edit]Given that people go to the effort of implementing algorithms on a GPU are doing so because of potential speed improvements some comments on the relative performance level of specific algorithms. -- for example the folowing evaluation showing up to 30x speedup for large problems (the paper concludes that the large problem is still limited by overheads).
Intel Core 2 Duo E6750 Vs GeForce GTX 280 (G200 chip).[1]
Number of variables | Mflops on Intel Core 2 Duo E6750 | Mflops on Nvidia GTX 280 | speedup |
---|---|---|---|
16, 641 | 1405 | 2788 | 2.3x |
66, 049 | 1114 | 8086 | 7.8x |
263, 169 | 886 | 15179 | 17.4x |
1, 050, 625 | 805 | 21406 | 26.9x |
They also estimate performance per watt improvements of 11.5 and performance per euro increase of about 16.
For other applications speedups of >60 have been reported[2].
Andy t roo (talk) 01:27, 16 September 2008 (UTC) (Andrew Hill)
Performance speedups are dependent mostly on possible parallelism and implementation. Schiwietz et al report in "mr image reconstruction using the gpu" an 128x improvement in using a GPU instead of a CPU for CT reconstruction. However; Kachelreiss et al's has a version of the same reconstruction algorithm which runs twice as fast on an intel CPU as Schiwietz et al's gpu version; even though he was optimising for the CBE (Hyperfast parallel-beam and cone-beam backprojection using the cell general purpose hardware) Nidomedia (talk) 12:43, 26 March 2009 (UTC)
References
Integer processing
[edit]Is GPGPU applicable to integer processing tasks as well as floating point? The article doesn't mention, but it seems like a rather important point. Or perhaps it does explain it, but not to someone that doesn't already understand the topic thoroughly. - Taxman Talk 13:29, 27 August 2009 (UTC)
- Yes, GPUs have had the capability to work with integers with all the normal operators since DirectX 10 (Shader Model 4.0) came. See The Direct3D 10 System by David Blythe for example.
- Also, GPGPU has been used for accelerating encryption/decryption as well which are exclusively integer math (lots of modulo and xor operations for example). - 85.30.174.234 (talk) 14:44, 21 July 2010 (UTC) Christian
GPU computing
[edit]Who originated this term? Whose baby was it? The lede does not say. As acronyms go, this is a particularly crummy one, invented by a dyslexic in training of the GPG/PGP or MediaWiki/WikiMedia school of obfuscation (at least GPG had humour).
Why can't this article be called instead GPU computing? This is a clearer term and less likely to confuse the uninitiated. Changing the name of the article might help alleviate the technology bundle gridlock which this article suffers from. I think of GPGPU as a hardware design movement (or banner thereof), and GPU computing as the reality that has now come to pass. — MaxEnt 04:56, 1 May 2010 (UTC)
- Looked around some more and found this: The term GPGPU was coined and GPGPU.org was founded by Mark Harris in 2002 when he recognized an early trend of using GPUs for non-graphics applications.
- My opinion remains that we should hold a competition for the best backronym of PGPGU, have a laugh, call it a day, and rename the article to something more comprehensible to the average lay-person. — MaxEnt 05:12, 1 May 2010 (UTC)
- The book Programming Massively Parallel Processors by Kirk and Hwu suggests that GPU computing is the general term and GPGPU refers to a special type. I preferred the non-jargonistic "GPU computing" to the acronym GPGPU. I kind of wish I had moved the article to "GPU computing" rather than creating a redirect from "GPU computing". Perhaps the article should still be renamed. Jason Quinn (talk) 00:25, 14 July 2011 (UTC)
GPU programming libraries/layers section is missing the Kappa Library
[edit]The Kappa Library is missing from "GPU programming libraries/layers". It is an object-oriented Producer/Consumer scheduler library on top of CUDA and OpenMP from Psi Lambda LLC (my company--full disclosure).
—Preceding unsigned comment added by Psilambda (talk • contribs) 20:20, 8 July 2010 (UTC)
I don't think it should be mentioned if it's on top of CUDA. Those are layers for interface with hardware. Serg3d2 (talk) 08:40, 31 January 2012 (UTC)
binary format
[edit]If you disassemble a typical cpu program you get a list of cpu opcodes starting from an entry point such as a main() function. What exactly happens when the program wants to transfer to the gpu (whether stored in the program itself or a library like a DLL)? I think this is important to add to the article but i can't find it elsewhere on WP. —Preceding unsigned comment added by 58.152.239.68 (talk) 07:34, 1 August 2010 (UTC)
It does not work even remotely like you expect. The program does not 'jump' into a kernel. The explanations you are searching for are to be inferred from various articles involving the API of choice. As an extreme appoximation you could think at the GPU as another processor churning the kernel you give to it. You can change the kernel using the appropriate API infrastructures and 'it will run' when certain conditions are met. Because opcodes are just data, they can be stored either in the program itself as data blobs, or in an external resource which has nothing to do with DLLs. OpCodes sent to GPU do not connect with CPU code in any way (at best, the results can be connected using appropriate calls).
Also see "Software Portability".
MaxDZ8 talk 13:12, 2 August 2010 (UTC)
Ref 22 has dead link
[edit]I'm new to editing wiki pages and not sure how to fix this so I'm mentioning it here until I can figure it out or someone else does it.
Ref 22 has dead/broken link. — Preceding unsigned comment added by Abdd0e77 (talk • contribs) 14:58, 28 May 2013 (UTC)
Computing any computable value
[edit]I just removed this from the lede:
- Any GPU providing a functionally complete set of operations performed on arbitrary bits can compute any computable value.
For a suitable definition of "computable value" (and some stretching of the notion of functional completeness), this is a tautology. It's not saying anything about GPUs. QVVERTYVS (hm?) 11:50, 25 August 2014 (UTC)
External links modified
[edit]Hello fellow Wikipedians,
I have just added archive links to one external link on General-purpose computing on graphics processing units. Please take a moment to review my edit. If necessary, add {{cbignore}}
after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}}
to keep me off the page altogether. I made the following changes:
- Added archive https://web.archive.org/20130616205308/http://openhmpp.org/ to http://www.openhmpp.org/
When you have finished reviewing my changes, please set the checked parameter below to true to let others know.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—cyberbot IITalk to my owner:Online 23:35, 11 February 2016 (UTC)
External links modified
[edit]Hello fellow Wikipedians,
I have just modified one external link on General-purpose computing on graphics processing units. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive https://web.archive.org/web/20100927155948/http://www.hpcwire.com/features/MATLAB-Adds-GPGPU-Support-103307084.html to http://www.hpcwire.com/features/MATLAB-Adds-GPGPU-Support-103307084.html
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 18:01, 9 September 2017 (UTC)
External links modified
[edit]Hello fellow Wikipedians,
I have just modified 3 external links on General-purpose computing on graphics processing units. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive https://web.archive.org/web/20111101184143/http://www.clusterchimps.org/ocltools.html to http://www.clusterchimps.org/ocltools.html
- Added archive https://web.archive.org/web/20051129010626/http://www.gpgpu.org/w/index.php/Main_Page to http://www.gpgpu.org/w/index.php/Main_Page
- Added archive https://web.archive.org/web/20091223141933/http://developer.amd.com/GPU/Pages/default.aspx to http://developer.amd.com/GPU/Pages/default.aspx
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 12:39, 12 October 2017 (UTC)
External links modified
[edit]Hello fellow Wikipedians,
I have just modified one external link on General-purpose computing on graphics processing units. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added
{{dead link}}
tag to http://www.futurechips.org/tips-for-power-coders/basic-technique-to-help-branch-prediction.html - Added archive https://web.archive.org/web/20111105120646/http://www.futurechips.org/chip-design-for-all/cpu-vs-gpgpu.html to http://www.futurechips.org/chip-design-for-all/cpu-vs-gpgpu.html
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 04:48, 26 December 2017 (UTC)
The "emerging technologies" category
[edit]Does this fall under that category any more? I mean, is it still possible to buy a new GPU, integrated or otherwise, that doesn't have some level of OpenCL (or CUDA) support?
Also, in the molecular modelling section:
† Expected speedups are highly dependent on system configuration. GPU performance compared against multi-core x86 CPU socket. GPU performance benchmarked on GPU supported features and may be a kernel to kernel performance comparison. For details on configuration used, view application website. Speedups as per Nvidia in-house testing or ISV's documentation.
Is that a direct copy-paste from NVidia's website, or does someone just really like writing disclaimers? A Shortfall Of Gravitas (talk) 06:17, 27 July 2018 (UTC)
- OpenCL is software. GPUs are hardware. whilst you cannot expect to program a GPU at low-level these days, you don't *actually* need the OpenCL software... strictly. Lkcl (talk) 13:49, 12 August 2025 (UTC)
Updates for MATLAB
[edit]Hi, I work at MathWorks on the Parallel Computing team. Thank you for including MathWorks in this page about GPGPU. There are some updates from 2012, 2017, and 2019 that affect the accuracy of the content.
1. There was a product name change in 2019: MATLAB Distributed Computing Server is now MATLAB Parallel Server (https://www.mathworks.com/products/matlab-parallel-server.html)
2. MathWorks launched a new product for generating CUDA code in 2017: GPU Coder (https://www.mathworks.com/products/gpu-coder.html)
3. ArrayFire discontinued sales of Jacket in 2012: (https://arrayfire.com/blog/tag/jacket/)
We suggest that in the "Implementations" section you change "MATLAB supports GPGPU acceleration using the Parallel Computing Toolbox and MATLAB Distributed Computing Server, and third-party packages like Jacket." to "MATLAB supports GPGPU acceleration using Parallel Computing Toolbox, MATLAB Parallel Server, and GPU Coder."
Thank you for your consideration. (@MaxDZ8 would you be able to help?) OwlCarbonant54 (talk) 21:00, 24 January 2023 (UTC)
GPGPU, improperly defined - a shift entirely defined by cost and retail computer market economies of scale
[edit]The term GPGPU is a reference to the historically contemporaneous state of the computer industry, when it was yet still too expensive for the development of custom and relatively low volume hardware accelerators for use in computational workloads other than graphics. At that point, what accelerators did exist were overwhelmingly based on PowerPC architecture and deployed in nearly or completely custom 1 off "Mainframe" style supercomputer or HPC systems. GPUs were growing increasingly important, not only in consumer client gaming and multimedia systems, but also in the content creation and professional applications of certain types (NOTE: Prior to then, All-CPU video editing and rendering, audio mastering and mixing, graphic arts, and other familiar GPU usage cases were the standard). Eventually GPUs became powerful and capable enough to become attractive as economical accelerator offloads for general usage in fixed-footprint racks or as upgrades in server or workstation environments. But critically this paradigm shift was entirely an economical/cost based shift that took the actual price of the hardware into consideration. In fact, the GPGPU paradigm shift arguably included "Professional" and "Consumer" product stack pricing differentiation of the GPUs themselves, 2600:387:15:1C13:0:0:0:A (talk) 00:57, 17 May 2025 (UTC)
- also I know of a company around 2012 which created a VLIW GPGPU product, I wish I could remember it's name (strokes damaged my memory). it was a Chinese HK company, one of the founders of SGI named Simon was also a VLIW compiler expert, they got a 400 mhz early demo/prototype processor to do 1600 mhz of computation because it was VLIW (!) targeted at video and graphics it was definitely a CPU which happened to be a***-hot at video. Lkcl (talk) 11:57, 12 August 2025 (UTC)
- ICubeCorp! remembered it. the SoC was called the IC3128. Lkcl (talk) 13:50, 12 August 2025 (UTC)
- wow that is freaky, the only thing I can find on the IC3128 is my own posts. holy cow. http://rhombus-tech.net/icubecorp/IC1T/news/ Lkcl (talk) 13:54, 12 August 2025 (UTC)
- website's still going, just in Chinese only. https://icubecorp.cn Lkcl (talk) 14:04, 12 August 2025 (UTC)
- wow that is freaky, the only thing I can find on the IC3128 is my own posts. holy cow. http://rhombus-tech.net/icubecorp/IC1T/news/ Lkcl (talk) 13:54, 12 August 2025 (UTC)
- ICubeCorp! remembered it. the SoC was called the IC3128. Lkcl (talk) 13:50, 12 August 2025 (UTC)
Vectorization section no sources, overstating
[edit]"Most operations on the GPU operate in a vectorized fashion: one operation can be performed on up to four" is an uncited claim. most GPUs are proprietary. also just because the ISA exposes an API of 4-wide SIMD does not mean that internals are the same. Broadcom VideoCore IV offered 16-wide FPMAC but internally broke that down into 4of pipelined 4-wide SIMD. Lkcl (talk) 10:32, 13 July 2025 (UTC)
okayyy.... great article but definitely needs citing / tidy
[edit]this is a really comprehensive article, some fantastic tables, really useful info BUT, it's something of a.. it's... how can I put it best... fragmented? it needs tying in to other pages, clarifying and so on. i just added a link to Tiled rendering for example and clarified on the problems associated with GPU workloads (memory latency being key). will slowly get on it. Lkcl (talk) 12:00, 12 August 2025 (UTC)
Flow control section misleading
[edit]the person describing flow control in SIMT, which is what modern GPUs are, does not understand the architectural details. it's understandable: very few people do, but it is misleading. Lkcl (talk) 13:47, 12 August 2025 (UTC)
eurrgh there do exist GPGPUs
[edit]Collapising inappropraite commentary and uncivil behavior
|
---|
WARNING - DUE TO DOMESTIC VIOLENCE AND TORTURE IT IS CRITICAL TO FOLLOW GOOD FAITH PRACTICE WHEN INTERACTING WITH ME. I HAVE MEDICAL CONDITIONS THAT WERE EXACERBATED BY TORTURE AND CAN RESULT IN SEVERE ANAPHYLACTIC SHOCK. THIS IS NOT A JOKE. PLEASE FOLLOW GOOD FAITH PROCEDURES and we will get on fine. |
I never heard of GPGPU as a *software* concept. the ICubeCorp IC3128 was a GPGPU. as in: *hardware*. this entire page is going to have to move to a disambiguation page. argh. Lkcl (talk) 14:08, 12 August 2025 (UTC)
- moved. redirect stubs to disambiguation but hidden as a redirect Lkcl (talk) 18:39, 12 August 2025 (UTC)
- Hardware GPGPU page is done, a semi-stub for now but good enough to illustrate that GPGPU is *not* a software-exclusive concept https://en.m.wikipedia.org/w/index.php?redirect=no&title=General-purpose_computing_on_graphics_processing_units_(hardware) Lkcl (talk) 17:02, 13 August 2025 (UTC)
- I requested a reversion of the unilateral deletion of the disambiguation page, see https://en.m.wikipedia.org/w/index.php?title=Wikipedia:Requested_moves/Technical_requests&oldid=1305712643 Lkcl (talk) 17:24, 13 August 2025 (UTC)
- https://en.m.wikipedia.org/wiki/Wikipedia:Requested_moves/Technical_requests#c-Lkcl-20250814024100-Bkonrad-20250813172900 Lkcl (talk) 02:42, 14 August 2025 (UTC)
- https://en.wikipedia.org/wiki/Wikipedia:Requested_moves/Technical_requests#c-Lkcl-20250814014900-Bkonrad-20250813172900 Lkcl (talk) 01:52, 14 August 2025 (UTC)
- Hardware GPGPU page is done, a semi-stub for now but good enough to illustrate that GPGPU is *not* a software-exclusive concept https://en.m.wikipedia.org/w/index.php?redirect=no&title=General-purpose_computing_on_graphics_processing_units_(hardware) Lkcl (talk) 17:02, 13 August 2025 (UTC)
The request over at WP:RMTR has been completed to restore the undiscussed move. good faith. TiggerJay (talk) 03:20, 14 August 2025 (UTC)
Linear Algebra
[edit]TODO look at ILLIAC IV documentation. iirc there was linear algebra mentioned, circa 1970. Lkcl (talk) 18:38, 12 August 2025 (UTC)
GPGPU redirects
[edit]there are now 12(?) aliases to the GPGPU DAB page, all of which need careful thought and review. https://en.wikipedia.org/wiki/Special:WhatLinksHere/General-purpose%20computing%20on%20graphics%20processing%20units?hidelinks=1&hidetrans=1&hideimages=1 i am currently going systematically through them. i've also linked to the GPGPU-hardware page in a template that was dropping *hundreds* of links to GPGPU (hardware term). still a lot of work needed due to long-term accidental use of the same phrase in disparate communities Lkcl (talk) 09:16, 14 August 2025 (UTC)
- this redirect is tricky to classify https://en.m.wikipedia.org/w/index.php?title=Talk%3AApplications_of_graphics_processing_units# Lkcl (talk) 09:36, 14 August 2025 (UTC)
- oof. done with the exception of "Applications". on reflection this one *might* be straightforward as, well, what else would you use a GPU for?? running bananas? :) of course they run Applications :) Lkcl (talk) 11:34, 14 August 2025 (UTC)
- goodness me this is endless! :) another template found to use "GPGPU" ambiguously... https://en.wikipedia.org/w/index.php?title=Template:Emerging_technologies&oldid=1305844924 Lkcl (talk) 11:54, 14 August 2025 (UTC)
- FINALLY! hooray. worked it out. look for "templates using page X" https://en.m.wikipedia.org/wiki/Special:WhatLinksHere?target=General-purpose+computing+on+graphics+processing+units&namespace=10&hidetrans=1&hideredirs=1&limit=50 Lkcl (talk) 12:13, 14 August 2025 (UTC)
- done both - that *should* be the lot. have to come back after template refresh on a *lot* of pages https://en.wikipedia.org/w/index.php?title=Template:Nvidia&oldid=1305848203 Lkcl (talk) 12:23, 14 August 2025 (UTC)
- FINALLY! hooray. worked it out. look for "templates using page X" https://en.m.wikipedia.org/wiki/Special:WhatLinksHere?target=General-purpose+computing+on+graphics+processing+units&namespace=10&hidetrans=1&hideredirs=1&limit=50 Lkcl (talk) 12:13, 14 August 2025 (UTC)
- i needed a way to exclude transclusions: a quick hack on the whatlinkshere help page Help:What_links_here#Workaround_to_hide_transcluded_links says to use "insource" and guess what? a considerable portion of those refer to GPGPU as hardware. https://en.m.wikipedia.org/w/index.php?search=insource%3A%2F%5C%5B%5C%5BGeneral-purpose+computing+on+graphics+processing+units%5C%7C%2F&title=Special%3ASearch&profile=advanced&fulltext=1&ns0=1 Lkcl (talk) 12:50, 14 August 2025 (UTC)
- arrrgh one of these is the Nintendo_Switch which has used "GPGPU (hardware)" to refer to the internal hardware compute units (presumably the number of cores, or the number of specialised shader-units, or possibly even the number of SIMT Processing Elements (see Array processor). bottom line the *entirety of wikipedia* is not just divided on this conflation, but there are page errors as well. this is simply too big a task for one person to fix. no idea how to go from here. Lkcl (talk) 13:02, 14 August 2025 (UTC)
Requested move 14 August 2025
[edit]- The following is a closed discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. Editors desiring to contest the closing decision should consider a move review after discussing it on the closer's talk page. No further edits should be made to this discussion.
The result of the move request was: unanimous consensus to move (non-admin closure) Ophyrius (he/him
T • C • G) 09:15, 22 August 2025 (UTC)
{{requested move/dated|multiple=yes
- General-purpose computing on graphics processing units (software) → General-purpose computing on graphics processing units
- General-purpose computing on graphics processing units → General-purpose computing on graphics processing units (disambiguation)
– Unnecessary disambiguation, hatnote can likely be added to link to the other article since this is a WP:ONEOTHER situation as this article was previously the primary topic. Previous RMUM move was reverted and the reverter agreed that it should not have been reverted. Tenshi! (Talk page) 17:59, 14 August 2025 (UTC)
- Support move of this page back to General-purpose computing on graphics processing units. That was an undiscussed move. I support merge too, and I think the disambiguation can be deleted. Even if there were two pages, which there shouldn't be, there would be no need for a disambiguation page. If the merge proceeds there will be nothing to disambiguate. Sirfurboy🏄 (talk) 19:18, 14 August 2025 (UTC)
- Support per my comments on the other talk page. REAL_MOUSE_IRL talk 10:00, 16 August 2025 (UTC)
- Support per multiple prior discussions in various venues as spurred on by the now INDEF user who requested this move in the first place. TiggerJay (talk) 20:43, 16 August 2025 (UTC)
- Comment @Tenshi! -- might I suggest that this should simply be speedily closed and performed as procedural. Based on the factors surrounding this specific case, and the already clear support, I'm not sure there is anyone who would oppose this move. As the prior mover who performed this move per a now blocked user, this could almost be handed as a RMTR -> reverting undiscussed move. I think the mop work that needs to be done after the collateral damage of this blocked user doesn't need to wait the full 7 days. TiggerJay (talk) 02:25, 17 August 2025 (UTC)
- Support merge. "General Purpose computing on GPUs" is a common phrase that is shortened to GPGPU (for example in Stallings, Computer organization and architecture, 2016). It is not a type of hardware or a type of software, it is an activity in which humans use GPUs for something that they were not originally designed for. It is notable and should have a Wikipedia article, not just a disambiguation page. "GPGPU" is used by some people to mean "General Purpose GPU" (for example in Chien, Computer architecture for scientists, 2022). If there is enough information about them (and I am not sure there is) it could be split out into a linked article of that name. JonH (talk) 13:39, 17 August 2025 (UTC)
- @JonH: Are you sure that you are at the right discussion? The merge discussion is here, this is a RM. Tenshi! (Talk page) 14:11, 17 August 2025 (UTC)
- Honestly, these two discussions are about the same thing, just coming at it from different directions. Lkcl's rushed work here should be undone, is the point. Then, if there is merit to (and consensus for) what they were trying to do, it should be done properly by editors who will take the time to do it all properly. Ivanvector (Talk/Edits) 11:44, 18 August 2025 (UTC)
- It's been over a week now. I have requested close. WP:RM does not seem to allow an involved editor to close a unanimous requested move, which seems a bit odd when this is just unanimous support to undo an undiscussed move. Any uninvolved editor can close this though. Sirfurboy🏄 (talk) 07:55, 22 August 2025 (UTC)
- Honestly, these two discussions are about the same thing, just coming at it from different directions. Lkcl's rushed work here should be undone, is the point. Then, if there is merit to (and consensus for) what they were trying to do, it should be done properly by editors who will take the time to do it all properly. Ivanvector (Talk/Edits) 11:44, 18 August 2025 (UTC)
- @JonH: Are you sure that you are at the right discussion? The merge discussion is here, this is a RM. Tenshi! (Talk page) 14:11, 17 August 2025 (UTC)