How to Write Fast Code?
When your research/application needs to be fast, you will be able to:
- Feel comfortable hacking up a solution
- Leverage existing software building blocks
- Indicate which platform is the best one to use
- Reason about why a piece of existing code is slow
- Take care of potential performance bottlenecks
Philosophy on techniques
Why fast code? Driven by application, RMS pattern in application
What is valued in today's industry? Data
We're trying (to use fast code) to bridge the gap, in the Norman's Gulf, in using computing to make computers more intelligent. We're looking at recognition, mining and synthesis. And we're doing that by analyzing data, to be able to help us create more intelligent machines.
Landscapes of Computing Platforms
Three Axies
- Instruction Set
- Design Philosophy
- Power Consumption
Flynn's Taxnomy
- SISD: No parallelism
- SIMD: Exploits data parallelism
- MISD: Redundancy (used in Space ShuSle flight control)
- MIMD: Distributed compuJng