discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Volk library invalid opcode exception


From: Joanna Rutkowska
Subject: Re: [Discuss-gnuradio] Volk library invalid opcode exception
Date: Sun, 15 Apr 2012 16:11:11 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1

On 04/15/12 15:28, Tom Rondeau wrote:
> On Sun, Apr 15, 2012 at 7:07 AM, Joanna Rutkowska
> <address@hidden> 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:
>>
>> address@hidden gnuradio]$ volk_profile
>> Using Volk machine: avx_64
>> RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_real_32f_a
>> Illegal instruction
>> address@hidden 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:
>>
>> address@hidden 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:

address@hidden gnuradio]$ cd volk/
address@hidden volk]$ mkdir build
address@hidden volk]$ cd build/
address@hidden build]$ cmake -D GR_RUNTIME_DIR=bin ..
/.../
address@hidden build]$ make
/.../
address@hidden 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.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]