New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gr-fec fecapi_async_decoders example not working #3376
Comments
|
It works in GNURadio 3.7. |
|
Looks to be related to #2642 - pretty much looks like conv encoder examples don't work in 3.8. This should definitely be prioritized. |
|
@jdemel @michaelld - I traced this back to the volk_8u_x4_conv_k7_r2_8u kernel, which behaves differently between whatever is included in 3.7 and whatever got included with 3.8. When I manually paste the generic kernel in the cc_decoder_impl.cc code, the bits line up as expected. |
|
@mormj So the generic VOLK kernel works as expected? But some other kernel version does not? Which GNU Radio and which VOLK version do you use exactly? |
|
This works - but leaving off the VOLK_GENERIC does not This is the latest master and latest volk. Looks like an AVX implementation was added in volk between the 3.7 and 3.8 release Here are my machines in cmake |
|
@mormj which version of VOLK are you using for testing? If not the current release, can you try the current release? |
|
This was with the latest tip on master: But I know for sure it's broken before that. I'll try the last tagged release |
|
The issue still occurs with Volk 2.2.1, and goes away with VOLK_GENERIC=1 |
How about with the recent Volk 2.3.0 release? |
I checked it. The problem persists. |
|
Is problem resolvable?! |
|
I'm sure it is, but it will require a fix in Volk, or removal of the specific kernel |
|
I tried different kernels. It seems the AVX2 kernel fails. generic/spiral work as expected. |
|
Is there a workaround for this aside from reverting to 3.7? |
|
@tim-huggins, yeah. there's a workaround. Run and make sure, it ends with The AVX kernel seems to be the reason for this bug. Unfortunately, it only manifests itself in GR. Thus, this bug is difficult to reproduce and track down. |
|
With the AVX kernel disabled in Volk, and gnuradio/volk#475, this issue appears to be gone. |
|
@Aang23 thanks for the report! I'm closing this. If someone finds that this doesn't work, please reopen and add some context. |
Hello!
I was trying the example fecapi_async_decoders from gnuradio/gr-fec/examples (my GNURadio version is the latest 3.8), surprisingly, it does not work as it should. If you try the dummy or repetition encoders, the output bytes match the input ones. However, if you select the convolutional encoder, they do not match at all:
https://imgur.com/R41BUj3
What can be causing this bug and how can it be solved? The fecapi_decoders example seems to work ok interestingly enough.
The text was updated successfully, but these errors were encountered: