Select Git revision
-
Amira Abdel-Rahman authoredAmira Abdel-Rahman authored
README.md 6.40 KiB
Physical Computing Design Tools
Description
Repository for DICE design tools explorations.
Topics include:
- Programming strategies for spacial computing
- Data flow programming and Distributed Deep Neural Networks
- Physics Simulation
- Trusted Systems
- Reconfiguration strategies for DICE pieces
- CAM tools and path planing:
- Desktop (external) assembler
- Swarm assembly and manipulation
- CAM tools and path planing:
Demo Links
- "Physical Computing Interface" demo lives here.
- "Performance Calculation Graph" demo lives here.
- Distributed Deep Neural Networks
- UR10 voxel Assembly demo.
Progress
Hardware Architecture Inference
Probabilistic Programming
- Gamalon
- Using Dice pieces to do inference
- in order to find the best configuration based on its performance
- other tasks
- WebPPL: probabilistic programming for the web
- Probabilistic Graphical Models
In order to map the hardware architecture to an input dataflow program or computation graph, I modeled the hardware and software models as probabilistic graphical model, and used probabilistic programming to infer the best hardware architecture choices that will optimize the speed, energy and cost of the system.
I used WebPPL a probabilistic programming language in javascript. I model the variables I want to infer as if they come from different types of distributions that integrate our priors in them. In the following example I am using markov chain monte carlo as an inference method.
The structure of the probabilistic program looks like this: