Content deleted Content added
→{{Anchor|AMDKFD|HQ|HMM}}Software support: add acro (in use in ref) |
No edit summary |
||
Line 10:
}}</ref> HSA allows programs to use the graphics processor for [[floating point]] calculations without separate memory or scheduling.<ref>{{cite web |title=Heterogeneous system architecture: Multicore image processing using a mix of CPU and GPU elements |website=Embedded Computing Design |url=http://embedded-computing.com/articles/heterogeneous-processing-using-mix-cpu-gpu-elements/ |accessdate=23 May 2014}}</ref>
==
The rationale behind HSA is to ease the burden on programmers when offloading calculations to the GPU. Originally driven solely by AMD and called the FSA, the idea was extended to encompass processing units other than GPUs, such as other manufacturers' [[digital signal processor|DSPs]], as well.
Line 28:
Modern GPUs are very well suited to perform [[single instruction, multiple data]] (SIMD) and [[single instruction, multiple threads]] (SIMT), while modern CPUs are still being optimized for branching. etc.
==
{{Refimprove section|date=May 2014}}
Originally introduced by [[embedded system]]s such as the [[Cell Broadband Engine]], sharing system memory directly between multiple system actors makes heterogeneous computing more mainstream. Heterogeneous computing itself refers to systems that contain multiple processing units{{snd}} [[central processing unit]]s (CPUs), [[graphics processing unit]]s (GPUs), [[digital signal processor]]s (DSPs), or any type of [[application-specific integrated circuit]]s (ASICs). The system architecture allows any accelerator, for instance a [[GPU|graphics processor]], to operate at the same processing level as the system's CPU.
Line 60 ⟶ 59:
Mobile devices are one of the HSA's application areas, in which it yields improved power efficiency.<ref name="gpuscience" />
===
The block diagrams below provide high-level illustrations of how HSA operates and how it compares to traditional architectures.
Line 87 ⟶ 86:
{{Clear}}
==Software support{{Anchor|AMDKFD|HQ|HMM}}
[[File:Linux AMD graphics stack.svg|thumb
| url = https://www.phoronix.com/scan.php?page=news_item&px=MTc0NTk
| title = AMDKFD Driver Still Evolving For Open-Source HSA On Linux
Line 117 ⟶ 116:
{{Clear}}
==
▲=== AMD ===
{{As of|2015|2}}, only AMD's "Kaveri" A-series APUs (cf. [[List of AMD Accelerated Processing Unit microprocessors#"Kaveri" (2014, 28 nm)|"Kaveri" desktop processors]] and [[List of AMD Accelerated Processing Unit microprocessors#"Kaveri" 2014, 28 nm|"Kaveri" mobile processors]]) and Sony's [[PlayStation 4]] allowed the [[Graphics processing unit#Integrated_graphics|integrated GPU]] to access memory via version 2 of the AMD's IOMMU. Earlier APUs (Trinity and Richland) included the version 2 IOMMU functionality, but only for use by an external GPU connected via PCI Express.{{Citation needed|date=June 2016}}
Line 126 ⟶ 124:
{{AMD APU features}}
===
ARM's [[Bifrost (microarchitecture)|Bifrost]] microarchitecture, as implemented in the Mali-G71,<ref>{{cite web |url=http://www.anandtech.com/show/10375/arm-unveils-bifrost-and-mali-g71/5 |title=ARM Bifrost GPU Architecture |date=2016-05-30}}</ref> is fully compliant with the HSA 1.1 hardware specifications. {{As of|2016|6}}, ARM has not announced software support that would use this hardware feature.
==
{{Commons category}}▼
* [[General-purpose computing on graphics processing units]] (GPGPU)
* [[Non-Uniform Memory Access]] (NUMA)
Line 138 ⟶ 134:
* [[Zero-copy]]
==
{{Reflist|30em}}
==
▲{{Commons category}}
* {{YouTube|id=ln8JpfaLvbM|title=HSA Heterogeneous System Architecture Overview}} by Vinod Tipparaju at [[ACM/IEEE Supercomputing Conference|SC13]] in November 2013
* [http://www.mpsoc-forum.org/previous/2013/slides/8-Hegde.pdf HSA and the software ecosystem]
|