-
Notifications
You must be signed in to change notification settings - Fork 0
Main goals
vird edited this page May 6, 2017
·
19 revisions
- Easy compose of any-size blocks as Lego
- "This was last time I wrote function that do X in env Y"
- Connect MY service A to MY service B. Sync protocols. Ensure that all works.
- Decide where code should be executed. Protocol. Start/restart/stop. Coordinator. Multithread management. Priority. Data locality. CPU cache hidden miss. Perf manual tuning.
- Write OpenCL kernel
- Single machine is not enough. Multithreading must have but it's only beginning.
- Single GPU is not enough. Managing multiple kernels on multiple GPU must be easy.
- 2+? level design.
- Top level pipe scheme
- May be some intermediate level
- Low level implementation of blocks
- "Write once debug everywhere" is not bad. At last you "write once".
- 1-space change semantics should be avoided
a +b a + b a+b a?b:c a? b:c a ? b:c
- Sync and async operations on top level design make no difference.
- Let compiler decides how to implement it.
- You can fix it in monitoring.
- [LATER] You can fix it in special annotations.