PYNQ-HLS icon indicating copy to clipboard operation
PYNQ-HLS copied to clipboard

Expand the size of the matrix

Open leankemski opened this issue 6 years ago • 4 comments

Hi, I tried to change the dimensions for matrix A and B into 1000*1000, and I just changed the size of matrix in mmilt.hpp and sharedmem.py. It did not work, the result of the matrix was wrong. Here are the codes I changed, the board I used is PYNQ-Z1. Can you tell me what else should I change, thx. in mmult.hpp // Dimensions for A and B (which determine C) #define A_ROWS 1000 #define A_COLS 1000 #define B_ROWS A_COLS #define B_COLS 1000 in sharedmem.py __MMULT_A_SHAPE = (1000, 1000) __MMULT_BT_SHAPE = (1000, 1000) __MMULT_C_SHAPE = (1000, 1000) (https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png)

I also want to know if i change the type to float would the ip work correctly?

leankemski avatar Dec 11 '18 06:12 leankemski

Did you re-compile the overlay?

On Dec 10, 2018, at 10:30 PM, leankemski [email protected] wrote:

I tried to change the dimensions for matrix A and B into 1000*1000, and I just changed the size of matrix in mmilt.hpp and sharedmem.py. It did not work, the result of the matrix was wrong. Here are the codes I changed, the board I used is PYNQ-Z1. Can you tell me what else should I change, thx. in mmult.hpp // Dimensions for A and B (which determine C) #define A_ROWS 1000 #define A_COLS 1000 #define B_ROWS A_COLS #define B_COLS 1000 in sharedmem.py __MMULT_A_SHAPE = (1000, 1000) __MMULT_BT_SHAPE = (1000, 1000) __MMULT_C_SHAPE = (1000, 1000) (https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/drichmond/PYNQ-HLS/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AGFUdF3j5mw7pdtileBH5F4PPL2HFd-Pks5u31EBgaJpZM4ZMwES.

drichmond avatar Dec 12 '18 16:12 drichmond

Did you re-compile the overlay? On Dec 10, 2018, at 10:30 PM, leankemski @.**> wrote: I tried to change the dimensions for matrix A and B into 10001000, and I just changed the size of matrix in mmilt.hpp and sharedmem.py. It did not work, the result of the matrix was wrong. Here are the codes I changed, the board I used is PYNQ-Z1. Can you tell me what else should I change, thx. in mmult.hpp // Dimensions for A and B (which determine C) #define A_ROWS 1000 #define A_COLS 1000 #define B_ROWS A_COLS #define B_COLS 1000 in sharedmem.py __MMULT_A_SHAPE = (1000, 1000) __MMULT_BT_SHAPE = (1000, 1000) __MMULT_C_SHAPE = (1000, 1000) (https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png) — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#1>, or mute the thread https://github.com/notifications/unsubscribe-auth/AGFUdF3j5mw7pdtileBH5F4PPL2HFd-Pks5u31EBgaJpZM4ZMwES.

Yes, I re-compiled the overlay according to the tutorial.

leankemski avatar Dec 13 '18 00:12 leankemski

Increase the delay in sharedmem.py. I think your matrix is taking longer than 1 second to multiply

On Dec 12, 2018, at 4:47 PM, leankemski [email protected] wrote:

Did you re-compile the overlay? … On Dec 10, 2018, at 10:30 PM, leankemski @.**> wrote: I tried to change the dimensions for matrix A and B into 10001000, and I just changed the size of matrix in mmilt.hpp and sharedmem.py. It did not work, the result of the matrix was wrong. Here are the codes I changed, the board I used is PYNQ-Z1. Can you tell me what else should I change, thx. in mmult.hpp // Dimensions for A and B (which determine C) #define A_ROWS 1000 #define A_COLS 1000 #define B_ROWS A_COLS #define B_COLS 1000 in sharedmem.py __MMULT_A_SHAPE = (1000, 1000) __MMULT_BT_SHAPE = (1000, 1000) __MMULT_C_SHAPE = (1000, 1000) (https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png) — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#1>, or mute the thread https://github.com/notifications/unsubscribe-auth/AGFUdF3j5mw7pdtileBH5F4PPL2HFd-Pks5u31EBgaJpZM4ZMwES.

Yes, I re-compiled the overlay according to the tutorial.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

drichmond avatar Dec 13 '18 00:12 drichmond

Increase the delay in sharedmem.py. I think your matrix is taking longer than 1 second to multiply

Thank you. I changed delay to 100, it worked for a 300 matrix. But for a matrix of 1000, it should be more longer. I think if I change the type into float, it will be much worse. Will the mmult perform better if I unroll the loop? There is no accerlerlated computation now.

leankemski avatar Dec 14 '18 04:12 leankemski