Skip to content

Commit 2671025

Browse files
committed
update hpc index
1 parent 546926f commit 2671025

1 file changed

Lines changed: 43 additions & 10 deletions

File tree

‎content/english/hpc/_index.md‎

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,38 @@ Its intended audience is everyone from performance engineers and practical algor
1515

1616
All materials are hosted on GitHub, with code in a [separate repository](https://github.com/sslotin/scmm-code). This isn't a collaborative project, but any contributions and feedback are very much welcome.
1717

18+
<!--
19+
20+
### FAQ
21+
22+
**Release date.**
23+
24+
There are also future parts (see below).
25+
26+
As of March 2nd 2022, the first part is 70-80% complete.
27+
28+
**Fixing errors.** If you spot an error, please create an issue on GitHub or, preferably, fix it right away (the pencil icon on the top-right).
29+
30+
**Pre-ordering / financially supporting the book.**
31+
32+
Until I find.
33+
34+
The best way you can help is to share the articles on link aggregation.
35+
36+
In either case, the book will always be available online in full version. "pay what you want" hard copy.
37+
38+
**Translations.** As the book. The website has a functionality.
39+
40+
Italian and Chinese (and I will personally translate at least some of it in my native Russian).
41+
42+
However, you are encouraged to make your translation. I'd appreciate it if and also sent me the link to the translation.
43+
44+
**"Translating" the Russian version.** The articles at [ru.algorithmica.org/cs/](https://ru.algorithmica.org/cs/) are not about advanced performance engineering but mostly about classical computer science algorithms, targeted towards competitive programming audience.
45+
46+
They are undergrad-level, and most of the information there is not unique in other placed on the internet — e. g. the similar-spirited [cp-algorithms.com](https://cp-algorithms.com/).
47+
48+
-->
49+
1850
### Part I: Performance Engineering
1951

2052
The first part covers the basics of computer architecture and optimization of single-threaded algorithms.
@@ -140,18 +172,19 @@ Among cool things that we will speed up:
140172

141173
- 2x faster GCD (compared to `std::gcd`)
142174
- 8-15x faster binary search (compared to `std::lower_bound`)
143-
- 7x faster segment trees
175+
- 5-10x faster segment trees (compared to Fenwick trees)
144176
- 5x faster hash tables (compared to `std::unordered_map`)
145-
- ~~?x faster popcount~~
177+
- 2x faster popcount (compared to repeatedly calling `popcnt`)
146178
- 2x faster parsing series of integers (compared to `scanf`)
147179
- ?x faster sorting (compared to `std::sort`)
148180
- 2x faster sum (compared to `std::accumulate`)
181+
- 2-3x faster prefix sum (compared to naive implementation)
182+
- 10x faster argmin (compared to naive implementation)
149183
- 10x faster array searching (compared to `std::find`)
150184
- 100x faster matrix multiplication (compared to "for-for-for")
151185
- optimal word-size integer factorization (~0.4ms per 60-bit integer)
152186
- optimal Karatsuba Algorithm
153187
- optimal FFT
154-
- argmin at the speed of memory
155188

156189
This work is largely based on blog posts, research papers, conference talks and other work authored by a lot of people:
157190

@@ -181,27 +214,27 @@ This work is largely based on blog posts, research papers, conference talks and
181214
- [ridiculous_fish](https://ridiculousfish.com/blog/)
182215
- [Creel](https://www.youtube.com/c/WhatsACreel)
183216

184-
Volume: 300-400 pages
185-
Release date: early 2022
217+
Volume: 450-600 pages
218+
Release date: Q2 2022
186219

187220
### Part II: Parallel Algorithms
188221

189-
Concurrency, models of parallelism, green threads and runtimes, cache coherence, synchronization primitives, OpenMP, reductions, scans, list ranking and graph algorithms, lock-free data structures, heterogeneous computing, CUDA, kernels, warps, blocks, matrix multiplication and sorting.
222+
Concurrency, models of parallelism, green threads and concurrent runtimes, cache coherence, synchronization primitives, OpenMP, reductions, scans, list ranking and graph algorithms, lock-free data structures, heterogeneous computing, CUDA, kernels, warps, blocks, matrix multiplication and sorting.
190223

191224
Volume: 150-200 pages
192-
Release date: late 2022 / 2023?
225+
Release date: 2023?
193226

194227
### Part III: Distributed Computing
195228

196229
Communication-constrained algorithms, message passing, actor model, partitioning, MapReduce, consistency and reliability at scale, storage, compression, scheduling and cloud computing, distributed deep learning.
197230

198-
Release date: ???
231+
Release date: ??? (more likely to be completed than not)
199232

200233
### Part IV: Compilers and Domain-Specific Architectures
201234

202-
LLVM IR, main optimization techniques from the dragon book, JIT-compilation, Cython, JAX, Numba, Julia, OpenCL, DPC++ and oneAPI, XLA, FPGAs and Verilog, ASICs, TPUs and other AI accelerators.
235+
LLVM IR, compiler optimizations, JIT-compilation, Cython, JAX, Numba, Julia, OpenCL, DPC++ and oneAPI, XLA, Verilog, FPGAs, ASICs, TPUs and other AI accelerators.
203236

204-
Release date: ???
237+
Release date: ??? (less likely to be completed than not)
205238

206239
### Disclaimer: Technology Choices
207240

0 commit comments

Comments
 (0)