Hi, in testing our application on Jetpack 5.1.2 on our Xavier NX we noticed severe performance degredation when copying DMA memory (via NvBufSurfTransform()). In searching the forums there seem to have been several people who have also noticed this issue but have never received any definitive answer as to why. ( Jetpack 5.1.2 performance degradation vs jetpack 4.5 - #3 by AastaLLL
Following are our measured results in combination to what has been posted previously.
JP4: 100 iterations of nvbuffertransform is ~130ms (1.3ms per)
JP5: 100 iterations of Nvbufsurftransform is ~370 (3.7ms per)
With VIC pinned at max on JP5 it’s around 150ms. (Still slower).
The memory locations are created once and copied from A to B over and over.
Frame size is 1080p at YUV420. Filter is not set on the transform.
I’m sure you can create your own test to try replicate these findings yourself.
We require to use the Xavier NX due to the more capable NVENC and NVDEC capabilities and so can’t upgrade to Orin nor can we use Jetpack 6. We wish to use Jetpack 5 instead of 4 due to Ubuntu 18 being EOL.
No affect for us, we’re not copying to/from that page with DMA.
could you share a reproducible source
I include in this post a gutted version of video_decode_main.cpp from the 00_video_decode sample (With the extension changed from cpp to txt because forum wouldn’t let me upload .cpp). Just replace the file in there with this one, change extension, and compile it. Run it on jetpack 5, and change the #if from 1 to 0 for jetpack 4. video_decode_main.txt (3.4 KB)
What? I stated before my case was on Xavier NX, are you saying you did not use a Xavier NX?
And if you refer to my original post, the question is about the performance degredation from Jetpack 4 to 5. I’m not happy until it’s equal or better.
An explanation from one of your engineers as to what I’ve been calling the VIC ramping problem would also be appreciated. If you run this test twice in a row without a pinned VIC frequency you may find that the execution time is reduced by up to 50% (from 360 down to 260). This never happened on Jetpack 4, it always ran the same speed and as fast as we needed it to.
I ask for specifics as I want to know if these hardening changes can be disabled through boot parameters or something similar, hence why I ask for specifics if your engineers know that it was sec changes that caused it.