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
--- analyse-x86.sh 2014-07-21 12:02:09.516706444 +0200 +++ new/analyse-x86.sh 2014-07-21 11:06:48.698013911 +0200 @@ -77,8 +77,8 @@ "addpd"|"addsd"|"andnpd"|"andpd"|"clflush"|"cmppd"|"cmpsd"|"comisd"|"cvtdq2pd"|"cvtdq2ps"|"cvtpd2pi"|"cvtpd2pq"|"cvtpd2ps"|"cvtpi2pd"|"cvtps2dq"|"cvtps2pd"|"cvtsd2si"|"cvtsd2ss"|"cvtsi2sd"|"cvtss2sd"|"cvttpd2pi"|"cvttpd2dq"|"cvttps2dq"|"cvttsd2si"|"divpd"|"divsd"|"lfence"|"maskmovdqu"|"maxpd"|"maxsd"|"mfence"|"minpd"|"minsd"|"movapd"|"movd"|"movdq2q"|"movdqa"|"movdqu"|"movhpd"|"movlpd"|"movmskpd"|"movntdq"|"movnti"|"movntpd"|"movq"|"movq2dq"|"movsd"|"movupd"|"mulpd"|"mulsd"|"orpd"|"packsswb"|"packssdw"|"packuswb"|"paddb"|"paddw"|"paddd"|"paddq"|"paddq"|"paddsb"|"paddsw"|"paddusb"|"paddusw"|"pand"|"pandn"|"pause"|"pavgb"|"pavgw"|"pcmpeqb"|"pcmpeqw"|"pcmpeqd"|"pcmpgtb"|"pcmpgtw"|"pcmpgtd"|"pextrw"|"pinsrw"|"pmaddwd"|"pmaxsw"|"pmaxub"|"pminsw"|"pminub"|"pmovmskb"|"pmulhw"|"pmulhuw"|"pmullw"|"pmuludq"|"pmuludq"|"por"|"psadbw"|"pshufd"|"pshufhw"|"pshuflw"|"pslldq"|"psllw"|"pslld"|"psllq"|"psraw"|"psrad"|"psrldq"|"psrlw"|"psrld"|"psrlq"|"psubb"|"psubw"|"psubd"|"psubq"|"psubq"|"psubsb"|"psubsw"|"psubusb"|"psubusw"|"psubsb"|"punpckhbw"|"punpckhwd"|"punpckhdq"|"punpckhqdq"|"punpcklbw"|"punpcklwd"|"punpckldq"|"punpcklqdq"|"pxor"|"shufpd"|"sqrtpd"|"sqrtsd"|"subpd"|"subsd"|"ucomisd"|"unpckhpd"|"unpcklpd"|"xorpd") let ++sse2; print=1;; "addsubpd"|"addsubps"|"haddpd"|"haddps"|"hsubpd"|"hsubps"|"lddqu"|"movddup"|"movshdup"|"movsldup"|"fisttp"|"monitor"|"mwait") let ++sse3; print=1;; "psignb"|"psignw"|"psignd"|"pabsb"|"pabsw"|"pabsd"|"palignr"|"pshufb"|"pmulhrsw"|"pmaddubsw"|"phsubw"|"phsubd"|"phsubsw"|"phaddw"|"phaddd"|"phaddsw") let ++ssse3; print=1;; - "mpsadbw"|"phminposuw"|"pmuldq"|"pmulld"|"dpps"|"dppd"|"blendps"|"blendpd"|"blendvps"|"blendvpd"|"pblendvb"|"pblendw"|"pminsb"|"pmaxsb"|"pminuw"|"pmaxuw"|"pminud"|"pmaxud"|"pminsd"|"pmaxsd"|"roundps"|"roundss"|"roundpd"|"roundsd"|"insertps"|"pinsrb"|"pinsrd"|"pinsrq"|"extractps"|"pextrb"|"pextrw"|"pextrd"|"pextrq"|"pmovsxbw"|"pmovzxbw"|"pmovsxbd"|"pmovzxbd"|"pmovsxbq"|"pmovzxbq"|"pmovsxwd"|"pmovzxwd"|"pmovsxwq"|"pmovzxwq"|"pmovsxdq"|"pmovzxdq"|"ptest"|"pcmpeqq"|"packusdw"|"movntdqa") let ++sse4.1; print=1;; - "crc32"|"pcmpestri"|"pcmpestrm"|"pcmpistri"|"pcmpistrm"|"pcmpgtq"|"popcnt") let ++sse4.2; print=1;; + "mpsadbw"|"phminposuw"|"pmuldq"|"pmulld"|"dpps"|"dppd"|"blendps"|"blendpd"|"blendvps"|"blendvpd"|"pblendvb"|"pblendw"|"pminsb"|"pmaxsb"|"pminuw"|"pmaxuw"|"pminud"|"pmaxud"|"pminsd"|"pmaxsd"|"roundps"|"roundss"|"roundpd"|"roundsd"|"insertps"|"pinsrb"|"pinsrd"|"pinsrq"|"extractps"|"pextrb"|"pextrw"|"pextrd"|"pextrq"|"pmovsxbw"|"pmovzxbw"|"pmovsxbd"|"pmovzxbd"|"pmovsxbq"|"pmovzxbq"|"pmovsxwd"|"pmovzxwd"|"pmovsxwq"|"pmovzxwq"|"pmovsxdq"|"pmovzxdq"|"ptest"|"pcmpeqq"|"packusdw"|"movntdqa") let ++sse41; print=1;; + "crc32"|"pcmpestri"|"pcmpestrm"|"pcmpistri"|"pcmpistrm"|"pcmpgtq"|"popcnt") let ++sse42; print=1;; "lzcnt"|"popcnt"|"extrq"|"insertq"|"movntsd"|"movntss") let ++sse4a; print=1;; "pavgusb"|"pfadd"|"pfsub"|"pfsubr"|"pfacc"|"pfcmpge"|"pfcmpgt"|"pfcmpeq"|"pfmin"|"pfmax"|"pi2fw"|"pi2fd"|"pf2iw"|"pf2id"|"pfrcp"|"pfrsqrt"|"pfmul"|"pfrcpit1"|"pfrsqit1"|"pfrcpit2"|"pmulhrw"|"pswapw"|"femms"|"prefetch") let ++amd; print=1;; "pf2iw"|"pfnacc"|"pfpnacc"|"pi2fw"|"pswapd"|"maskmovq"|"movntq"|"pavgb"|"pavgw"|"pextrw"|"pinsrw"|"pmaxsw"|"pmaxub"|"pminsw"|"pminub"|"pmovmskb"|"pmulhuw"|"prefetchnta"|"prefetcht0"|"prefetcht1"|"prefetcht2"|"psadbw"|"pshufw"|"sfence") let ++amd2; print=1;;
_______________________________________________ Beowulf mailing list, [email protected] sponsored by Penguin Computing To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
