{"push_id":2389145714,"size":95,"distinct_size":95,"ref":"refs/heads/master","head":"2cee9bb9f5d8ad43759e747397ba517b0675a7d3","before":"9970fd8148e835a65ed45d66e7ebaff57af3b01b","commits":[{"sha":"f69047ea48fe5eb4c7269b49c3e6d1aef7f6967d","author":{"name":"Niketan Pansare","email":"330b2f3620185332dbffeb3b6eaf48a02297cb10@us.ibm.com"},"message":"[SYSTEMML-445] Update algorithm selection logic on GPU for\nconv2d_backward_data","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/f69047ea48fe5eb4c7269b49c3e6d1aef7f6967d"},{"sha":"5da8132ea8c165d6d1a65c2c293fc87aaa15a2a3","author":{"name":"Niketan Pansare","email":"330b2f3620185332dbffeb3b6eaf48a02297cb10@us.ibm.com"},"message":"[SYSTEMML-445] Guard JCudaKernels with sysml.gpu.sync.postProcess flag","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/5da8132ea8c165d6d1a65c2c293fc87aaa15a2a3"},{"sha":"ad5275932e9d74fc4c980757c1ef8e94b6ea04e1","author":{"name":"Niketan Pansare","email":"330b2f3620185332dbffeb3b6eaf48a02297cb10@us.ibm.com"},"message":"[SYSTEMML-445] Disable ternary aggregate rewrite on GPU backend\n\n- This issue will be revisited when we add tack+ and tak+ kernels.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/ad5275932e9d74fc4c980757c1ef8e94b6ea04e1"},{"sha":"416ebc02a2a7eddfa2d8e0456003cede7af9fa37","author":{"name":"Niketan Pansare","email":"330b2f3620185332dbffeb3b6eaf48a02297cb10@us.ibm.com"},"message":"[SYSTEMML-445] Added load_keras_weights flag in Keras2DML to avoid transfering randomly initialized weights\n\n- By default, load_keras_weights is set to False. Hence, the weights will\n  be transferred to SystemML by default.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/416ebc02a2a7eddfa2d8e0456003cede7af9fa37"},{"sha":"6c468f98bfb0c00f21abcec9d49ab63590c393b1","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2105] New single-precision native conv2d/conv2d_bias_add ops\n\nThis patch improves the performance of compute-intensive cnn scoring\napplications by additional support for single-precision native conv2d\nand conv2d_bias_add operations. Furthermore, this also includes\nsingle-precision matrix multiplication (sgemm) and templatized\nprimitives for im2col, computeNNZ, and biasAdd.\n\nDue to the conversion of double inputs and outputs, initial experiments\nshowed only minor improvements because the conversion costs were not\namortized. However, with a careful exchange via preallocated direct\nfloat buffers (which avoid unnecessary copies on JNI invocations) as\nwell as parallelized input/output conversions, this patch significantly\nimproved performance from 445s to 283s for dense conv2d_bias_add\noperations in an end-to-end scoring application.\n\nFurthermore, this also includes minor fixes of the existing native code\nfor the compilation with openblas libraries.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/6c468f98bfb0c00f21abcec9d49ab63590c393b1"},{"sha":"525381d51a9df8a2613f699cad2538d2ddf1f759","author":{"name":"Niketan Pansare","email":"330b2f3620185332dbffeb3b6eaf48a02297cb10@us.ibm.com"},"message":"[SYSTEMML-2105] Support single-precision conv2d with MKL\n\nCloses #723.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/525381d51a9df8a2613f699cad2538d2ddf1f759"},{"sha":"c95019fd99076b4b8b7e6c5cfec85fd9949b2512","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2106] New single-precision native matrix multiply\n\nThis patch extends - similar to native conv2d/con2d_bias_add operations\n- also the native matrix multiply for optional single-precision use.\nThis also includes cleanups of mkl imports and nnz maintenance in double\nand single-precision conv2d operations.\n\nFurthermore, this patch includes build shared libraries for both mkl and\nopenblas.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/c95019fd99076b4b8b7e6c5cfec85fd9949b2512"},{"sha":"f14255f464017a0f3dea1d335160b25810fe20a3","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2108] Performance CP ternary +* and -* operations\n\nSince the introduction of the general ternary operation framework for\nifelse (which also subsumed the specific +* and -* operations), the +*\nand -* operations showed non-negligible overhead, especially for\nsparse-dense combinations. Hence, this patch adds a special case for\nmatrix-scalar-matrix and matrix-matrix-scalar operations that routes\nthese operations to the binary operation framework.\n\nOn lenet over mnist, +* and -* consumed 28% execution time - this patch\nthen reduced the runtime of these operations by more than 2x.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/f14255f464017a0f3dea1d335160b25810fe20a3"},{"sha":"a671883fc5cac2d81e0dcbd33c57abe1d45b593a","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2129] Performance sparse relu_backward operations\n\nThis patch improves the performance of sparse relu_backward operations\n(including the common case of dense-sparse) by (1) allocating the output\nin sparse representation if at least one input is sparse, (2) dedicated\nimplementations for all dense-sparse combinations, and (3) thread-local\nnnz maintenance to avoid unnecessary passes over the output.\n\nOn 1000 iterations of lenet over mnist, this patch improved the\nrelu_backward runtime (for 2000 exec calls), from 24.9s to 5.6s.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/a671883fc5cac2d81e0dcbd33c57abe1d45b593a"},{"sha":"c3601d419a47f218af1517eaee66383d820ada86","author":{"name":"Janardhan Pulivarthi","email":"58db25c77146b3e86c576be1394f60bdd9727ecd@protonmail.com"},"message":"[SYSTEMML-2068] Codegen support for xor operations\n\nCloses #718.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/c3601d419a47f218af1517eaee66383d820ada86"},{"sha":"d79e1c565a88e03e16469d1b7a92b51835db089e","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2120] New plan cache for cost-based codegen optimizer\n\nSo far the codegen framework used a plan cache to reused generated and\ncompiled operators. Since this operator plan cache determined operator\nequivalence based on hashing cplans, the optimizer still had to\nrepeatedly enumerate and cost plans (which cover multiple cplans). This\npatch introduces an additional plan cache in the cost-based optimizer to\nreduce the overhead of repeated optimization with equivalent inputs.\n\nIn detail, we compute plan partition signatures and used these to match\nequivalent optimization problems which allows to reuse optimization\nresults. These signatures are cheap to compute but inexact and hence we\nonly use this plan cache for more than 10 interesting points which makes\ncollisions practically impossible.\n\nOn a scenario of 1000 iterations over lenet (mini-batch algorithm, with\nneed to dynamic recompilation, and a large partition of 14 interesting\npoints in the inner loop), this patch improved the total runtime from\n442s to 183s (239s without codegen). This improvement is due to a cache\nhit rate of 990/1013 for amenable plans, reducing the number of costed\nplans from 11M to 150K (out of a total plan space of 1,064,354,993,445)\nand the total codegen overhead from 236s to 8.6s.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/d79e1c565a88e03e16469d1b7a92b51835db089e"},{"sha":"ae98864e5061da0a44aebd703104177bd8a4d9d0","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2068] Fix sparse-dense vector xor operations\n\nThis patch fixes the vector primitive for sparse-dense xor operations\nwhich used a wrong signature leading to codegen compilation errors.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/ae98864e5061da0a44aebd703104177bd8a4d9d0"},{"sha":"2d57dc576092142a6078c09c07e5f3b97351900b","author":{"name":"Janardhan Pulivarthi","email":"58db25c77146b3e86c576be1394f60bdd9727ecd@protonmail.com"},"message":"[MINOR] Fix naming sparse-sparse relu_backward\n\nClosed #725.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/2d57dc576092142a6078c09c07e5f3b97351900b"},{"sha":"206e912c5bf36e27fa07e59ada1a9f3a0abe63dd","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2132] Fix intermediate memory estimate matrix multiply hops\n\nThis patch fixes a long hidden issue of unnecessarily large intermediate\nmemory estimate for aggregate binary (i.e., matrix multiply) operators.\nThis estimate is supposed to account for a potential switch to sparse\n(the worst case at the sparsity turn point) but because we used this\nturn point, it was already estimated as dense. With this patch, we no\nlonger compile unnecessary spark instructions for auto-encoder over a\n100K x 10K dense input with 35GB driver.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/206e912c5bf36e27fa07e59ada1a9f3a0abe63dd"},{"sha":"94f1b72efa7fe768ca694d894cb6d39130ed43fc","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[MINOR] Cleanup codegen candidate exploration (preserve all candidates)","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/94f1b72efa7fe768ca694d894cb6d39130ed43fc"},{"sha":"54570660d6e5beddc88d9b6fa44de8f08e855dc8","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2133] Performance cp maxpooling operations (load balance)\n\nThis patch makes a minor performance improvement to maxpooling and\nmaxpooling_backward operations. So far we used static task partitioning\nin the number of threads which led to suboptimal load balance. Since\nthese maxpooling operations do not create intermediates, we now use\ntwice as many tasks as threads. On an end-to-end cnn scoring\napplication, this improved the maxpooling performance by 25%.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/54570660d6e5beddc88d9b6fa44de8f08e855dc8"},{"sha":"aa537dad43f2cf21badaedcb8629b27ad301032b","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2082] Codegen support for ternary ifelse in cell/magg tmpls\n\nThis patch adds basic support for ternary ifelse operations in codegen\ncell and magg templates along with related tests.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/aa537dad43f2cf21badaedcb8629b27ad301032b"},{"sha":"b7fd340fe40b1c73f915beb9a770e78009d44db6","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2136] Fix int overflow in spark/mr text to binary conversion\n\nThis patch fixes an issue of integer overflows when converting matrices\nwith a large number of rows or columns (>2 billion) from textcell to\nbinary block representation. The issue was a misplaced cast in the\ncomputation of block sizes.\n\nFurthermore, this also includes a minor javadoc fix of the xor codegen\nsupport (which currently breaks the distribution build).","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/b7fd340fe40b1c73f915beb9a770e78009d44db6"},{"sha":"92ee2cbf8c52346a9f14f04d9a2a1c57e963b059","author":{"name":"Matthias Boehm","email":"7ddee6c7b4aca41f2fcb4f04aeaf1a66e6500895@gmail.com"},"message":"[SYSTEMML-2135] Compiler/runtime support for matrices w/ zero rows/cols\n\nThis patch makes a deep-cutting change to the compiler and runtime in\norder to support matrices with zero rows and columns in order to\nsimplify common scenarios such as init-empty & append. In detail, this\nincludes tests for these common scenarios, modifies append and datagen\noperations accordingly, and modifies many compiler/runtime conditions to\nallow the modified matrix definition. In subsequent patches, we will\nfurther address the I/O path and operations such as unary aggregates\nthat require special treatment.\n\nFurthermore, this also fixes a hidden issue of MR map-append rbind\noperations, which read under special conditions wrong blocks from the\ndistributed cache.","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/92ee2cbf8c52346a9f14f04d9a2a1c57e963b059"},{"sha":"8b054804e64ba48ca87016dbe82a4349489b031d","author":{"name":"Niketan Pansare","email":"330b2f3620185332dbffeb3b6eaf48a02297cb10@us.ibm.com"},"message":"[SYSTEMML-445] Bugfix in Caffe2DML/Keras2DML's concat layer for sentence CNN","distinct":true,"url":"https://api.github.com/repos/dusenberrymw/systemml/commits/8b054804e64ba48ca87016dbe82a4349489b031d"}]}
{"actor":{"display_login":"dusenberrymw"}}