blob: eba95c039a760e1ce3be9986788fa2dc4afcaeb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
+++
title = "How to run C on spatial hardware"
author = "Yann Herklotz"
tags = []
categories = []
backlinks = ["1e"]
forwardlinks = []
zettelid = "1e1"
+++
- Key is that hardware has unlimited parallelism
- Want to take away the unnecessary ordering that is imposed in
software
- Loads ask for memory and can then block to retrieve the memory
- For if-statements, the branch is removed and is instead replaced by
a multiplexer
- Any stores in the if-statement need to be anded with the condition
of that branch
- If the execution time is very different in two branches, they should
be separated into different control flow statements, so that the
delay is only experienced when that branch is actually taken.
|