You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I was reading the code of software part and I saw there is a buffer management of weight buffer for convolution hardware functions. The function xiConstBufCreate() use the checkStack() function to check whether next allocated block of memory can fit in the STACK_SIZE with it's previous allocated block of memory. Other wise it shall allocate a new STACK_SIZE of memory. I tried to use normal sds_alloc without this specific memory buffer management for each buffer allocation and I do observed performance drop.
I want to know what is the reason of making this buffer management. How is the STACK_SIZE decided and why this pattern of memory allocation can have better performance than randomly assigned memory block by sds_alloc(). Thank you.
The text was updated successfully, but these errors were encountered:
Hi,
I was reading the code of software part and I saw there is a buffer management of weight buffer for convolution hardware functions. The function xiConstBufCreate() use the checkStack() function to check whether next allocated block of memory can fit in the STACK_SIZE with it's previous allocated block of memory. Other wise it shall allocate a new STACK_SIZE of memory. I tried to use normal sds_alloc without this specific memory buffer management for each buffer allocation and I do observed performance drop.
I want to know what is the reason of making this buffer management. How is the STACK_SIZE decided and why this pattern of memory allocation can have better performance than randomly assigned memory block by sds_alloc(). Thank you.
The text was updated successfully, but these errors were encountered: