ise 32b or 64b?

Oct 11, 2012 2 Replies

Hi!



Using Xilinx flow (command line, ISE 13.4)... 32b version vs 64b (under Linux,



64b OS)... memory usage:

|| | 32b | 64b | | xst | 1614M | 2986M | | map | 1563M | 2889M | | par | 1365M | 2404M |



Also the 32b runtime is faster than 64b....



The above table is from a Kintex-7 target running on a i5 machine, 8G RAM.



Similar numbers are seen for a Virtex-6 target, i7 machine, 24G RAM, different Linux flavor.



Does this look normal? Looks like if the design fits the memory space available for 32b binaries they are a much better choice.


mmihai

Well, 32-bit pointers are half the size of 64-bit pointers, so you would expect less memory to be used, but you wouldn't expect all data structures to double in size as they seem to here.

Cache hit rate should be better if half the amount of memory is used, which could explain the improved performance.

expect less memory to be used, but you wouldn't expect all data structures to double in size as they seem to here.

could explain the improved performance.

Yes, I know about the pointers ... however I would not expect the data structures to be only pointers :)

It's harder to comment about the cache since the performance is dependent of the access pattern .... Still the 64b code is supposed to be better since it has access to more CPU registers.

Just for fun, running xst with the simple script: help -arch virtex6 -command run (i.e. print help for run, do nothing).

32b: Total memory usage is 83656 kilobytes 64b: Total memory usage is 274236 kilobytes

Interesting ....

mmihai

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required