Hi Mooneer, The Odroid N2 running Fedora 35 performs much better than the Odroid M1 running Manjaro.
Odroid N2 Script: : cd LPCNet/build_linux # sanity check test echo "=========================" date cd src && sox ../../wav/wia.wav -t raw -r 16000 - | ./lpcnet_enc -s | ./lpcnet_dec -s > /dev/null date echo "=========================" Output ========================= Mon 13 Feb 2023 22:45:34 EST direct split VQ dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s direct split VQ dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s 64 1 1 16 128 1152 160 160 160 160 ftest cols = 2002 bits_written 7280 Mon 13 Feb 2023 22:45:39 EST ========================= Odroid M1 Tue 14 Feb 2023 14:52:11 AEDT direct split VQ direct split VQ dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s 64 1 1 16 128 1152 160 160 160 160 ftest cols = 2002 bits_written 7280 Tue 14 Feb 2023 14:52:24 AEDT So that's 1/2 speed of the Odroid N2. Yet both have the same max CPU clock of 1992MHz. Alan VK2ZIW On Fri, 10 Feb 2023 22:12:53 -0500, Mooneer Salem wrote > Hi Alan, > > Thanks for the testing! At first glance, the cutouts seem to be an indication > that the Odroid still isn't powerful enough (and/or Codec2 not optimized > enough yet) for the 2020 modes. Transmit always uses a lot less CPU power > than RX, so it's no surprise TX worked fine. > > Anyway, I feel like the FreeDV application should have disabled the ability > to use 2020 mode given your experience. Can you wipe your configuration to > defaults (Tools->Restore Defaults or delete ~/.freedv) and restart from the > terminal? That should produce some timing output that would be useful to > have. Some other stuff you can try: > > 1. Disable multiple receive support (Tools->Options->Modem and uncheck > "Simultaneously Decode All HF Modes"). > 2. Enable use of multiple threads for multiple receive (uncheck "Use single > thread for multiple RX operation" in the same Modem tab). > > Thanks, > > -Mooneer K6AQ > > On Fri, Feb 10, 2023 at 6:49 PM Al Beard <[email protected]> wrote: > > > > > > Hi, > > We need a portable platform for ALL codec2 modes including the 2020 modes. > > So, I acquired the Odroid M1 and loaded Manjaro, an "arch" derivative on a > 64Gb SD card. > > Audio devices to/from radio: Behringer UCA-202 which has Line-Out to RCA > connectors. > Mic and speaker: C-Media USB for mic, HDMI for speaker. > > Bugs so far: > Speaker out to the C-Media USB device gives heaps of errors, hence trying the > HDMI > Headphones on the VOLANS HDMI to VGA adapter. > > Today: > Compilation, out of the box, from "./build_linux.sh pulseaudio" worked > straight away. > (after loading the build system) > > Playing the 2020 file appeared not successful to HDMI audio out, clear audio > but bitsy, 1/4 sec gaps. > > Transmission in 2020 mode was successful to my Intel Linux PC here. > And in 700 modes to my "freebeacon" here. > > The available Ubuntu for the Odroid M1 has library issues so was abandoned > for Manjaro. > > > 0x73 > > > > On Tue, 7 Feb 2023 11:30:45 -0800, Mooneer Salem wrote > > Hi Alan, > > > > The "timeout" messages may be something that can be ignored, though it > > depends on whether the sample files decode okay for you. If there's > > stuttering or other abnormalities, then those messages may indicate a > > potential performance issue. Something that may help on slower systems is > > to uncheck the "Use single thread" option in Tools->Options->Modem to allow > > better utilization of all available cores for decoding (or alternatively, > > disabling multiple receive entirely). > > > > Thanks, > > > > -Mooneer K6AQ > > > > On Tue, Feb 7, 2023 at 3:54 AM Al Beard <[email protected]> wrote: > > > > > > Hi, > > > > > > Board: Odroid M1 with RK3568 SOC and 8Gb memory, 64Gb SD card > > > > > > On Manjaro (arch derivative) in FreeDV GUI, when one chooses, under Mode, > > the "Other" modes > > one can select 700C but anything under that is masked by the Start Split > > Analog menu. > > > > > > Then I stopped and started, FIXED, the Start Split etc. appeared at top RHS > > and Others: > > are now accessible. > > > > > > And the CPU usage is spread among the four cores and is always below 40%. > > > > > > Lots of messages on the terminal: > > txRxThread: timeout while waiting for CV, tx = 0 > > > > > > Encouraging. > > > > > > Alan VK2ZIW > > > > > > > > > > > > > > > > > > > > > > > > On Mon, 6 Feb 2023 09:08:27 -0800, Mooneer Salem wrote > > > Hi Alan, > > > > > > FYI, the benchmarks at the most recent PR on this topic > > > (https://github.com/drowe67/LPCNet/pull/51) may be of use. Currently the > > > LPCNet code as used by Codec2 can decode in just about 1x real time on > > > the Raspberry Pi 4B. However, that's still not sufficient IMO as non-real > > > time operating systems tend to have other things going on; thus, > > > freedv-gui requires at least 2x real-time to enable 2020 mode. > > > > > > Thanks, > > > > > > -Mooneer K6AQ > > > > > > On Sun, Feb 5, 2023 at 12:36 PM Al Beard <[email protected]> wrote: > > > > > > So, is the aarch64 "neon" code in LPCNet truly optimized? > > > > > > On looking at code examples > > > https://stackoverflow.com/questions/74968311/c-code-run-slower-when-simd-instructions-are-used > > > I see the type "union" used so the compiler does't have to "type" convert. > > > > > > Where am I going? > > > > > > To make portable operation practical, we need to have all Codec modes, > > > 700D and E and 2020x > > > all runnable on the Raspberry Pi 4 (and better) SBCs. > > > > > > Hence, I'm 'having a go' with a Rockchip RK3568 based Odroid M1 board. > > > > > > Do we have any experts out there in SIMD coding? > > > > > > Alan VK2ZIW > > > > > > > > > On Sun, 5 Feb 2023 14:37:30 +1000, Al Beard wrote > > > > Replying... > > > > > > > > In the PC running Fedora 34 x86_64 we have 5 secs of audio "wia.wav". > > > > > > > > date && sox ../../wav/wia.wav -t raw -r 16000 - | ./lpcnet_enc -s | > > > > ./lpcnet_dec -s > /dev/null; date > > > > Sun Feb 5 03:13:11 PM AEDT 2023 start > > > > Sun Feb 5 03:13:12 PM AEDT 2023 end > > > > > > > > > > > > So, on > > > > Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz we do the encode and decode in > > > > under 2 secs. > > > > bogomips : 7200.00 > > > > > > > > > > > > So far, on the ARM64 Odroid M1 running Manjaro with kernel 6.1.2 > > > > BogoMIPS : 48.00 <--- is this the same bogomips? > > > > > > > > Sun 05 Feb 2023 15:11:40 AEDT start > > > > Sun 05 Feb 2023 15:11:49 AEDT end > > > > > > > > > > > > 9 secs to do both encode and decode of 5 secs of audio. > > > > > > > > > > > > Obviously some optimization is needed! > > > > > > > > > > > > I had thought SIMD was turned ON in LPCNet, by me. > > > > > > > > > > > > Alan VK2ZIW > > > > > > > > > > > > On Fri, 3 Feb 2023 17:59:47 +1000, Al Beard wrote > > > > > Hi Mooneer and all, > > > > > > > > > > I've acquired an Odroid M1 SBC which has the RK3568 SOC which is > > > > > armv8 and an NPU on the SOC. > > > > > > > > > > And am running Ubuntu on an NVMe memory M2 board. > > > > > > > > > > Also I found Manjaro (arch) supports this SBC. > > > > > > > > > > (M1, M2 it gets confusing) > > > > > > > > > > Alan VK2ZIW > > > > > > > > > > > > > > > On Thu, 2 Feb 2023 23:41:17 -0800, Mooneer Salem wrote > > > > > > Hi Alan, > > > > > > > > > > > > Depending on the compiler in use, it's possible that it's not > > > > > > actually necessary to explicitly include NEON. For instance, I > > > > > > recall there being warnings on macOS regarding the NEON flags not > > > > > > being used. In fact, I just googled and found > > > > > > https://stackoverflow.com/questions/29851128/gcc-arm64-aarch64-unrecognized-command-line-option-mfpu-neon > > > > > > that confirms that special flags aren't needed. > > > > > > > > > > > > Additionally, the FreeDV application itself uses a different test > > > > > > for non-Intel architectures to determine suitability to run 2020 > > > > > > mode (effectively whether decoding a random 1 second audio sample > > > > > > can happen faster than 2x real time). So far, I haven't heard of > > > > > > the current crop of SBCs being able to do this, but the ARM Macs > > > > > > and a few of the systems that can run Windows for ARM can from what > > > > > > I recall. However, if you do happen to find an SBC that can > > > > > > comfortably run 2020, please let us know. > > > > > > > > > > > > Thanks, > > > > > > > > > > > > -Mooneer K6AQ > > > > > > > > > > > > On Thu, Feb 2, 2023 at 7:28 PM Al Beard <[email protected]> wrote: > > > > > > Hi Mooneer and all, > > > > > > > > > > > > The aarch64 ARM architecture on the latest 64bit ARM SBCs > > > > > > being armv8 architecture has NEON as part of "asimd". > > > > > > This is mandatory in "armv8". > > > > > > > > > > > > So, in: > > > > > > LPCNet/CMakeLists.txt: execute_process(COMMAND grep -c > > > > > > "neon" > > > > > > /proc/cpuinfo > > > > > > > > > > > > Will not find the required "neon" as in the "armv7" architecture. > > > > > > Perhaps: > > > > > > uname -p > > > > > > aarch64 > > > > > > > > > > > > Would be better. > > > > > > > > > > > > --------------------------------------------------- > > > > > > Alan VK2ZIW > > > > > > Before the Big Bang, God, Sela. > > > > > > OpenWebMail 2.53, nothing in the cloud. > > > > > > > > > > > > -- > > > > > > You received this message because you are subscribed to the Google > > > > > > Groups "digitalvoice" group. > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > > > > send an email to [email protected]. > > > > > > To view this discussion on the web visit > > > > > > https://groups.google.com/d/msgid/digitalvoice/20230203031706.M82996%40unixservice.com.au. > > > > > > > > > > > > -- > > > > > > You received this message because you are subscribed to the Google > > > > > > Groups "digitalvoice" group. > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > > > > send an email to [email protected]. > > > > > > To view this discussion on the web visit > > > > > > https://groups.google.com/d/msgid/digitalvoice/CAAzDfxNX1z%3D%3DP05rsCmvCHSst87fFs__LxYOupd7gxSG2f7KOA%40mail.gmail.com. > > > > > > > > > > --------------------------------------------------- > > > > > Alan VK2ZIW > > > > > Before the Big Bang, God, Sela. > > > > > OpenWebMail 2.53, nothing in the cloud. > > > > > > > > > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > > > Groups "digitalvoice" group. > > > > > To unsubscribe from this group and stop receiving emails from it, > > > > > send an email to [email protected]. > > > > > To view this discussion on the web visit > > > > > https://groups.google.com/d/msgid/digitalvoice/20230203075358.M42884%40unixservice.com.au. > > > > > > > > --------------------------------------------------- > > > > Alan VK2ZIW > > > > Before the Big Bang, God, Sela. > > > > OpenWebMail 2.53, nothing in the cloud. > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups "digitalvoice" group. > > > > To unsubscribe from this group and stop receiving emails from it, send > > > > an email to [email protected]. > > > > To view this discussion on the web visit > > > > https://groups.google.com/d/msgid/digitalvoice/20230205041946.M13886%40unixservice.com.au. > > > > > > --------------------------------------------------- > > > Alan VK2ZIW > > > Before the Big Bang, God, Sela. > > > OpenWebMail 2.53, nothing in the cloud. > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "digitalvoice" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > > email to [email protected]. > > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/digitalvoice/20230205202426.M96112%40unixservice.com.au. > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "digitalvoice" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > > email to [email protected]. > > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/digitalvoice/CAAzDfxP%2BMAzqVC6zmj66EPQJwZCacfmgEr3UuL0vJD-HMXiYCg%40mail.gmail.com. > > > > --------------------------------------------------- > > Alan VK2ZIW > > Before the Big Bang, God, Sela. > > OpenWebMail 2.53, nothing in the cloud. > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "digitalvoice" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected]. > > To view this discussion on the web visit > > https://groups.google.com/d/msgid/digitalvoice/20230207113306.M14341%40unixservice.com.au. > > > > -- > > You received this message because you are subscribed to the Google Groups > > "digitalvoice" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected]. > > To view this discussion on the web visit > > https://groups.google.com/d/msgid/digitalvoice/CAAzDfxNxya3q1eSGCJGEqVazs4KhDAL6XsitOH5JgEdrtVrvUg%40mail.gmail.com. > > --------------------------------------------------- > Alan VK2ZIW > Before the Big Bang, God, Sela. > OpenWebMail 2.53, nothing in the cloud. > > > -- > You received this message because you are subscribed to the Google Groups > "digitalvoice" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/digitalvoice/20230210234539.M25873%40unixservice.com.au. > --------------------------------------------------- Alan VK2ZIW Before the Big Bang, God, Sela. OpenWebMail 2.53, nothing in the cloud.
_______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
