-
Notifications
You must be signed in to change notification settings - Fork 4
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
TIOVXDLPreProc: High input resolutions fails allocating TIVX memory #115
Comments
Regarding this issue: The TIVXMemBufferAlloc depends not only on the frame's width & height but also in the format and data format type. The supported resolution for the frames goes from 1 - 8192. That represents allocations per buffer as exemplified below: RGBwidth * height * data channels = buffer size
8192 * 8192 * 3 = 201.33 M NV128192 * 8192 * 1.5 = 100.66 M Now, these elements supports dynamic buffer pool size that goes from 2 - 16. And the default value is 2 for input and 2 for output; 4 buffers. We also have to consider the use case of TIOVXDLPreProc using float32 data-type, which adds up more memory usage, per example: RGB8192 * 8192 * 3 * 4 = 805.31 M The most memory consuming scenario would be: RGB format with Float32 data type and the 16 buffer input/output pool demand: tivxmemBufferAlloc = w * h * datachannel * datatype * (input bpool size + output bpool size)
= 8192 * 8192 * 3 * 4 * (16 + 16) = 25769.80 M Please let me know your thoughts about this constraint. cc: @shyam-j , @shyamj , @rrcarlosrodriguez |
This issue can be reproduced in the modules by setting the test application to use the same parameters and duplicating the number of allocs to simulate a pool size of 2, the following patch shows those changes.
After running the test app it show the same error:
|
The text was updated successfully, but these errors were encountered: