Add multilingual language and systems learning tracks
This commit is contained in:
1 parent
07338189fc
commit
d8d1c40118
844 files changed
+6061
No files matched your search
@@ -0,0 +1,9 @@
|
||||
# CPU/GPU Core ug Memory Mapping · 3
|
||||
|
||||
[Agila University track](https://edu.agilaos.com/track.php?track=30&lang=ceb)
|
||||
|
||||
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
|
||||
|
||||
- [Lesson 1: GPU buffer ug transfer cost](lesson-1/lesson.html)
|
||||
- [Lesson 2: Coalescing ug shared workgroup memory](lesson-2/lesson.html)
|
||||
- [Lesson 3: Synchronization ug buffer ownership](lesson-3/lesson.html)
|
||||
@@ -0,0 +1,6 @@
|
||||
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>GPU buffer ug transfer cost</title><h1>GPU buffer ug transfer cost</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Kasagaran lahi ang device memory sa discrete GPU ug host RAM. Mahimong mas dako ang upload, download, launch, ug synchronization kaysa gamay nga kernel. Lahi ang API sa unified memory apan dili libre ang movement. Limitado nga resource ang pinned host memory. Hypothetical ang timing sa sample; accounting kini, dili hardware measurement.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">cpu_ms=8
|
||||
upload_ms,kernel_ms,download_ms=5,2,4
|
||||
print("Hypothetical GPU total:",upload_ms+kernel_ms+download_ms)
|
||||
print("Hypothetical CPU total:",cpu_ms)
|
||||
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Hypothetical GPU total: 11
|
||||
Hypothetical CPU total: 8</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/">Reperensiya sa pinulongan: docs.nvidia.com</a></p></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
cpu_ms=8
|
||||
upload_ms,kernel_ms,download_ms=5,2,4
|
||||
print("Hypothetical GPU total:",upload_ms+kernel_ms+download_ms)
|
||||
print("Hypothetical CPU total:",cpu_ms)
|
||||
@@ -0,0 +1,7 @@
|
||||
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Coalescing ug shared workgroup memory</title><h1>Coalescing ug shared workgroup memory</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mahimong episyente ang memory transaction kon kasikbit nga element ang gi-access sa GPU lane. Makapakunhod sa global read ang shared workgroup memory apan limitado kini ug nagkinahanglan og synchronization. Lahi ang detalye sa CUDA, Metal, Vulkan, ug uban pa. Idrowing ang lane-to-element mapping ug i-validate ang output human sa matag layout change.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">lanes=4
|
||||
contiguous=[lane for lane in range(lanes)]
|
||||
strided=[lane*16 for lane in range(lanes)]
|
||||
print(contiguous)
|
||||
print(strided)
|
||||
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>[0, 1, 2, 3]
|
||||
[0, 16, 32, 48]</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/">Reperensiya sa pinulongan: docs.nvidia.com</a></p></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
lanes=4
|
||||
contiguous=[lane for lane in range(lanes)]
|
||||
strided=[lane*16 for lane in range(lanes)]
|
||||
print(contiguous)
|
||||
print(strided)
|
||||
@@ -0,0 +1,7 @@
|
||||
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Synchronization ug buffer ownership</title><h1>Synchronization ug buffer ownership</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mahimong mobalik ang GPU submission sa dili pa mahuman ang execution. Makaguba sa resulta ang sayong reuse o free sa buffer. Imodelo ang allocated, uploaded, submitted, completed, ug released. Kinahanglan ang completion sa dili pa reuse. Adunay scope ang barrier; dili awtomatikong global o host synchronization ang workgroup barrier.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">state="submitted"
|
||||
def can_release(state): return state=="completed"
|
||||
assert not can_release(state)
|
||||
state="completed"
|
||||
assert can_release(state)
|
||||
print("Passed")
|
||||
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Passed</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/">Reperensiya sa pinulongan: docs.nvidia.com</a></p></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
state="submitted"
|
||||
def can_release(state): return state=="completed"
|
||||
assert not can_release(state)
|
||||
state="completed"
|
||||
assert can_release(state)
|
||||
print("Passed")
|
||||
Reference in new issue
Block a user