This is an automated email from the ASF dual-hosted git repository.
arnabp20 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git
The following commit(s) were added to refs/heads/main by this push:
new 11149be [SYSTEMDS-3267] Fix getMetadata task for FeatureHash
11149be is described below
commit 11149be275e5253b8729a58f8317cd19d8f9252c
Author: arnabp <[email protected]>
AuthorDate: Fri Jan 7 16:20:09 2022 +0100
[SYSTEMDS-3267] Fix getMetadata task for FeatureHash
This patch fixes a bug where the metadata task for
featue hash was scheduled before metadata allocation.
---
.../sysds/runtime/transform/encode/MultiColumnEncoder.java | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git
a/src/main/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.java
b/src/main/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.java
index 52bad53..3d1d98e 100644
---
a/src/main/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.java
+++
b/src/main/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.java
@@ -142,7 +142,7 @@ public class MultiColumnEncoder implements Encoder {
* ColumnCompositeUpdateDCTask: Update domain size of a DC encoder
based on #distincts, #bins, K
* ColumnMetaDataTask: Fill up metadata of an encoder
* ApplyTasksWrapperTask: Wrapper task for an Apply
- * UpdateOutputColTask: Sets starting offsets of the DC columns
+ * UpdateOutputColTask: Set starting offsets of the DC columns
*/
private List<DependencyTask<?>> getEncodeTasks(CacheBlock in,
MatrixBlock out, DependencyThreadPool pool) {
List<DependencyTask<?>> tasks = new ArrayList<>();
@@ -166,14 +166,15 @@ public class MultiColumnEncoder implements Encoder {
// getMetaDataTask depends on build completion
depMap.put(new Integer[] {tasks.size() + 1,
tasks.size() + 2}, //MetaDataTask
new Integer[] {tasks.size() - 1,
tasks.size()}); //BuildTask
- // getMetaDataTask depends on AllocMeta task
- depMap.put(new Integer[] {tasks.size() + 1,
tasks.size() + 2}, //MetaDataTask
- new Integer[] {1, 2});
//AllocMetaTask (2nd task)
// AllocMetaTask depends on the build
completion tasks
depMap.put(new Integer[] {1, 2},
//AllocMetaTask (2nd task)
new Integer[] {tasks.size() - 1,
tasks.size()}); //BuildTask
}
+ // getMetaDataTask depends on AllocMeta task
+ depMap.put(new Integer[] {tasks.size() + 1,
tasks.size() + 2}, //MetaDataTask
+ new Integer[] {1, 2});
//AllocMetaTask (2nd task)
+
// Apply Task depends on InitOutputMatrixTask (output
allocation)
depMap.put(new Integer[] {tasks.size(), tasks.size() +
1}, //ApplyTask
new Integer[] {0, 1});
//Allocation task (1st task)