Changes between Version 16 and Version 17 of WARPLab/BufferSizes


Ignore:
Timestamp:
Feb 9, 2015, 4:02:21 PM (9 years ago)
Author:
welsh
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WARPLab/BufferSizes

    v16 v17  
    33= WARPLab: Sample Buffer Sizes  =
    44
    5 In WARPLab 7.4 and earlier, all transmit and receive samples were stored in buffers of BRAM directly on the FPGA. As of WARPLab 7.5 these samples are buffered in the DRAM SODIMM attached to the WARP v3 hardware.
     5In WARPLab 7.4 and earlier, all transmit and receive samples were stored in buffers of BRAM directly on the FPGA. As of WARPLab 7.5 these samples are buffered in the BRAM but stored in the DRAM SODIMM attached to the WARP v3 hardware.
    66
    77|| ||=  '''WARPLab 7.4'''  =||=  '''WARPLab 7.5 (4RF)'''  =||=  '''WARPLab 7.5 (2RF)'''  =||
     
    1515== Performance Considerations ==
    1616
    17 With all of the extra buffer space that the hardware design is capable of, the chief limitation on usable buffer sizes shifts burden to the user's PC. Each sample is represented as a complex double precision floating point number  in a MATLAB, occupying 8 bytes in memory.
     17With all of the extra buffer space that the hardware design is capable of, the chief limitation on usable buffer sizes shifts burden to the user's PC. Each sample is represented as a complex double precision floating point number in a MATLAB, occupying 16 bytes in memory.
    1818
    1919The table below shows the storage size of various sample vectors, up to the new maximum vector lengths in WARPLab 7.5. Note these sizes are how much RAM is required to store each vector in the MATLAB workspace. Retrieving the vector and processing the vector requires additional RAM. Depending on the amount of RAM on the host PC and what other programs are currently running, a user should limit the number of samples they are working with to stay under the total available memory. If MATLAB's memory utilization rises too far, it is common that the MATLAB application will stall while the OS swaps memory to disk. On Windows the MATLAB {{{memory}}} command will summarize the available RAM and largest supported array size in your MATLAB instance.
     
    2727
    2828
     29One thing to note is that these are steady state memory figures for a request of a single interface.  Peak memory usages may be greater than this due to some copying of data between structures during fetches from the transport. 
     30
     31In WARPLab 7.5.0, due to the way the transport processes samples:
     32   Steady state memory usage = (Num Interfaces) * (Occupied Memory for the Sample Vector Length)
     33   Peak memory usage = (Num Interfaces + 1) * (Occupied Memory for the Sample Vector Length)
     34
     35For example, we we were trying to capture 2^25^ samples (ie 32 MSamples) for 4 interfaces, this would have a steady state memory usage of 2 GBytes (ie 4 Interfaces * 512 MBytes / Interface) and a peak memory usage of 2.5 GBytes (ie 5 Interfaces * 512 MBytes / Interface).
     36
     37
     38
     39