Michael Dickens <m...@alum.mit.edu> writes: > On Jan 21, 2013, at 11:17 PM, Albert Chun-Chieh Huang > <alberthuang...@gmail.com> wrote: >> How can I make gnuradio and volk be optimzed for Core i7? generic_orc seems >> not best optimized for core i7. > > Hi Albert - I'm glad to hear of your general success in using MacPorts > for GNU Radio. For your particular question, I'll let the VOLK folks > address the broad question regarding runtime selection of VOLK kernels > / machines. From my perspective, I'd like to know which kernels / > machines were detected at configuration time. You can get this info > independent of the install via:
Hi, Michael, I'm thankful for what you've done to Mac users. Before this port, building GNU Radio was really distressing and normally I just gave up after several failed builds and use GNU Radio in Linux. Well, I tried to do a clean install MacPorts after this post. This time, after MacPorts is installed, gcc 4.7 was installed first and used as default compiler. Then I install every packages that gnuradio depends with gcc 4.7. When I try to use gcc 4.7 to compile gnuradio with the following command: sudo port install gnuradio +docs +grc +orc +python27 +qtgui +sdl +swig +uhd +wxgui configure.compiler=macports-gcc-4.7 The build was failed. And then I tried gcc 4.5 and it failed. Only when I use llvm-gcc-4.2 would give me a successful build. When I run gnuradio-companion, I got this message: __________________________________ Mac OS; GNU C++ version 4.7.2; Boost_105200; UHD_003.005.000-0-unknown Using Volk machine: sse4_1_64_orc gr-osmosdr supported device types: file fcd rtl rtl_tcp uhd Using device #0 Compro VMU6xx SN: 0020 Found Elonics E4000 tuner Exact sample rate is: 2000000.052982 Hz >>> gr_fir_ccf: using SSE >>> gr_fir_fff: using SSE >>> gr_fir_fcc: using SSE __________________________________ > > {{{ > sudo port -d configure gnuradio +docs +grc +orc +python27 +qtgui +sdl +swig > +uhd +wxgui configure.compiler=macports-gcc-4.7 > }}} > > and watch the output. Somewhere part way through, you'll see a list like > this one (which is for my "old" laptop's Intel Core 2 Duo (when using the > above command, btw): > > {{{ > -- CPU width is 64 bits, Overruled arch 32 > -- Available architectures: > generic;64;3dnow;abm;popcount;mmx;sse;sse2;orc;norc;sse3;ssse3;sse4_a;sse4_1;sse4_2;avx > -- Available machines: > generic_orc;sse2_64_mmx_orc;sse3_64_orc;ssse3_64_orc;sse4_a_64_orc;sse4_1_64_orc;sse4_2_64_orc;avx_64_mmx_orc > }}} > > If you see these options, then there's probably a way to select > kernels / machines are runtime; but, as I said, I'll leave that > question up to the VOLK developers. - MLD If I run the following command: sudo port -d configure gnuradio +docs +grc +orc +python27 +qtgui +sdl +swig +uhd +wxgui configure.compiler=macports-gcc-4.7 The messages for VOLK part is: ____________________ -- CPU width is 64 bits, Overruled arch 32 -- Available architectures: generic;64;3dnow;abm;popcount;mmx;sse;sse2;orc;norc;sse3;ssse3;sse4_a;sse4_1;sse4_2;avx -- Available machines: generic_orc;sse2_64_mmx_orc;sse3_64_orc;ssse3_64_orc;sse4_a_64_orc;sse4_1_64_orc;sse4_2_64_orc;avx_64_mmx_orc ____________________ For the command: sudo port -d configure gnuradio +docs +grc +orc +python27 +qtgui +sdl +swig +uhd +wxgui configure.compiler=macports-gcc-4.7 ____________________ -- GCC missing xgetbv, Overruled arch avx -- Check size of void*[8] -- Check size of void*[8] - done -- CPU width is 64 bits, Overruled arch 32 -- Available architectures: generic;64;3dnow;abm;mmx;sse;sse2;orc;norc;sse3;ssse3;sse4_a;sse4_1;sse4_2 -- Available machines: generic_orc;sse2_64_mmx_orc;sse3_64_orc;ssse3_64_orc;sse4_1_64_orc ____________________ The difference seems to be AVX, and my configuration is listed below: CPU: Quad-core Core i7, Ivy bridge architecture OS: MacOSX 10.8.2 MacPorts version: 2.1.2 with latest sync on January 22 gcc version 4.7.2 (MacPorts gcc47 4.7.2_2) gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) Thanks in advance. Albert _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio