chipsalliance / chipsalliance/chisel

Vec.reduceTree leads to java.lang.OutOfMemoryError

Open
#1,576 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
4.8k
Forks
658
Avg merge
18h 59m
Merged PRs (30d)
14

Description

In my code, the following usage of reduceTree will lead to OutOfMemoryError when the parameter dspXn grows from 16 to 32. The problem disappeared when I change the reduceTree to reduceLeft.

`io.convResult := VecInit((for(i<- 0 until 4)
yield VecInit((for(j<-0 until dspXn)
yield dspArray(j).result(i))).reduceTree(_+&_) ))`

Java runtime memory is enlarged using the following configuration. But the problem remains the same as long as reduceTree is used.
`export JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Xmx32G -Xmx16G -XX:MaxPermSize=1G -Xss16M"`

Seems there is some memory leakage in the implementation of reduceTree?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.