On Thu, Mar 8, 2012 at 2:24 PM, Nick Foster <[email protected]> wrote: > On Thu, Mar 8, 2012 at 11:21 AM, Marcus D. Leech <[email protected]>wrote: > >> ** >> On 08/03/12 02:16 PM, Tom Rondeau wrote: >> >> On Thu, Mar 8, 2012 at 1:22 PM, Marcus D. Leech <[email protected]>wrote: >> >>> On 08/03/12 01:11 PM, Nick Foster wrote: >>> > Rafiq, >>> > >>> > What CPU are you using for this test? Specifically, please send the >>> > output of "cat /proc/cpuinfo". >>> > >>> > --n >>> > >>> To add some more data, I tested the attached flow-graph on the only >>> remaining 32-bit machine in my herd. >>> It provoked: >>> >>> #0 0x0090d6b3 in volk_32fc_x2_multiply_32fc_a_sse3 () >>> from /usr/local/lib/libvolk.so.0.0.0 >>> #1 0x008de0d5 in get_volk_32fc_x2_multiply_32fc_a () >>> from /usr/local/lib/libvolk.so.0.0.0 >>> #2 0x00a8f517 in gri_fft_filter_ccc_generic::filter(int, >>> std::complex<float> const*, std::complex<float>*) () >>> from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0 >>> #3 0x00a967fb in gr_fft_filter_ccc::work(int, std::vector<void const*, >>> std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >>> >&) () >>> from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0 >>> #4 0x00a65eb7 in gr_sync_decimator::general_work(int, std::vector<int, >>> std::allocator<int> >&, std::vector<void const*, std::allocator<void >>> const*> >&, std::vector<void*, std::allocator<void*> >&) () >>> from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0 >>> #5 0x00a4d185 in gr_block_executor::run_one_iteration() () >>> from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0 >>> #6 0x00a688e3 in >>> gr_tpb_thread_body::gr_tpb_thread_body(boost::shared_ptr<gr_block>, int) >>> () from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0 >>> #7 0x00a62bfc in >>> >>> boost::detail::function::void_function_obj_invoker0<gruel::thread_body_wrapper<tpb_container>, >>> void>::invoke(boost::detail::function::function_buffer&) () from >>> /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0 >>> #8 0x001b881c in boost::function0<void>::operator()() const () >>> from /usr/local/lib/libgruel-3.5.3git.so.0.0.0 >>> >>> >>> This is on a Fedora-12 machine, here's /proc/cpuinfo >>> >>> processor : 0 >>> vendor_id : GenuineIntel >>> cpu family : 6 >>> model : 14 >>> model name : Genuine Intel(R) CPU T2400 @ 1.83GHz >>> stepping : 8 >>> cpu MHz : 1000.000 >>> cache size : 2048 KB >>> physical id : 0 >>> siblings : 2 >>> core id : 0 >>> cpu cores : 2 >>> apicid : 0 >>> initial apicid : 0 >>> fdiv_bug : no >>> hlt_bug : no >>> f00f_bug : no >>> coma_bug : no >>> fpu : yes >>> fpu_exception : yes >>> cpuid level : 10 >>> wp : yes >>> flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov >>> clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc >>> arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm >>> bogomips : 3657.49 >>> clflush size : 64 >>> cache_alignment : 64 >>> address sizes : 32 bits physical, 32 bits virtual >>> power management: >>> >>> processor : 1 >>> vendor_id : GenuineIntel >>> cpu family : 6 >>> model : 14 >>> model name : Genuine Intel(R) CPU T2400 @ 1.83GHz >>> stepping : 8 >>> cpu MHz : 1000.000 >>> cache size : 2048 KB >>> physical id : 0 >>> siblings : 2 >>> core id : 1 >>> cpu cores : 2 >>> apicid : 1 >>> initial apicid : 1 >>> fdiv_bug : no >>> hlt_bug : no >>> f00f_bug : no >>> coma_bug : no >>> fpu : yes >>> fpu_exception : yes >>> cpuid level : 10 >>> wp : yes >>> flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov >>> clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc >>> arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm >>> bogomips : 3657.54 >>> clflush size : 64 >>> cache_alignment : 64 >>> address sizes : 32 bits physical, 32 bits virtual >>> power management: >> >> >> >> Well, there's your problem right there! >> >> flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca >> cmov >> clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc >> arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm >> >> Your CPU doesn't seem to support SSE3, which begs the question, why is >> it allowed to call the SSE3 proto-kernel? >> >> Check your ~/.volk/volk_config to see what it says on that kernel (that >> is, if you have run volk_profile; if you haven't, run it first and see what >> happens). >> >> Tom >> >> The information in /proc/cpuinfo appears to be incorrect. That >> particular CPU, the T2400, actually >> *does* support SSE3, according to the Intel datasheet, and other >> googled stuff out there. >> > > The relevant line in the Volk archs.xml is correct, and it's looking for > the correct bit in ECX to determine PNI/SSE3 capability. /proc/cpuinfo > calls this "pni", or Prescott New Instructions, not SSE3. > > --n >
Damn... I should have remembered that... Tom > >
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
