[Mesa-dev] [PATCH 00/13] Implement INTEL_shader_atomic_float_minmax

Ian Romanick idr at freedesktop.org
Tue Aug 21 16:19:48 UTC 2018


On 08/21/2018 06:10 AM, Axel Davy wrote:
> On 23/06/2018 07:03, Ian Romanick wrote:
>> I initially started implementing support for NV_shader_atomic_float.  I
>> had misunderstood the hardware specs, and Intel hardware cannot actually
>> do that extension.  It does have some floating-point atomic support, so
>> I decided to create an extension based on what the hardware actually can
>> do.  I discussed this with some guys at AMD and NVIDIA, and it seems
>> nobody else can do these things.
> 
> Hi,
> 
> 
> Older AMD SI chips had the functionality, as can be seen here:
> 
> https://developer.amd.com/wordpress/media/2012/12/AMD_Southern_Islands_Instruction_Set_Architecture.pdf
> 
> 
> 
> It features BUFFER_ATOMIC_FMIN, BUFFER_ATOMIC_FCMPSWAP and
> BUFFER_ATOMIC_FMAX.
> 
> The feature seems to have been dropped with later iterations of GCN.

Yeah, that's basically what Marek told me on IRC.

> Reading the spec of intel broadwell, there are some sections mentioning
> atomic float add,
> 
> https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-bdw-vol07-3d_media_gpgpu_3.pdf
> 
> 
> 
> But there is no mention of it for Skylake. Maybe it was supported, but
> dropped ?

That bit of documentation is the reason I started working on the NV
extension.  As far as I can tell, the feature was planned, but it was
never implemented.  I spent a whole day trying to figure out why I was
hanging the GPU before I realized it was because the hardware did not
support that feature. :(

> Yours,
> 
> Axel Davy



More information about the mesa-dev mailing list