systemml-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Boehm (JIRA)" <>
Subject [jira] [Closed] (SYSTEMML-1140) Sparse/Caching performance bugs related to deep learning scripts
Date Sat, 24 Feb 2018 09:44:00 GMT


Matthias Boehm closed SYSTEMML-1140.
       Resolution: Fixed
         Assignee: Matthias Boehm
    Fix Version/s: SystemML 1.1

I'm closing this issue since we did not see such overheads after (1) we modified the buffer
pool logic for sparse matrices which now can use shallow serialize (pointer reference) similar
to dense blocks, and (2) we have much better support for sparse convolution and max pooling
operations which avoids the need for unnecessary dense-sparse conversions.

> Sparse/Caching performance bugs related to deep learning scripts
> ----------------------------------------------------------------
>                 Key: SYSTEMML-1140
>                 URL:
>             Project: SystemML
>          Issue Type: Bug
>    Affects Versions: SystemML 1.0.0, SystemML 1.1
>            Reporter: Niketan Pansare
>            Assignee: Matthias Boehm
>            Priority: Blocker
>             Fix For: SystemML 1.1
> We have identified two performance bugs that frequently occurs in deep learning script.
> First, we repeatedly perform unnecessary conversion to sparse format. Also, the operations
such as matrix multiplication (including BLAS and CuBLAS) are optimized for dense.
> Second, even with large memory budget, we sometimes spend almost 20-30% time in caching.
> [~mboehm7] [~reinwald] [] I am labeling this bug as blocker for SystemML
1.0. Please feel free to assign this issue to yourself.
> *Improvements so far:*
> 1. Disabled sparse conversions & caching,  by [commit|]
> 2. binary sparse-dense mult/div, preallocation by [commit |]
> 3. For `conv_2d_bias_add`, the `elementWiseInPlaceTransposedAddition` method - first,
aggreates partial blocks w/o transpose. secondly, does a cache conscious transpose to output.
by [commit|]
> 4. serialization overhead of sparse matrices(in MCSR) on bufferpool write, by using inMemorySize
of cache block. by [commit |]
> 5. removeEmpty(rows) or order perfomance improved by , shallow copy of sparse rows,
exploiting the fact that removeEmpty(rows) and order do not modify the actual sparse rows.
by [commit|]

This message was sent by Atlassian JIRA

View raw message