How to use Rockchip 6TOPs NPU to accelerate the processing of network packets

How to use Rockchip 6TOPs NPU to accelerate the processing of network packets, do you have any good ideas?

SoC: Rockchip RK3588
CPU: Quad-core ARM Cortex-A76(up to 2.4GHz) and quad-core Cortex-A55 CPU (up to 1.8GHz)
GPU: Mali-G610 MP4, compatible with OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan1.2
VPU: 8K@60fps H.265 and VP9 decoder, 8K@30fps H.264 decoder, 4K@60fps AV1 decoder, 8K@30fps H.264 and H.265 encoder
NPU: 6TOPs, supports INT4/INT8/INT16/FP16

NPU mean Neural processing unit and has nothing to do with processing network packets.

1 Like

As @maurer said, RK3588's NPU is for "various AI applications". You can't use it to accelerate NAT or QoS operations.

That being said, you don't really need network accelerators for this class of CPU. Raspberry Pi 4 can process and route packets at gigabit speeds with its Cortex-A72 using only software. So the RK3588's Cortex-A76 should be up to the task by itself.

1 Like

But what about 2.5g ?! It could really help for things like sqm at those speeds but NPU can't be used for it.

Yes, do you have any ideas to fully utilize the NPU of rk3588? Using rk3588 as a router is like shooting mosquitoes with a cannon. :wink:

What part of packet processing you can offload to a dsp? Like linear determinant of packet checksums or gaussian blur of video data?
Even crypto co-processors usually add latency as data needs to be moved between (pci) buses using cpu and ram.

1 Like