Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • How to address this problem across all submodules
    • mixed data types are used in several submodules such as mshadow, dlpack etc.
  • How to address this problem across all language bindings
    • C APIs are used by many language bindings
  • CUDNN GPU and MKLDNN support
    • Need to make sure CUDNN and MKLDNN operators also support large indices
  • Performance impact
    • there are known performance differences between int32 and int64 operations. How to make sure these differences would not cause severe performance regression in model training an inference
    • memory footprint
  • Backward compatibilityThis change potentially suffers from memory fragmentation. Since allocation on very large contiguous chunks of memory is not easy for OS. It uses virtual memory to achieve this. But this is also limited to the page size used by OS to allocate memory on Physical Memory. If the memory is too fragmented that OS cannot even allocate memory of the size of smallest page chunk then it will give memory allocation error.Approach to mitigate this problem: A new data structure based on the requirements of customer's that require creation of very large tensors. The new data structure can be optimized for either random access or contiguous access and should address the problem of memory fragmentation by allocating memory of smaller sized chunks.

Backward compatibility

We should support all existing operators with uint32_t data types.

...