manodeep / Corrfunc

⚡️⚡️⚡️Blazing fast correlation functions on the CPU.
https://corrfunc.readthedocs.io
MIT License
163 stars 50 forks source link

Update GNU assembler bug detection #278

Closed lgarrison closed 1 year ago

lgarrison commented 1 year ago

The fix for the GNU assembler bug (#196, https://sourceware.org/bugzilla/show_bug.cgi?id=23465) has been backported (https://bugzilla.redhat.com/show_bug.cgi?id=1869401), so we shouldn't rely on version numbers to detect the presence of the bug. Instead, we should just assemble a micro-program (vmovaps 64(,%rax), %zmm0) and check that it produces the correct result.

This will re-enable Corrfunc AVX-512 on some platforms (notably, my desktop at work!).

lgarrison commented 1 year ago

@manodeep This is also ready for review (and should be quick). The failure seems to be due to astropy bot not picking up the milestone.

manodeep commented 1 year ago

Yup - looks good. Checked on my AVX512 cluster with the old binutils and AVX512 got disabled, while with the new binutils AVX512 remained enabled.