07-04-2018 12:24 AM
07-05-2018 02:00 AM
07-10-2018 01:39 PM
Note that the content of the data motion report is the result of pragmas and static analysis. As a result, if the static analysis cannot deduce whether or not something is paged/contiguous, it will present it as paged, as it must err on the side of caution. If the memory is actually contiguous, it will not treat it as though it is paged.
In practical terms, "paged" memory requires that the memory be pinned prior to transfer, which is a very expensive procedure. For the purposes of this topic, "paged" pretty much means "anything that was not allocated with sds_alloc". As was previously mentioned, if sds_alloc is used, but the static analysis fails to deduce this, you'll end up with a paged-capable datamover [SG-DMA] at compile time, but you won't pay the pinning cost at run time.