discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] JIT integration and undefined symbol


From: CEL
Subject: Re: [Discuss-gnuradio] JIT integration and undefined symbol
Date: Wed, 10 Jul 2019 09:05:47 +0000

Hi Ron,

wasn't aware of that.
I *think* we shouldn't be doing that. Optimizing flags can't be set per
submodule, but only for the whole build. Would you agree we need to
"centralize" that in some way?

Best regards,
Marcus

On Tue, 2019-07-09 at 07:36 -0700, Ron Economos wrote:
> This is just a guess, but the DVB-T Viterbi decoder uses SSE2 intrinsics for 
> performance. In gnuradio/gr-dtv/lib/CMakeLists.txt, the flag "-msse2" is 
> added to CMAKE_CXX_FLAGS.
> Ron
> On 7/9/19 05:39, Corentin Basler wrote:
> > Hello everyone,
> > I'm actually doing my bachelor thesis about Just In Time compiler and I 
> > want to integrate this technology in GNURadio. I've already created OOT 
> > module with integrated JIT functionality. I'm now trying to add an in-tree 
> > module. I'm trying to do that by copying the dvbt viterbi decoder block. 
> > The JIT compiler that I use is : ClangJIT . For testing, I use the example 
> > dvbt_rx_8k. I’m working from the maint-3.7 branch. I added my new block and 
> > replace the original viterbi decoder in the example. Unfortunately, when 
> > running the application, I have the following error :
> >  
> > Traceback (most recent call last):
> > File "/home/pacco/TB/gnuRadio_perf/dvbt_rx_demo_8k_jit.py", line 21, in 
> > <module>
> > from gnuradio import dtv
> > File 
> > "/opt/gnuradioClangJit/lib/python2.7/dist-packages/gnuradio/dtv/__init__.py",
> >  line 34, in <module>
> > from dtv_swig import *
> > File 
> > "/opt/gnuradioClangJit/lib/python2.7/dist-packages/gnuradio/dtv/dtv_swig.py",
> >  line 17, in <module>
> > _dtv_swig = swig_import_helper()
> > File 
> > "/opt/gnuradioClangJit/lib/python2.7/dist-packages/gnuradio/dtv/dtv_swig.py",
> >  line 14, in swig_import_helper
> > return importlib.import_module(mname)
> > File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
> > __import__(name)
> > ImportError: /opt/gnuradioClangJit/lib/libgnuradio-dtv-3.7.13.5.so.0.0.0: 
> > undefined symbol: 
> > _ZN2gr3dtv29dvbt_viterbi_decoder_jit_impl28dvbt_viterbi_get_output_sse2IXdtdefpT12d_ntracebackEEEhPDv2_xS4_Ph
> >  
> > I’ve already search in the mailing list for solution, but all the solution 
> > that I’ve found are for OOT module.
> > When running c++filt, I get the following result :
> >  
> > unsigned char 
> > gr::dtv::dvbt_viterbi_decoder_jit_impl::dvbt_viterbi_get_output_sse2<(*this).d_ntraceback>(long
> >  long __vector(2)*, long long __vector(2)*, unsigned char*)
> >  
> > Which is the result I wanted to see.
> > I use the following cmake command when building from source :
> >  
> > cmake -DCMAKE_C_COMPILER=/opt/release/llvm/bin/clang 
> > -DCMAKE_CXX_COMPILER=/opt/release/llvm/bin/clang++ 
> > -DPYTHON_EXECUTABLE=/usr/bin/python2 
> > -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so 
> > -DCMAKE_INSTALL_PREFIX=/opt/gnuradioClangJit -DJIT_ENABLE=ON 
> > -DENABLE_GR_UHD=OFF ../
> > CMAKE_C_COMPILER and CMAKE_CXX_COMPILER points to the llvm version with 
> > clangJIT (see link above). JIT_ENABLE enable the flags for the JIT compiler.
> >  
> > Every change that I’ve made are on the following git (and commit ): 
> > https://github.com/Pacco1217/gnuradio/commit/14d656e5aecc998bb1cda9259de8a639dabf6d04
> >  
> >  
> > About the computer :
> > Kernel : 4.18.0-25-generic
> > OS : Ubuntu 18.10
> > Does anyone has already faced the same difficulties or having a possible 
> > solution to this problem ? 
> >  
> > Thanks in advance for your answers,
> > Basler Corentin
> > 
> > 
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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