[QUOTE="tormentos"][QUOTE="ronvalencia"] Again, "Can be used both on discrete GPUs or on the APU." ronvalencia
HSA is a design AMD confirmed that i posted it,and re posted it,on text and even video..It's a no brainer that HSA is a "design" i.e. it's a combined software and hardware architecture.
The current discrete GCNs has support for HSA driver.
From http://www.amd.com/jp/Documents/GCN_Architecture_whitepaper.pdf
Equally important, the cache hierarchy was designed to integrate with x86 microprocessors. The GCN virtual memory system can support 4KB pages, which is the natural mapping granularity for the x86 address space - paving the way for a shared address space in the future. In fact, the IOMMU used for DMA transfers can already translate requests into the x86 address space to help move data to the GPU and this functionality will grow over time. Additionally, the caches in GCN use 64B lines, which is the same size as x86 processors. This sets the stage for heterogeneous systems to transparently share data between the GPU and CPU through the traditional caching system, without explicit programmer control. - page 10
....
The new GCN ISA was designed to facilitate industry standards. AMDs Heterogeneous System Architecture (HSA) is envisioned as a model for heterogeneous computing.
It defines how CPUs and GPUs communicate and includes a virtual ISA (the HSA Intermediate Language), which is hardware agnostic. HSAIL code is dynamically compiled for the underlying hardware, and thus compatible with CPUs and GPUs from any vendor. GCN fully supports HSAIL - page 11.
...
The DMA engines are one area where AMD's experience with x86 microprocessors has paid off. GCN incorporates an I/O Memory Management Unit (IOMMU), which can transparently map x86 addresses for the GPU. This means that the DMA engines in GCN can easily access pageable CPU memory, without the overhead of address translation, to move data. The IOMMU is a step towards tighter heterogeneous integration and will evolve over time.
-------------
For NVIDIA camp. AMD's HSA driver is similar to NVIDIA's TCC driver. TCC driver model is not an open standard.
With NVIDIA's TCC (Tesla Compute Cluster) driver, it enables Fermi (GF100)'s X86-64 unified address features.
For example, NVIDIA also has unified pointer between the host CPU (X86-64) and Fermi (only for device capability 2.0 and TCC driver model). http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDA__UNIFIED.html
TCC driver = Tesla Compute Cluster driver(1). Device capability 2.0 = GF100(2)(same ASIC as Geforce GTX480) and above.
1. http://http.developer.nvidia.com/ParallelNsight/2.1/Documentation/UserGuide/HTML/Content/Tesla_Compute_Cluster.htm Also, Nvidia made the similar comment as AMD on how crap is MS's WDDM i.e. TCC driver reduces the CUDA kernel launch (dispatch) overhead.
2. http://en.wikipedia.org/wiki/CUDA
Nvidia needs to make TCC driver available for normal Geforce Fermi end-users i.e. it has some issues to be solved e.g. interop with GPU's graphics units and support for legacy Direct3D. TCC driver is locked to "Tesla" hardware i.e. needs to "soft mod" the normal Geforce Fermi/Kepler.
Like OpenCL, HSA standard is open and therefore NVIDIA can support HSA games feature.
AMD's HSA is a response to NVIDIA's TCC. i.e. With TCC driver, GF100 says Hi.
From https://devtalk.nvidia.com/default/topic/529622/gtx-690-cuda-shared-memory-space-tcc-uva-gpudirect-/
"I've used this idea very effectively to give GPUs easy runtime access to a database over 14GB in size."
Notice "zero copy" feature with NVIDIA GPUs..
HSA creates an improved processor design that exposes the benefits and capabilities of mainstream programmable compute elements, working together seamlessly. With HSA, applications can create data structures in a single unified address space and can initiate work items on the hardware most appropriate for a given task. Sharing data between compute elements is as simple as sending a pointer. Multiple compute tasks can work on the same coherent memory regions, utilizing barriers and atomic memory operations as needed to maintain data synchronization (just as multi-core CPUs do today). No more to say... HSA driver and MS support will not redesign million and million of computers out there and turn them into HSA,to do HSA the CPU and GPU most share 1 common memery address something that is not that way on PC,so unless you use an APU on a PC you are not doing HSA,unless you don't have HSA hardware is not really HSA..
Log in to comment