project ideas
Interesting project ideas I wish to explore when I have the time.
- Hardwired AI accelerator: hardcode a small AI model, synthesize, get it produced, try and get very high performance, but without the ability to modify the underlying model -> AI card instead of a GPU for personal use.
- Tiny CPU emulator + compiler backend + assembler: Write a tiny CPU emulator and a backend for it, explore novel/not well known optimizations + tiny assembly language for it.
- Tiny emulated shader language: Experimentation, tiny syntax - limit file size to 1KB, 2KB, 4KB etc., submission site for sharing.
- PDF rendering/editing tool: Massive project, support some interesting PDF extensions, emulators, etc., math typesetting, Word-like interface.
- CPU + GPU profiler: CPU + GPU profiler - automatic website generation for viewing/sharing of traces, show flamegraphs for memory, instructions etc., separate graphs for GPU and CPU perf, show context changes, visualize threads/blocks.
- Revolving storage cleanroom
- Profiler explorer: Website for viewing several profiler traces, support for sharing via a link, quick and simple.
- Yet another systems programming language: Tiny and simple programming language, transpile to C, with C interop, tiny syntax (DEF was my stab at this some time ago, but I'm not very happy with it).
- Basic block superoptimizer: GPU search-based instruction superoptimizer.
- DIY smart lightbulbs: Philips hue but very simple, target low cost, OSS.
- C compiler: Standart-compliant C compiler with a simple backend, useful for testing various new optimization passes etc.