On 04/15/12 15:28, Tom Rondeau wrote: > On Sun, Apr 15, 2012 at 7:07 AM, Joanna Rutkowska > <[email protected]> wrote: >> Hello, I'm getting the invalid opcode exception whenever the volk >> library is used from gr/grc. It is also easy to reproduce by executing >> volk_profile: >> >> [user@rflab gnuradio]$ volk_profile >> Using Volk machine: avx_64 >> RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_real_32f_a >> Illegal instruction >> [user@rflab gnuradio]$ dmesg >> [ 6920.211094] volk_profile[25627] trap invalid opcode ip:7f8145b74d40 >> sp:7fff41dfac78 error:0 in libvolk.so.0.0.0[7f8145ad7000+cf000] >> >> I tried v3.5.2 and v3.5.2 build directly from git, using the building >> script from here: >> >> http://gnuradio.org/redmine/repositories/changes/gnuradio/README >> >> Here's my cpuinfo: >> >> [user@rflab gnuradio]$ cat /proc/cpuinfo >> processor : 0 >> vendor_id : GenuineIntel >> cpu family : 6 >> model : 42 >> model name : Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz >> stepping : 7 >> cpu MHz : 2591.660 >> cache size : 3072 KB >> physical id : 0 >> siblings : 4 >> core id : 1 >> cpu cores : 1 >> apicid : 3 >> initial apicid : 3 >> fpu : yes >> fpu_exception : yes >> cpuid level : 13 >> wp : yes >> flags : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse >> sse2 >> ss ht syscall nx lm constant_tsc nopl aperfmperf pni pclmulqdq ssse3 >> cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor lahf_lm ida arat epb pln >> pts dts >> bogomips : 5183.32 >> clflush size : 64 >> cache_alignment : 64 >> address sizes : 36 bits physical, 48 bits virtual >> power management: >> >> (and repeated 3x times for the other cores). >> >> And, FWIW, this is the autoconfig snippet: >> >> -- Configuring volk support... >> -- Enabling volk support. >> -- Override with -DENABLE_VOLK=ON/OFF >> -- Boost version: 1.46.0 >> -- Found the following Boost libraries: >> -- unit_test_framework >> -- checking for module 'orc-0.4' >> -- found orc-0.4, version 0.4.16 >> -- Found ORC: /usr/lib64/liborc-0.4.so >> -- Check size of void* >> -- Check size of void* - done >> -- Performing Test have_maltivec >> -- Performing Test have_maltivec - Failed >> -- Performing Test have_mfpu=neon >> -- Performing Test have_mfpu=neon - Failed >> -- Performing Test have_mfloat-abi=softfp >> -- Performing Test have_mfloat-abi=softfp - Failed >> -- Performing Test have_funsafe-math-optimizations >> -- Performing Test have_funsafe-math-optimizations - Success >> -- 32 overruled >> -- Performing Test have_m64 >> -- Performing Test have_m64 - Success >> -- Performing Test have_m3dnow >> -- Performing Test have_m3dnow - Success >> -- Performing Test have_msse4.2 >> -- Performing Test have_msse4.2 - Success >> -- Performing Test have_mpopcnt >> -- Performing Test have_mpopcnt - Success >> -- Performing Test have_mmmx >> -- Performing Test have_mmmx - Success >> -- Performing Test have_msse >> -- Performing Test have_msse - Success >> -- Performing Test have_msse2 >> -- Performing Test have_msse2 - Success >> -- Performing Test have_lorc-0.4 >> -- Performing Test have_lorc-0.4 - Success >> -- Performing Test have_msse3 >> -- Performing Test have_msse3 - Success >> -- Performing Test have_mssse3 >> -- Performing Test have_mssse3 - Success >> -- Performing Test have_msse4a >> -- Performing Test have_msse4a - Success >> -- Performing Test have_msse4.1 >> -- Performing Test have_msse4.1 - Success >> -- Performing Test have_mavx >> -- Performing Test have_mavx - Success >> -- Available arches: >> generic;64;3dnow;abm;popcount;mmx;sse;sse2;orc;sse3;ssse3;sse4_a;sse4_1;sse4_2;avx >> -- Available machines: >> generic;sse2_only;sse2_64;sse3_64;ssse3_64;sse4_a_64;sse4_1_64;sse4_2_64;avx_64;avx_only >> -- Using install prefix: /usr/local >> -- Found Doxygen: /usr/bin/doxygen >> >> One more thing to note that I'm running in a Xen PV VM, although this >> should not matter, as the usermode instructions execute directly on the >> CPU in this mode. >> >> Thanks, >> joanna. > > Can you try to build using cmake? We've had some issues with the > autotools scripts setting up the right Volk machines and being on a VM > might be confusing it. > Hm... actually I've been using cmake already... Anyway, I tried to run cmake only for the volk component manually:
[user@rflab gnuradio]$ cd volk/ [user@rflab volk]$ mkdir build [user@rflab volk]$ cd build/ [user@rflab build]$ cmake -D GR_RUNTIME_DIR=bin .. /.../ [user@rflab build]$ make /.../ [user@rflab build]$ apps/volk_profile Using Volk machine: avx_64 RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_real_32f_a Illegal instruction Perhaps you meant to not use cmake? Can you provide the specific build instructions I should try? Thanks, joanna.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
