Am 14.08.2017 um 17:31 schrieb Felix Kuehling: > [SNIP] > Repeating the same argument I made on another email: Commented on that in the other mail, let's keep the discussion on this topic there. >> BTW: What exactly this this good for? > Scratch memory is private memory per work-item. It's used when a shader > program has too few registers available. With HSA we use flat scratch > addressing, where shaders can access private memory in a special scratch > aperture using normal memory instructions. Using the same virtual > address, each work item gets its own private piece of memory. The > hardware does the address translation from the VA in the private > aperture to a scratch-backing VA. The application is responsible for > allocating the memory to back that scratch area, and to map it somewhere > in its virtual address space. > > This ioctl tells the hardware (or HWS firmware) the VA of the scratch > backing memory. Ok, you've got me lost here. Not that I'm deeply into that stuff, but my last status is that those apertures are global and not per/process or VMID. That would mean that when two processes try to set two different addresses we are completely lost here. Christian.