openvx Illegal instruction (core dumped)

openvx Illegal instruction (core dumped)

 

dmesg show me traps: auto_contrast[3920] trap invalid opcode ip:7f7ab43aa227 sp:7ffca80121a0 error:0 in libiap.so.1.8[7f7ab3ff7000+7431000] when i run the provided openvx auto_contrast example in my centos 7 box.

may i know what is the problem?

computer_vision_sdk_2018.0.234

[root@localhost auto_contrast]# uname -a
Linux localhost.localdomain 4.14.20 #1 SMP Wed May 16 05:36:12 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost auto_contrast]# cat /proc/cpuinfo
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 92
model name    : Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
stepping    : 9
microcode    : 0x2c
cpu MHz        : 1524.594
cache size    : 1024 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 2
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 21
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 2188.80
clflush size    : 64
cache_alignment    : 64
address sizes    : 39 bits physical, 48 bits virtual
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 92
model name    : Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
stepping    : 9
microcode    : 0x2c
cpu MHz        : 1835.747
cache size    : 1024 KB
physical id    : 0
siblings    : 2
core id        : 2
cpu cores    : 2
apicid        : 4
initial apicid    : 4
fpu        : yes
fpu_exception    : yes
cpuid level    : 21
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 2188.80
clflush size    : 64
cache_alignment    : 64
address sizes    : 39 bits physical, 48 bits virtual
power management:

 

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

i install ubuntu to the same hardware target and the openvx sample program gave the same Illegal instruction (core dumped)

hetero_basic crashed with SIGILL in std::map<DMIP::iNode*,DMIP::iGraph::NodeOutputInfo,std::less<DPIM::iNode*>,std::allocator<std::pair<DMIP::iNode* const, DMIP::iGraph::NodeOutputInfo>>>::map()

traps: hetero_basic[3169] trap invalid opcode ip:7f0029e03c94 sp:7ffccc753d28 error:0 in libiap.so.1.8[7f0029a3b000+7444000]

computer_vision_sdk_2018.0.234

uname -a
Linux ubuntu-UP-APL01 4.14.20-041420-generic #201802162247 SMP Fri Feb 16 22:48:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

cat /proc/cpuinfo
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 92
model name    : Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
stepping    : 9
microcode    : 0x28
cpu MHz        : 1207.075
cache size    : 1024 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 2
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 21
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 2188.80
clflush size    : 64
cache_alignment    : 64
address sizes    : 39 bits physical, 48 bits virtual
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 92
model name    : Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
stepping    : 9
microcode    : 0x28
cpu MHz        : 1161.008
cache size    : 1024 KB
physical id    : 0
siblings    : 2
core id        : 2
cpu cores    : 2
apicid        : 4
initial apicid    : 4
fpu        : yes
fpu_exception    : yes
cpuid level    : 21
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 2188.80
clflush size    : 64
cache_alignment    : 64
address sizes    : 39 bits physical, 48 bits virtual
power management:

 

Hi,

Most likely the reason for this is because the CV SDK installer, when running under Ubuntu, will install a version of OpenVX that has been compiled with AVX2 optimizations. Since your APL (Apollo Lake) system doesn't support this instruction set, an illegal instruction will be generated. In your case, since you are running Ubuntu on APL, I would recommend the following steps:

From where you extracted the CV SDK .tgz package (l_intel_cv_sdk_p_2018.0.234), cd to l_intel_cv_sdk_p_2018.0.234/rpm. The OpenVX binaries that you will want to use are contained within intel-cv-sdk-base-l-ovx-rt-yocto-234-2018.0-234.noarch.rpm. One way to extract this into the local directory:

rpm2cpio ./intel-cv-sdk-base-l-ovx-rt-yocto-234-2018.0-234.noarch.rpm | cpio -idmv

After running this, the openvx folder will reside within ./opt/intel/computer_vision_sdk_2018.0.234/openvx

You can then replace the openvx folder that was originally installed (at $INTEL_CVSDK_DIR) with this openvx folder. 

This should solve the issue, but let me know how it goes.

Best Regards,

Ryan

 

Thanks Ryan. It works after i replaced the original installed openvx with the extracted  intel-cv-sdk-base-l-ovx-rt-yocto-234-2018.0-234.noarch.rpm

 

Leave a Comment

Please sign in to add a comment. Not a member? Join today