Comments (1)
Hi, sorry for the late response
I'm not the designer of STONNE so I cannot answer you with all the detail I would like to, but I will try to clarify your questions as much as possible:
-
Memory: you are right, tensor data is directly fed into the STONNE simulator. In this version of the simulator, as far as I remember we only consider that tensor data is already prepared in the scratchpad when starting the simulation, so memory transfer times are not considered on it. Maybe you can find some extra detail about this in the STONNE paper: https://arxiv.org/abs/2006.07137. Consider also taking a look at the MAERI's paper (https://anands09.github.io/papers/maeri_asplos2018.pdf), which is the architecture that STONNE simulates.
Well, and as you can see not considering that memory transfer times is a problem. For this reason, the authors of STONNE also developed SST-STONNE, an extended version of STONNE that can also simulate a more detailed memory hierarchy using the SST Simulator. It's currently available on this repo: https://github.com/stonne-simulator/sst-elements-with-stonne/tree/sparse_dataflows_project. However, there is not any documentation prepared yet for it ;-(. We are planning to document it this summer. -
Tiling: you are right, the tiling configuration affects both latency and throughput, and it also depends on both the size of the accelerator and the dimensions of the computation tensors. The taxonomy used for it is described in the mRNA paper (https://ieeexplore.ieee.org/abstract/document/8695674), which is a tool for generating automatic mappings for the MAERI architecture based on the architecture parameters (number of multiplier switches, distribution network bandwidth, and reduction network bandwidth, essentially). Selecting a good tiling (or better called, mapping) is crucial to ensure you achieve the maximum throughput, but selecting the best mapping is a non-trivial task. For that reason, we directly integrated mRNA into STONNE code along with other extensions to it, so you can generate those tilings (mappings) automatically just by including
-generate_tile=performance
into the STONNE simulation parameters. In case you want to use it from the PyTorch Frontend, take as an example this configuration file: https://github.com/stonne-simulator/stonne/blob/master/minibenchmarks/dogsandcats_tile_stonnemapper.txt -
Sparsity support: yes, on this version we only support sparsity through bitmap representation. If needed, we can try to also add support for CSR representation (this is already included on the SST-STONNE version, so I hope we could easily export to this version too)
If you have any extra question, do not hesitate on ask again :-)
from stonne.
Related Issues (19)
- I can't solve this error: "libtorch_python.so: undefined symbol" HOT 17
- stonne_connect compile fail when pytorch compilered with clang++ HOT 1
- `weights_tensorflow.pb` is in owner's trash HOT 4
- `NLP/BERT/` directory is missing HOT 3
- Missing building blocks of SIGMA HOT 2
- Error in installation of vision HOT 1
- Steps to Install STONNE successfully HOT 3
- Cannot Run Benchmarks HOT 10
- Parameter stats_path='.' missing for the SimulatedConv2d HOT 2
- Python-frontend installation errors HOT 3
- Memory leaks during big simulation runs - Destructors not being called HOT 2
- Running Stonne Without GPU Support HOT 2
- Error when trying to integrate the MADDPG with Stonne HOT 7
- Can we implement training on STONNE? HOT 2
- DRAM modeling HOT 4
- STT-RAM Implementation HOT 2
- The unit of data and frequency of the stonne HOT 6
- PyTorch frontend HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stonne.