@@ -215,7 +215,35 @@ Among the cool things that we will speed up:
215215- optimal Karatsuba Algorithm
216216- optimal FFT
217217
218- This work is largely based on blog posts, research papers, conference talks, and other work authored by a lot of people:
218+ Volume: 450-600 pages
219+ Release date: Q3 2022
220+
221+ ### Part II: Parallel Algorithms
222+
223+ Concurrency, models of parallelism, context switching, green threads, concurrent runtimes, cache coherence, synchronization primitives, OpenMP, reductions, scans, list ranking, graph algorithms, lock-free data structures, heterogeneous computing, CUDA, kernels, warps, blocks, matrix multiplication, sorting.
224+
225+ Volume: 150-200 pages
226+ Release date: 2023-2024?
227+
228+ ### Part III: Distributed Computing
229+
230+ <!-- (I might need some help from here on.) -->
231+
232+ Metworking, message passing, actor model, communication-constrained algorithms, distributed primitives, all-reduce, MapReduce, stream processing, query planning, storage, sharding, compression, distributed databases, consistency, reliability, scheduling, workflow engines, cloud computing.
233+
234+ Release date: ??? (more likely to be completed than not)
235+
236+ ### Part IV: Software & Hardware
237+
238+ <!-- (TODO: come up with a better title — one that emphasizes that this part is mainly about the software-hardware boundary and not PL/IC design.) -->
239+
240+ LLVM IR, compiler optimizations & back-end, interpreters, JIT-compilation, Cython, JAX, Numba, Julia, OpenCL, DPC++, oneAPI, XLA, (basic) Verilog, FPGAs, ASICs, TPUs and other AI accelerators.
241+
242+ Release date: ??? (less likely to be completed than not)
243+
244+ ### Acknowledgements
245+
246+ The book is largely based on blog posts, research papers, conference talks, and other work authored by a lot of people:
219247
220248- [ Agner Fog] ( https://agner.org/optimize/ )
221249- [ Daniel Lemire] ( https://lemire.me/en/#publications )
@@ -245,38 +273,14 @@ This work is largely based on blog posts, research papers, conference talks, and
245273- [ Jan Wassenberg] ( https://research.google/people/JanWassenberg/ )
246274- [ Marshall Lochbaum] ( https://mlochbaum.github.io/publications.html )
247275- [ Pavel Zemtsov] ( https://pzemtsov.github.io/ )
276+ - [ Gustavo Duarte] ( https://manybutfinite.com/ )
277+ - [ Nyaan] ( https://nyaannyaan.github.io/library/ )
248278- [ Nayuki] ( https://www.nayuki.io/category/programming )
249279- [ InstLatX64] ( https://twitter.com/InstLatX64 )
250280- [ ridiculous_fish] ( https://ridiculousfish.com/blog/ )
251281- [ Z boson] ( https://stackoverflow.com/users/2542702/z-boson )
252282- [ Creel] ( https://www.youtube.com/c/WhatsACreel )
253283
254- Volume: 450-600 pages
255- Release date: Q3 2022
256-
257- ### Part II: Parallel Algorithms
258-
259- Concurrency, models of parallelism, context switching, green threads, concurrent runtimes, cache coherence, synchronization primitives, OpenMP, reductions, scans, list ranking, graph algorithms, lock-free data structures, heterogeneous computing, CUDA, kernels, warps, blocks, matrix multiplication, sorting.
260-
261- Volume: 150-200 pages
262- Release date: 2023-2024?
263-
264- ### Part III: Distributed Computing
265-
266- <!-- (I might need some help from here on.) -->
267-
268- Metworking, message passing, actor model, communication-constrained algorithms, distributed primitives, all-reduce, MapReduce, stream processing, query planning, storage, sharding, compression, distributed databases, consistency, reliability, scheduling, workflow engines, cloud computing.
269-
270- Release date: ??? (more likely to be completed than not)
271-
272- ### Part IV: Software & Hardware
273-
274- <!-- (TODO: come up with a better title — one that emphasizes that this part is mainly about the software-hardware boundary and not PL/IC design.) -->
275-
276- LLVM IR, compiler optimizations & back-end, interpreters, JIT-compilation, Cython, JAX, Numba, Julia, OpenCL, DPC++, oneAPI, XLA, (basic) Verilog, FPGAs, ASICs, TPUs and other AI accelerators.
277-
278- Release date: ??? (less likely to be completed than not)
279-
280284### Disclaimer: Technology Choices
281285
282286The examples in this book use C++, GCC, x86-64, CUDA, and Spark, although the underlying principles conveyed are not specific to them.
0 commit comments