Uploaded image for project: 'Apache MXNet (Retired)'
  1. Apache MXNet (Retired)
  2. MXNET-731

Memory Management in Scala binding

    XMLWordPrintableJSON

Details

    • Story
    • Status: To Do
    • Major
    • Resolution: Unresolved
    • Apache MXNet Scala API
    • None
    • Scala/Java 1 (07/30-08/13), Scala/Java 2 (08/13-08/27), Scala/Java 4 (09/10-09/24), Scala/Java 5 (09/24-10/08), Scala/Java 6 (10/08 - 10/22), Scala/Java 7 (10/22-11/5), Scala/Java 8 (11/5 - 11/19), Scala/Java 9 (11/19-12/3), Scala/Java 10 (12/3-12/17), Scala/Java 13 (01/14 - 01/28)

    Description

      Due to C++ nature of MXNet, Scala binding has to take care about memory management and garbage collector for its users. Success criteria: Scala API users should not have to take special care about disposing objects created by MXNet and hence should not see memory leaks with their implementation of MXNet using Scala API binding.

      Attachments

        1.
        Research how ND4J uses Garbage collector to manage off-heap memory Sub-task Done Naveen Swamy  
        2.
        Design & Prototype of Memory Management of Off-Heap objects created in Scala Sub-task Done Naveen Swamy  
        3.
        Research using Finalizers that runs inside a Single thread Sub-task Done Naveen Swamy  
        4.
        Conduct discussion on dev@ list for Scala API memory management proposal Sub-task Done Naveen Swamy  
        5.
        Extend NDArray to use NativeResource Sub-task Done Naveen Swamy  
        6.
        Using PhantomReference to manage NDArrays Sub-task Done Naveen Swamy  
        7.
        Write design document and publish to cwiki Sub-task Done Naveen Swamy  
        8.
        Create generic NativeResource Sub-task Done Naveen Swamy  
        9.
        Unit Tests for NativeResource Sub-task Done Naveen Swamy  
        10.
        Extend Symbol to use NativeResource Sub-task Done Naveen Swamy  
        11.
        Extend Executor to use NativeResource Sub-task Done Naveen Swamy  
        12.
        Create ResourceScope that accepts a code block to execute. Sub-task Done Naveen Swamy  
        13.
        Unit Tests for ResourceScope Sub-task Done Naveen Swamy  
        14.
        Create ResNet50 model to use for StressTesting and PerformanceTest Sub-task Done Zach Kimberg

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 3h 20m
        15.
        Update Model.scala and Feedforward.scala to resolve Memory Leaks Sub-task Done Naveen Swamy  
        16.
        Update Module.Scala to resolve Memory Leaks Sub-task In Progress Unassigned  
        17.
        Run CharRNNTest on GPU Sub-task Done Naveen Swamy  
        18.
        Test inside in a Docker Instance Sub-task Done Naveen Swamy  
        19.
        Usage Document for Memory in Scala/Java Sub-task Done Naveen Swamy

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 5h
        20.
        Make ResourceScope work in Java. Sub-task Done Piyush Ghai

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 2h 40m
        21.
        Refactor and Fix Memory Leak in FeedForward.scala Sub-task To Do Unassigned  

        Activity

          People

            nswamy@apache.org Naveen Swamy
            ddavydenko Denis Davydenko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 11h
                11h