DPDK usage discussions
 help / color / mirror / Atom feed
* [test-bbdev] Custom test-vector
@ 2021-11-10 12:28 Ginés García Avilés
  2021-11-10 18:21 ` Chautru, Nicolas
  0 siblings, 1 reply; 5+ messages in thread
From: Ginés García Avilés @ 2021-11-10 12:28 UTC (permalink / raw)
  To: users; +Cc: Chautru, Nicolas

[-- Attachment #1: Type: text/plain, Size: 714 bytes --]

Hi,
I'm still trying to generate test vectors for the bbdev application within
DPDK. More precisely, I want to create a test vector to run an LDPC
decoding operation.

For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:
  1) LDPC encoding + rate matching + modulation
  2) Demodulation + rate recover

The generated LLRs vector is directly decodable by flexRAN DPDK but when
using it through
bbdev, it takes max iterations to decode, meaning that the decoding process
was
unsuccessful.

Any ideas/documentation about how to properly create the test vectors?

PS: previous question here (
https://mails.dpdk.org/archives/users/2021-October/005864.html)

Regards,
Ginés.

[-- Attachment #2: Type: text/html, Size: 1024 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [test-bbdev] Custom test-vector
  2021-11-10 12:28 [test-bbdev] Custom test-vector Ginés García Avilés
@ 2021-11-10 18:21 ` Chautru, Nicolas
  2021-11-11  8:22   ` Ginés García Avilés
  0 siblings, 1 reply; 5+ messages in thread
From: Chautru, Nicolas @ 2021-11-10 18:21 UTC (permalink / raw)
  To: Ginés García Avilés, users

[-- Attachment #1: Type: text/plain, Size: 1276 bytes --]

Hi Gines,
What do you mean by “flexran DPDK” vs “bbdev”? “The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through
Bbdev”
The format of the input/output data is defined in the documentation. Basically 1 byte per LLR and captured in vectors with CPU endianness and processing as per 3gpp.

Thanks
Nic

From: Ginés García Avilés <gines.garcia@i2cat.net>
Sent: Wednesday, November 10, 2021 4:28 AM
To: users@dpdk.org
Cc: Chautru, Nicolas <nicolas.chautru@intel.com>
Subject: [test-bbdev] Custom test-vector

Hi,
I'm still trying to generate test vectors for the bbdev application within
DPDK. More precisely, I want to create a test vector to run an LDPC decoding operation.

For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:
  1) LDPC encoding + rate matching + modulation
  2) Demodulation + rate recover

The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through
bbdev, it takes max iterations to decode, meaning that the decoding process was
unsuccessful.

Any ideas/documentation about how to properly create the test vectors?

PS: previous question here (https://mails.dpdk.org/archives/users/2021-October/005864.html)

Regards,
Ginés.

[-- Attachment #2: Type: text/html, Size: 4530 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [test-bbdev] Custom test-vector
  2021-11-10 18:21 ` Chautru, Nicolas
@ 2021-11-11  8:22   ` Ginés García Avilés
  2021-11-11 15:17     ` Chautru, Nicolas
  0 siblings, 1 reply; 5+ messages in thread
From: Ginés García Avilés @ 2021-11-11  8:22 UTC (permalink / raw)
  To: Chautru, Nicolas; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 2130 bytes --]

Hi Nicolas,
thanks a lot for your quick response.

Basically, when passing the generated LLRs vector to
bblib_ldpc_decode_5gnr()
(bblib_ldpc_decoder_5gnr_request request = {}; request.varNodes =
generated_llrs)
it is able to decode it.
However, converting the same vector to the bbdev format (from int8 vector
to uint32_t chain),
bbdev throws RTE_BBDEV_SYNDROME_ERROR with the "iterationAtTermination"
variable always
equals to the max number of iterations.

Where could I find the documentation you are referring to?

Thanks in advance!

Regards,
Ginés.

El mié, 10 nov 2021 a las 19:22, Chautru, Nicolas (<
nicolas.chautru@intel.com>) escribió:

> Hi Gines,
>
> What do you mean by “flexran DPDK” vs “bbdev”? *“**The generated LLRs
> vector is directly decodable by flexRAN DPDK but when using it through *
>
> *Bbdev”*
>
> The format of the input/output data is defined in the documentation.
> Basically 1 byte per LLR and captured in vectors with CPU endianness and
> processing as per 3gpp.
>
>
>
> Thanks
>
> Nic
>
>
>
> *From:* Ginés García Avilés <gines.garcia@i2cat.net>
> *Sent:* Wednesday, November 10, 2021 4:28 AM
> *To:* users@dpdk.org
> *Cc:* Chautru, Nicolas <nicolas.chautru@intel.com>
> *Subject:* [test-bbdev] Custom test-vector
>
>
>
> Hi,
>
> I'm still trying to generate test vectors for the bbdev application within
>
> DPDK. More precisely, I want to create a test vector to run an LDPC
> decoding operation.
>
>
>
> For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:
>
>   1) LDPC encoding + rate matching + modulation
>
>   2) Demodulation + rate recover
>
>
>
> The generated LLRs vector is directly decodable by flexRAN DPDK but when
> using it through
>
> bbdev, it takes max iterations to decode, meaning that the decoding
> process was
>
> unsuccessful.
>
>
>
> Any ideas/documentation about how to properly create the test vectors?
>
>
>
> PS: previous question here (
> https://mails.dpdk.org/archives/users/2021-October/005864.html)
>
>
>
> Regards,
>
> Ginés.
>

[-- Attachment #2: Type: text/html, Size: 4638 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [test-bbdev] Custom test-vector
  2021-11-11  8:22   ` Ginés García Avilés
@ 2021-11-11 15:17     ` Chautru, Nicolas
  2021-11-11 16:12       ` Ginés García Avilés
  0 siblings, 1 reply; 5+ messages in thread
From: Chautru, Nicolas @ 2021-11-11 15:17 UTC (permalink / raw)
  To: Ginés García Avilés; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 2889 bytes --]

Hi Gines,
Note that the bblib_ldpc_decode_5gnr() function is doing purely the decoder, while the bbdev implementation would include the full FEC including the deRM as well. Are you familiar with 3gpp processing chain?
You can look a the function process_ldpc_dec_cp() in bbdev_turbo_software.c to see how the different SDK libraries are called to implement the full bbdev api.
Note that familiarity with 3GPP 5GNR standard is required
https://doc.dpdk.org/guides/prog_guide/bbdev.html
https://doc.dpdk.org/guides/bbdevs/turbo_sw.html
https://doc.dpdk.org/guides/tools/testbbdev.html

Thanks
Nic

From: Ginés García Avilés <gines.garcia@i2cat.net>
Sent: Thursday, November 11, 2021 12:23 AM
To: Chautru, Nicolas <nicolas.chautru@intel.com>
Cc: users@dpdk.org
Subject: Re: [test-bbdev] Custom test-vector

Hi Nicolas,
thanks a lot for your quick response.

Basically, when passing the generated LLRs vector to bblib_ldpc_decode_5gnr()
(bblib_ldpc_decoder_5gnr_request request = {}; request.varNodes = generated_llrs)
it is able to decode it.
However, converting the same vector to the bbdev format (from int8 vector to uint32_t chain),
bbdev throws RTE_BBDEV_SYNDROME_ERROR with the "iterationAtTermination" variable always
equals to the max number of iterations.

Where could I find the documentation you are referring to?

Thanks in advance!

Regards,
Ginés.

El mié, 10 nov 2021 a las 19:22, Chautru, Nicolas (<nicolas.chautru@intel.com<mailto:nicolas.chautru@intel.com>>) escribió:
Hi Gines,
What do you mean by “flexran DPDK” vs “bbdev”? “The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through
Bbdev”
The format of the input/output data is defined in the documentation. Basically 1 byte per LLR and captured in vectors with CPU endianness and processing as per 3gpp.

Thanks
Nic

From: Ginés García Avilés <gines.garcia@i2cat.net<mailto:gines.garcia@i2cat.net>>
Sent: Wednesday, November 10, 2021 4:28 AM
To: users@dpdk.org<mailto:users@dpdk.org>
Cc: Chautru, Nicolas <nicolas.chautru@intel.com<mailto:nicolas.chautru@intel.com>>
Subject: [test-bbdev] Custom test-vector

Hi,
I'm still trying to generate test vectors for the bbdev application within
DPDK. More precisely, I want to create a test vector to run an LDPC decoding operation.

For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:
  1) LDPC encoding + rate matching + modulation
  2) Demodulation + rate recover

The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through
bbdev, it takes max iterations to decode, meaning that the decoding process was
unsuccessful.

Any ideas/documentation about how to properly create the test vectors?

PS: previous question here (https://mails.dpdk.org/archives/users/2021-October/005864.html)

Regards,
Ginés.

[-- Attachment #2: Type: text/html, Size: 10037 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [test-bbdev] Custom test-vector
  2021-11-11 15:17     ` Chautru, Nicolas
@ 2021-11-11 16:12       ` Ginés García Avilés
  0 siblings, 0 replies; 5+ messages in thread
From: Ginés García Avilés @ 2021-11-11 16:12 UTC (permalink / raw)
  To: Chautru, Nicolas; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 3651 bytes --]

Hi Nicolas,
thanks a lot for your help, I really appreciate it.

I just started digging into the details, so it seems that I need to take a
deeper look at the 3GPP processing chain :)
Regarding your suggestion, could it be possible that the function you were
pointing out is process_ldpc_dec_cb() within bbdev_turbo_software.c (just
to be sure)?

Again, thanks a lot for your help.

Regards,
Ginés.

El jue, 11 nov 2021 a las 16:18, Chautru, Nicolas (<
nicolas.chautru@intel.com>) escribió:

> Hi Gines,
>
> Note that the bblib_ldpc_decode_5gnr() function is doing purely the
> decoder, while the bbdev implementation would include the full FEC
> including the deRM as well. Are you familiar with 3gpp processing chain?
>
> You can look a the function process_ldpc_dec_cp() in
> bbdev_turbo_software.c to see how the different SDK libraries are called to
> implement the full bbdev api.
>
> Note that familiarity with 3GPP 5GNR standard is required
>
> https://doc.dpdk.org/guides/prog_guide/bbdev.html
>
> https://doc.dpdk.org/guides/bbdevs/turbo_sw.html
>
> https://doc.dpdk.org/guides/tools/testbbdev.html
>
>
>
> Thanks
>
> Nic
>
>
>
> *From:* Ginés García Avilés <gines.garcia@i2cat.net>
> *Sent:* Thursday, November 11, 2021 12:23 AM
> *To:* Chautru, Nicolas <nicolas.chautru@intel.com>
> *Cc:* users@dpdk.org
> *Subject:* Re: [test-bbdev] Custom test-vector
>
>
>
> Hi Nicolas,
>
> thanks a lot for your quick response.
>
>
>
> Basically, when passing the generated LLRs vector to
> bblib_ldpc_decode_5gnr()
>
> (bblib_ldpc_decoder_5gnr_request request = {}; request.varNodes =
> generated_llrs)
>
> it is able to decode it.
>
> However, converting the same vector to the bbdev format (from int8 vector
> to uint32_t chain),
>
> bbdev throws RTE_BBDEV_SYNDROME_ERROR with the "iterationAtTermination"
> variable always
>
> equals to the max number of iterations.
>
>
>
> Where could I find the documentation you are referring to?
>
>
>
> Thanks in advance!
>
>
>
> Regards,
>
> Ginés.
>
>
>
> El mié, 10 nov 2021 a las 19:22, Chautru, Nicolas (<
> nicolas.chautru@intel.com>) escribió:
>
> Hi Gines,
>
> What do you mean by “flexran DPDK” vs “bbdev”? *“The generated LLRs
> vector is directly decodable by flexRAN DPDK but when using it through *
>
> *Bbdev”*
>
> The format of the input/output data is defined in the documentation.
> Basically 1 byte per LLR and captured in vectors with CPU endianness and
> processing as per 3gpp.
>
>
>
> Thanks
>
> Nic
>
>
>
> *From:* Ginés García Avilés <gines.garcia@i2cat.net>
> *Sent:* Wednesday, November 10, 2021 4:28 AM
> *To:* users@dpdk.org
> *Cc:* Chautru, Nicolas <nicolas.chautru@intel.com>
> *Subject:* [test-bbdev] Custom test-vector
>
>
>
> Hi,
>
> I'm still trying to generate test vectors for the bbdev application within
>
> DPDK. More precisely, I want to create a test vector to run an LDPC
> decoding operation.
>
>
>
> For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:
>
>   1) LDPC encoding + rate matching + modulation
>
>   2) Demodulation + rate recover
>
>
>
> The generated LLRs vector is directly decodable by flexRAN DPDK but when
> using it through
>
> bbdev, it takes max iterations to decode, meaning that the decoding
> process was
>
> unsuccessful.
>
>
>
> Any ideas/documentation about how to properly create the test vectors?
>
>
>
> PS: previous question here (
> https://mails.dpdk.org/archives/users/2021-October/005864.html)
>
>
>
> Regards,
>
> Ginés.
>
>

[-- Attachment #2: Type: text/html, Size: 8504 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-11 16:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-10 12:28 [test-bbdev] Custom test-vector Ginés García Avilés
2021-11-10 18:21 ` Chautru, Nicolas
2021-11-11  8:22   ` Ginés García Avilés
2021-11-11 15:17     ` Chautru, Nicolas
2021-11-11 16:12       ` Ginés García Avilés

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git