[Weekly Review] 2020/02/24-03/01
2020/02/24-03/01
This week I read a deep learning accelerator survey "A Survey of Accelerator Architectures for Deep Neural Networks" and gave a presentation related to it with some more details from Sze's 2019 presentation.
Also, I tried to generate the random test data to test PE. I found a Scala library named Breeze
, which contains almost all data types and operators needed to do convolution or img2col
matrix multiply. But it need to be translated to standard Scala type such as List
or Array
and then it can be used as the data source of my Chisel
test.
Plus, Sequencer helped me to establish mill
development environment and re-organize my project directories, hence now I can use mill
instead of sbt
.
Chisel & Scala Syntax
Breeze
Breeze is a library for numerical processing. I want to use Breeze
to generate random dense or sparsity matrix and then get the golden results of convolution or matrix multiply.
Here is an api summary. To use Breeze
, we need to add dependence in build.sc
(in mill
).
override def ivyDeps = Agg(
ivy"other_dependences",
ivy"org.scalanlp::breeze:1.0"
)
Replace sbt
with mill
in idea
After setup build.sc
, then run this command in terminal at the project root directory to let the idea
utilize mill:
mill mill.scalalib.GenIdea/idea