SER45 LAX memory

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SER45 LAX memory

Jump to solution
511 Views
OPSofiane
Contributor II

Hi community mbd

I reused an example of mul_complex_matrix to generate the code and the binary file. the example works well, but if the matrix size is modified with a higher value, the bonaire doesn't respond. what is the maximum size of a matrix accepted by a LAX? how to choose on matlab the type of memory (SRAM vs DDR)?

Best 

OPSofiane

0 Kudos
Reply
1 Solution
465 Views
paulvlase
NXP Employee
NXP Employee

Hello @OPSofiane ,

 

Glad to hear that you were able to run the example.

You are right, if you increase the size of the matrices the example will fail. That happens because we have limited memory, 256 KB, that we can access on the LAX accelerator. The maximum size of the matrices, of the operands, depends on the type and the number of the operations executed on the LAX accelerator, but the total space occupied by the matrices must fit in those 256 KB of memory.

If your algorithm allows you can execute the LAX graph only on a subset/chunk of your matrices. Another approach the Radar SDK supports, you can use DMA to transfer chunks and process them, but we don't support this in our toolbox. Would it help if you could do this in the toolbox, to transfer chunks of your matrices through DMA?

The generated code allocates buffers in SRAM only and there isn't any option to change to DDR. May I know why you need to use DDR memory?

 

Regards,

Paul

View solution in original post

0 Kudos
Reply
2 Replies
455 Views
OPSofiane
Contributor II

Hello @paul 

Thank you for the response. In my application, I handle large matrices (around 100 Mo). This is why I wanted to allocate the memory in a DDR. If DMA can speed up data transfer, why not? is there an example of DMA in the S32R45?

Tahnk you in advance

Best regards,

OPSofiane

0 Kudos
Reply
466 Views
paulvlase
NXP Employee
NXP Employee

Hello @OPSofiane ,

 

Glad to hear that you were able to run the example.

You are right, if you increase the size of the matrices the example will fail. That happens because we have limited memory, 256 KB, that we can access on the LAX accelerator. The maximum size of the matrices, of the operands, depends on the type and the number of the operations executed on the LAX accelerator, but the total space occupied by the matrices must fit in those 256 KB of memory.

If your algorithm allows you can execute the LAX graph only on a subset/chunk of your matrices. Another approach the Radar SDK supports, you can use DMA to transfer chunks and process them, but we don't support this in our toolbox. Would it help if you could do this in the toolbox, to transfer chunks of your matrices through DMA?

The generated code allocates buffers in SRAM only and there isn't any option to change to DDR. May I know why you need to use DDR memory?

 

Regards,

Paul

0 Kudos
Reply