[Beowulf] Detecting binaries that are limited to an architecture?
Paul McIntosh
paul.mcintosh at monash.edu
Sun May 8 18:18:54 PDT 2016
Carlos,
Thanks! I’ll use a combination of proactive tests based on this and reactive based on dmesg/message log. I’ll also investigate Chris’ cupid.
Here’s a quick test – our broken python (due to libraries which only run on new nodes) and the fixed python…
for i in `cat files_broken`; do echo $i; ./analyze-x86 $i | grep AVX | grep -v " 0"; done
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/core/_dotblas.so
AVX: 361794
AVX2: 17
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/core/multiarray.so
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/core/scalarmath.so
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/core/umath.so
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/fft/fftpack_lite.so
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/lib/_compiled_base.so
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so
AVX: 5115
AVX2: 29
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so
AVX: 6120
AVX2: 29
/usr/local/python/2.7.8-gcc/lib/python2.7/site-packages/numpy/random/mtrand.so
for i in `cat files_fixed`; do echo $i; ./analyze-x86 $i | grep AVX | grep -v " 0"; done
/usr/local/python/2.7.11-gcc/lib/python2.7/site-packages/numpy-1.11.0-py2.7-linux-x86_64.egg/numpy/core/multiarray.so
/usr/local/python/2.7.11-gcc/lib/python2.7/site-packages/numpy-1.11.0-py2.7-linux-x86_64.egg/numpy/core/umath.so
/usr/local/python/2.7.11-gcc/lib/python2.7/site-packages/numpy-1.11.0-py2.7-linux-x86_64.egg/numpy/fft/fftpack_lite.so
/usr/local/python/2.7.11-gcc/lib/python2.7/site-packages/numpy-1.11.0-py2.7-linux-x86_64.egg/numpy/linalg/lapack_lite.so
/usr/local/python/2.7.11-gcc/lib/python2.7/site-packages/numpy-1.11.0-py2.7-linux-x86_64.egg/numpy/linalg/_umath_linalg.so
/usr/local/python/2.7.11-gcc/lib/python2.7/site-packages/numpy-1.11.0-py2.7-linux-x86_64.egg/numpy/random/mtrand.so
Cheers!
Paul
From: Carlos Fenoy [mailto:minibit at gmail.com]
Sent: Friday, 6 May 2016 7:32 PM
To: Carsten Aulbert <Carsten.Aulbert at aei.mpg.de>
Cc: Paul McIntosh <paul.mcintosh at monash.edu>; beowulf at beowulf.org
Subject: Re: [Beowulf] Detecting binaries that are limited to an architecture?
Hi,
Here you have a more updated version of the script. This one supports up to AVX2, although it will not tell you exactly the CPU version it is compatible with.
https://github.com/wpoely86/scripts/blob/master/analyze-x86
Regards,
Carlos
On Fri, May 6, 2016 at 7:06 AM, Carsten Aulbert <Carsten.Aulbert at aei.mpg.de <mailto:Carsten.Aulbert at aei.mpg.de> > wrote:
Hi
On 05.05.2016 22:51, Paul McIntosh wrote:
> We have /usr/local mounted across nodes with some Intel Xeon X5650
> (Westmere) and some E5-2670 (SandyBridge). Some code spits out "Illegal
> Instruction" when run on the old nodes and it appears to be due to hitting
> shared libraries compiled on the newer nodes. We are going to have a similar
> situation on the newer clusters also.
>
some years ago I accidentally found this here
https://github.com/rozcietrzewiacz/home/blob/master/scripts/analyse-x86.sh
which "simply" wades through all instructions and spits out for which
target platform the binary is ok.
Given that this is 4yrs old and I had to apply a small fix about
variable naming (I think/attached) it will most certainly not find all
edge cases, but may already help to get started.
Cheers
Carsten
_______________________________________________
Beowulf mailing list, Beowulf at beowulf.org <mailto:Beowulf at beowulf.org> sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
--
--
Carles Fenoy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20160509/434a1921/attachment.html>
More information about the Beowulf
mailing list