Add multilingual language and systems learning tracks

This commit is contained in:
Admin committed 2026-11-01 15:46:21 +08:00
1 parent 07338189fc
commit d8d1c40118
844 files changed
+6061

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
# CPU/GPU Core & Memory Mapping · 2
[Agila University track](https://edu.agilaos.com/track.php?track=30&lang=en)
About 15 minutes per lesson. Predict, run, change, explain, then complete the check in University.
- [Lesson 1: Virtual, physical, and device addresses](lesson-1/lesson.html)
- [Lesson 2: Caches, locality, and working sets](lesson-2/lesson.html)
- [Lesson 3: NUMA placement and first touch](lesson-3/lesson.html)
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="en"><meta charset="utf-8"><title>Virtual, physical, and device addresses</title><h1>Virtual, physical, and device addresses</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>A process uses virtual addresses. Page tables translate them subject to permissions. A device may use a DMA/IOMMU mapping rather than the same address. Never cast an arbitrary process pointer into a device address and assume it works. Draw the mappings, owners, access permissions, and lifetime of a buffer before designing an API.</p><p><strong>Practice and evidence:</strong> Predict the example or draw its state transitions. Change one assumption, test the boundary, and record the actual result. Explain what this small model does not establish about a production system.</p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://git.agilaos.com/matt/open_agx">Language reference: git.agilaos.com</a></p><p><a href="https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/">Language reference: docs.nvidia.com</a></p></html>
+5
View File
@@ -0,0 +1,5 @@
<!doctype html><html lang="en"><meta charset="utf-8"><title>Caches, locality, and working sets</title><h1>Caches, locality, and working sets</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>Locality describes reuse of nearby data or recently accessed data. A working set that fits a cache can behave differently from one that streams through RAM. Stride, element size, prefetching, compiler optimization, and the amount of useful work all affect results. A Python loop also measures interpreter overhead, so it cannot isolate cache latency by itself.</p><p><strong>Practice and evidence:</strong> Predict the example or draw its state transitions. Change one assumption, test the boundary, and record the actual result. Explain what this small model does not establish about a production system.</p><pre><code class="language-python">data=list(range(16))
print(sum(data))
print(sum(data[::4]))
</code></pre><p><strong>Expected result:</strong> <code>120
24</code></p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://git.agilaos.com/matt/open_agx">Language reference: git.agilaos.com</a></p><p><a href="https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/">Language reference: docs.nvidia.com</a></p></html>
+3
View File
@@ -0,0 +1,3 @@
data=list(range(16))
print(sum(data))
print(sum(data[::4]))
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="en"><meta charset="utf-8"><title>NUMA placement and first touch</title><h1>NUMA placement and first touch</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>On NUMA systems, memory access cost can depend on which node owns the pages and where the thread runs. Allocation policy and first touch can influence placement. Measure local and remote access on an actual multi-node system; a single-node VM cannot demonstrate a NUMA speedup. Record node topology and verify placement rather than inferring it from allocation code.</p><p><strong>Practice and evidence:</strong> Predict the example or draw its state transitions. Change one assumption, test the boundary, and record the actual result. Explain what this small model does not establish about a production system.</p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://git.agilaos.com/matt/open_agx">Language reference: git.agilaos.com</a></p><p><a href="https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/">Language reference: docs.nvidia.com</a></p></html>