[Weekly Review] 2020/03/09-15
2020/03/09-15
This week, I re-thought the data flow of row stationary plus
(RS+) and tried to generate the right data for each ports.
After I figure out the truly data flow of row stationary plus
, I thought we are supposed to call it column stationary
as we can get one column of partial sum at Noc level and Global Buffer level.
Git Commit Types
How to commit a elegant git log can be found here.
Commit Type | Title | Description | Emoji |
---|---|---|---|
feat |
Features | A new feature | ✨ |
fix |
Bug Fixes | A bug Fix | 🐛 |
docs |
Documentation | Documentation only changes | 📚 |
style |
Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | 💎 |
refactor |
Code Refactoring | A code change that neither fixes a bug nor adds a feature | 📦 |
perf |
Performance Improvements | A code change that improves performance | 🚀 |
test |
Tests | Adding missing tests or correcting existing tests | 🚨 |
build |
Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | 🛠 |
ci |
Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | ⚙️ |
chore |
Chores | Other changes that don't modify src or test files | ♻️ |
revert |
Reverts | Reverts a previous commit | 🗑 |
Scala Syntax
List.init
List.init
: return the elements of the list except the tail.
List.flatten
Use flatten to flat one dimension.
List.collect
list.zipWithIndex.collect {
case (x,i) if i % 3 == 0 => x
}
List.exists
&& List.contains
val result = m1.exists(y => {y % 3 == 0})
val result2 = m1.contains(5)
Chisel Syntax
fork.withRegion
Because the fork
likes the thread in Linux, each child run and generate data separately without any sharing. So if we want to poke
in one child thread and peek
at another thread, then we need to use fork.withRegion
to let the compiler knows that they should sharing the information.