Skip to content

Commit da00388

Browse files
dunnoconnormodularbot
authored andcommitted
[Edu] Reframe Puzzle 9 around Mojo's AOT model and refresh tutorial
output MODULAR_ORIG_COMMIT_REV_ID: e23d3626d61ccfca8241b66731a0b075d61f5c86
1 parent 3f414c4 commit da00388

5 files changed

Lines changed: 140 additions & 223 deletions

File tree

โ€Žbook/i18n/ko/GLOSSARY_KO.mdโ€Ž

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
| hidden dimension | ์€๋‹‰ ์ฐจ์› | ์‹ ๊ฒฝ๋ง ๋‚ด๋ถ€ ํ‘œํ˜„์˜ ์ฐจ์› ์ˆ˜. ํŠธ๋žœ์Šคํฌ๋จธ์—์„œ ๊ฐ ํ† ํฐ์˜ ๋ฒกํ„ฐ ํฌ๊ธฐ |
5858
| host code | ํ˜ธ์ŠคํŠธ ์ฝ”๋“œ | CPU์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ. GPU ์ž‘์—…์„ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„ |
5959
| in-place (computation) | ์ง์ ‘ ์ €์žฅ (์—ฐ์‚ฐ) | ๋ณ„๋„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด ๋ฒ„ํผ์— ๊ฒฐ๊ณผ๋ฅผ ์ง์ ‘ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹ |
60-
| JIT | JIT | Just-In-Time. ์‹คํ–‰ ์‹œ์ ์— ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ์‹. ๋นŒ๋“œ ๋‹จ๊ณ„ ์—†์ด ๋น ๋ฅธ ๋ฐ˜๋ณต ๊ฐ€๋Šฅ |
6160
| kernel | ์ปค๋„ | GPU์—์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•จ๊ป˜ ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜ |
6261
| kernel code | ์ปค๋„ ์ฝ”๋“œ | GPU์—์„œ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ |
6362
| lane | ๋ ˆ์ธ | ์›Œํ”„ ๋‚ด ๊ฐ ์Šค๋ ˆ๋“œ์˜ ์œ„์น˜ (0-31) |

โ€Žbook/i18n/ko/src/puzzle_09/essentials.mdโ€Ž

Lines changed: 66 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ error: use of undeclared identifier 'my_variable'
111111
**๋น ๋ฅธ ์ฐธ์กฐ:**
112112

113113
```bash
114-
# 1. JIT + LLDB: ์†Œ์Šค์—์„œ ์ง์ ‘ CPU ํ˜ธ์ŠคํŠธ ์ฝ”๋“œ ๋””๋ฒ„๊น…
114+
# 1. ์†Œ์Šค + LLDB: ์†Œ์Šค์—์„œ ์ง์ ‘ CPU ํ˜ธ์ŠคํŠธ ์ฝ”๋“œ ๋””๋ฒ„๊น…
115115
pixi run mojo debug your_gpu_program.mojo
116116

117-
# 2. JIT + CUDA-GDB: ์†Œ์Šค์—์„œ ์ง์ ‘ GPU ์ปค๋„ ๋””๋ฒ„๊น…
117+
# 2. ์†Œ์Šค + CUDA-GDB: ์†Œ์Šค์—์„œ ์ง์ ‘ GPU ์ปค๋„ ๋””๋ฒ„๊น…
118118
pixi run mojo debug --cuda-gdb --break-on-launch your_gpu_program.mojo
119119

120120
# 3. ๋ฐ”์ด๋„ˆ๋ฆฌ + LLDB: ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ CPU ํ˜ธ์ŠคํŠธ ์ฝ”๋“œ ๋””๋ฒ„๊น…
@@ -129,11 +129,12 @@ pixi run mojo debug --cuda-gdb --break-on-launch your_program_debug
129129

130130
**ํ•™์Šต๊ณผ ๋น ๋ฅธ ์‹คํ—˜์šฉ:**
131131

132-
- **JIT ๋””๋ฒ„๊น…** ์‚ฌ์šฉ - ๋นŒ๋“œ ๋‹จ๊ณ„๊ฐ€ ํ•„์š” ์—†์–ด ๋” ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณต ๊ฐ€๋Šฅ
132+
- **์†Œ์Šค ๋””๋ฒ„๊น…** ์‚ฌ์šฉ - ๋ณ„๋„ ๋นŒ๋“œ ๋‹จ๊ณ„๊ฐ€ ํ•„์š” ์—†์–ด ๋” ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณต ๊ฐ€๋Šฅ
133133

134134
**๋ณธ๊ฒฉ์ ์ธ ๋””๋ฒ„๊น… ์„ธ์…˜์šฉ:**
135135

136-
- **๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น…** ์‚ฌ์šฉ - ๋” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ณ  ๊น”๋”ํ•œ ๋””๋ฒ„๊ฑฐ ์ถœ๋ ฅ
136+
- **๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น…** ์‚ฌ์šฉ - ๋” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ณ  ๊น”๋”ํ•œ ๋””๋ฒ„๊ฑฐ ์ถœ๋ ฅ, ๋นŒ๋“œ
137+
ํ”Œ๋ž˜๊ทธ๋ฅผ ์™„์ „ํžˆ ์ œ์–ด ๊ฐ€๋Šฅ (`-O0 -g`๋กœ ๋กœ์ปฌ ๋ณ€์ˆ˜ ๋ณด์กด)
137138

138139
**CPU ์ธก ๋ฌธ์ œ์šฉ** (๋ฒ„ํผ ํ• ๋‹น, ํ˜ธ์ŠคํŠธ ๋ฉ”๋ชจ๋ฆฌ, ํ”„๋กœ๊ทธ๋žจ ๋กœ์ง):
139140

@@ -143,8 +144,8 @@ pixi run mojo debug --cuda-gdb --break-on-launch your_program_debug
143144

144145
- **CUDA-GDB ๋ชจ๋“œ** ์‚ฌ์šฉ - ๊ฐœ๋ณ„ GPU ์Šค๋ ˆ๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•
145146

146-
์žฅ์ ์€ ๋‹ค์–‘ํ•˜๊ฒŒ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. JIT + LLDB๋กœ ์„ค์ • ์ฝ”๋“œ๋ฅผ
147-
๋””๋ฒ„๊น…ํ•œ ๋‹ค์Œ, JIT + CUDA-GDB๋กœ ์ „ํ™˜ํ•ด์„œ ์‹ค์ œ ์ปค๋„์„ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
147+
์žฅ์ ์€ ๋‹ค์–‘ํ•˜๊ฒŒ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์†Œ์Šค + LLDB๋กœ ์„ค์ • ์ฝ”๋“œ๋ฅผ
148+
๋””๋ฒ„๊น…ํ•œ ๋‹ค์Œ, ์†Œ์Šค + CUDA-GDB๋กœ ์ „ํ™˜ํ•ด์„œ ์‹ค์ œ ์ปค๋„์„ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
148149

149150
---
150151

@@ -362,15 +363,17 @@ CUDA-GDB ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•˜๊ณ  conda ํ™˜๊ฒฝ์— ๋งํฌํ•˜์—ฌ ์ „์ฒด
362363
### ๋””๋ฒ„๊น… ์ ‘๊ทผ๋ฒ• ํ•™์Šต ๊ฒฝ๋กœ
363364

364365
Puzzle 01์„ ์˜ˆ์ œ๋กœ [๋„ค ๊ฐ€์ง€ ๋””๋ฒ„๊น… ์กฐํ•ฉ](#๋„ค-๊ฐ€์ง€-๋””๋ฒ„๊น…-์กฐํ•ฉ)์„ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
365-
**ํ•™์Šต ๊ฒฝ๋กœ**: JIT + LLDB(๊ฐ€์žฅ ์‰ฌ์›€)๋กœ ์‹œ์ž‘ํ•ด์„œ CUDA-GDB(๊ฐ€์žฅ ๊ฐ•๋ ฅํ•จ)๋กœ
366+
**ํ•™์Šต ๊ฒฝ๋กœ**: ์†Œ์Šค + LLDB(๊ฐ€์žฅ ์‰ฌ์›€)๋กœ ์‹œ์ž‘ํ•ด์„œ CUDA-GDB(๊ฐ€์žฅ ๊ฐ•๋ ฅํ•จ)๋กœ
366367
์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
367368

368369
**โš ๏ธ GPU ๋””๋ฒ„๊น… ์‹œ ์ค‘์š”์‚ฌํ•ญ**:
369370

370371
- `--break-on-launch` ํ”Œ๋ž˜๊ทธ๋Š” CUDA-GDB ์ ‘๊ทผ๋ฒ•์—์„œ **ํ•„์ˆ˜**
371-
- **๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ** (์ ‘๊ทผ๋ฒ• 3 & 4)๋Š” ๋””๋ฒ„๊น…์„ ์œ„ํ•ด `i` ๊ฐ™์€ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ
372-
๋ณด์กด
373-
- **JIT ์ปดํŒŒ์ผ** (์ ‘๊ทผ๋ฒ• 1 & 2)์€ ๋Œ€๋ถ€๋ถ„์˜ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ ์ตœ์ ํ™”๋กœ ์ œ๊ฑฐ
372+
- **๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ** (์ ‘๊ทผ๋ฒ• 3 & 4)๋Š” `-O0 -g`๋กœ ๋นŒ๋“œ๋˜์–ด ์ตœ์ ํ™”๊ฐ€
373+
๋น„ํ™œ์„ฑํ™”๋˜๊ณ  ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค โ€” ๊ทธ๋ž˜์„œ `i` ๊ฐ™์€ ๋กœ์ปฌ ๋ณ€์ˆ˜๊ฐ€
374+
๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•ด ๋ณด์กด๋ฉ๋‹ˆ๋‹ค
375+
- **์†Œ์Šค์—์„œ ๋””๋ฒ„๊น…** (์ ‘๊ทผ๋ฒ• 1 & 2)์€ ๊ธฐ๋ณธ ํ”Œ๋ž˜๊ทธ๋กœ ์ปดํŒŒ์ผ๋˜๋ฏ€๋กœ, ๋Œ€๋ถ€๋ถ„์˜
376+
๋กœ์ปฌ ๋ณ€์ˆ˜๊ฐ€ ์ตœ์ ํ™”๋กœ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค
374377
- ๋ณธ๊ฒฉ์ ์ธ GPU ๋””๋ฒ„๊น…์—๋Š” **์ ‘๊ทผ๋ฒ• 4** (๋ฐ”์ด๋„ˆ๋ฆฌ + CUDA-GDB) ์‚ฌ์šฉ
375378

376379
## ํŠœํ† ๋ฆฌ์–ผ Step 1: LLDB๋กœ CPU ๋””๋ฒ„๊น…
@@ -383,7 +386,7 @@ Puzzle 01์„ ์˜ˆ์ œ๋กœ [๋„ค ๊ฐ€์ง€ ๋””๋ฒ„๊น… ์กฐํ•ฉ](#๋„ค-๊ฐ€์ง€-๋””๋ฒ„๊น…-์กฐ
383386

384387
### ๋””๋ฒ„๊ฑฐ ์‹คํ–‰
385388

386-
JIT ์ปดํŒŒ์ผ๋กœ LLDB ๋””๋ฒ„๊ฑฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:
389+
์†Œ์Šค์—์„œ ์ง์ ‘ LLDB ๋””๋ฒ„๊ฑฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:
387390

388391
```bash
389392
# ํ•œ ๋‹จ๊ณ„๋กœ p01.mojo๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ๋””๋ฒ„๊น…
@@ -407,10 +410,15 @@ Puzzle 01์ด ์‹คํ–‰๋  ๋•Œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์ถ”์ ํ•ด ๋ด…์‹œ๋‹ค.
407410
์ถœ๋ ฅ:
408411

409412
```text
410-
Breakpoint 1: where = mojo`main, address = 0x00000000027d7530
413+
Breakpoint 1: no locations (pending).
414+
WARNING: Unable to resolve breakpoint to any actual locations.
411415
```
412416

413-
๋””๋ฒ„๊ฑฐ๊ฐ€ main ํ•จ์ˆ˜๋ฅผ ์ฐพ์•˜๊ณ  ๊ฑฐ๊ธฐ์„œ ์‹คํ–‰์„ ์ผ์‹œ ์ •์ง€ํ•ฉ๋‹ˆ๋‹ค.
417+
์ด๊ฒƒ์€ ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค. `mojo debug your_program.mojo`๋กœ ์‹คํ–‰ํ•˜๋ฉด ๋””๋ฒ„๊ทธ
418+
์„ธ์…˜์ด ์‹œ์ž‘๋  ๋•Œ ํ”„๋กœ๊ทธ๋žจ์ด ์ปดํŒŒ์ผ๋˜๋ฏ€๋กœ, ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•˜๋Š” ์‹œ์ ์—๋Š”
419+
๋ชจ๋“ˆ์ด ์•„์ง ๋””๋ฒ„๊ฑฐ์— ๋กœ๋“œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. LLDB๋Š” ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ๋ณด๋ฅ˜ ์ƒํƒœ๋กœ
420+
๋“ฑ๋กํ•˜๋ฉฐ ์•„์ง ๊ตฌ์ฒด์ ์ธ ๋ช…๋ น์–ด ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‹คํ–‰์ด ์‹œ์ž‘๋˜๊ณ 
421+
๋ชจ๋“ˆ์ด ๋กœ๋“œ๋˜๋ฉด LLDB๊ฐ€ ์ž๋™์œผ๋กœ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
414422

415423
**Step 2: ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘**
416424

@@ -422,67 +430,22 @@ Breakpoint 1: where = mojo`main, address = 0x00000000027d7530
422430

423431
```text
424432
Process 186951 launched: '/home/ubuntu/workspace/mojo-gpu-puzzles/.pixi/envs/default/bin/mojo' (x86_64)
425-
Process 186951 stopped
426-
* thread #1, name = 'mojo', stop reason = breakpoint 1.1
427-
frame #0: 0x0000555557d2b530 mojo`main
428-
mojo`main:
429-
-> 0x555557d2b530 <+0>: pushq %rbp
430-
0x555557d2b531 <+1>: movq %rsp, %rbp
431-
...
432-
```
433-
434-
ํ”„๋กœ๊ทธ๋žจ์ด ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ์—์„œ ๋ฉˆ์ท„์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ **์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ**๋ฅผ ๋ณด๊ณ  ์žˆ๋Š”๋ฐ
435-
์ด๋Š” ์ •์ƒ์ž…๋‹ˆ๋‹ค - ๋””๋ฒ„๊ฑฐ๊ฐ€ ๊ณ ์ˆ˜์ค€ Mojo ์†Œ์Šค์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์ €์ˆ˜์ค€ ๋จธ์‹  ์ฝ”๋“œ์—์„œ
436-
์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
437-
438-
**Step 3: ์‹œ์ž‘ ๊ณผ์ • ํƒ์ƒ‰**
439-
440-
```bash
441-
# ๋ช…๋ น์–ด ํ•˜๋‚˜๋ฅผ ๋‹จ๊ณ„๋ณ„ ์‹คํ–‰ ์‹œ๋„
442-
(lldb) next
443-
```
444-
445-
์ถœ๋ ฅ:
446-
447-
```text
448-
Process 186951 stopped
449-
* thread #1, name = 'mojo', stop reason = instruction step over
450-
frame #0: 0x0000555557d2b531 mojo`main + 1
451-
mojo`main:
452-
-> 0x555557d2b531 <+1>: movq %rsp, %rbp
453-
0x555557d2b534 <+4>: pushq %r15
454-
...
455-
```
456-
457-
์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์ง€๋ฃจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๊ด€๋ จ ์žˆ๋Š” ๋ถ€๋ถ„์œผ๋กœ
458-
์ง„ํ–‰ํ•ฉ์‹œ๋‹ค.
459-
460-
**Step 4: Mojo ์†Œ์Šค ์ฝ”๋“œ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ณ„์†**
461-
462-
```bash
463-
# ์‹œ์ž‘ ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ์–ด ์‹ค์ œ ์ฝ”๋“œ๋กœ ์ด๋™
464-
(lldb) continue
465-
```
466-
467-
์ถœ๋ ฅ:
468-
469-
```text
470-
Process 186951 resuming
471433
Process 186951 stopped and restarted: thread 1 received signal: SIGCHLD
472434
2 locations added to breakpoint 1
473435
Process 186951 stopped
474-
* thread #1, name = 'mojo', stop reason = breakpoint 1.3
475-
frame #0: 0x00007fff5c01e841 JIT(0x7fff5c075000)`stdlib::builtin::_startup::__mojo_main_prototype(argc=([0] = 1), argv=0x00007fffffffa858) at _startup.mojo:95:4
436+
* thread #1, name = 'mojo', stop reason = breakpoint 1.2
437+
frame #0: 0x00007fff5c01e841 JIT(0x7fff5c075000)`std::builtin::_startup::__mojo_main_prototype(argc=1, argv=0x00007fffffffa858) at _startup.mojo:119:5
476438
```
477439

478-
Mojo์˜ ๋Ÿฐํƒ€์ž„์ด ์ดˆ๊ธฐํ™” ์ค‘์ž…๋‹ˆ๋‹ค. `_startup.mojo`๋Š” Mojo์˜ ๋‚ด๋ถ€ ์‹œ์ž‘ ์ฝ”๋“œ๋ฅผ
479-
๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. `SIGCHLD` ์‹œ๊ทธ๋„์€ ์ •์ƒ์ž…๋‹ˆ๋‹ค - Mojo๊ฐ€ ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”
480-
๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
440+
ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋˜๋ฉด ๋ณด๋ฅ˜ ์ค‘์ด๋˜ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๊ฐ€ **2๊ฐœ์˜ ์œ„์น˜**๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค โ€”
441+
ํ•˜๋‚˜๋Š” `_startup.mojo`(Mojo์˜ ๋‚ด๋ถ€ ์‹œ์ž‘ ๋ž˜ํผ)์—, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜
442+
`p01.mojo`์˜ `main`์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. LLDB๋Š” ์ฒซ ๋ฒˆ์งธ ํžˆํŠธ์ธ ์‹œ์ž‘ ๋ž˜ํผ์—์„œ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค.
443+
`SIGCHLD` ์‹œ๊ทธ๋„์€ ์ •์ƒ์ž…๋‹ˆ๋‹ค โ€” Mojo๊ฐ€ ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
481444

482-
**Step 5: ์‹ค์ œ ์ฝ”๋“œ๋กœ ๊ณ„์†**
445+
**Step 3: ์‹ค์ œ ์ฝ”๋“œ๋กœ ๊ณ„์†**
483446

484447
```bash
485-
# ํ•œ ๋ฒˆ ๋” continueํ•ด์„œ p01.mojo ์ฝ”๋“œ์— ๋„๋‹ฌ!
448+
# p01.mojo ์ฝ”๋“œ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด continue
486449
(lldb) continue
487450
```
488451

@@ -491,25 +454,28 @@ Mojo์˜ ๋Ÿฐํƒ€์ž„์ด ์ดˆ๊ธฐํ™” ์ค‘์ž…๋‹ˆ๋‹ค. `_startup.mojo`๋Š” Mojo์˜ ๋‚ด๋ถ€
491454
```text
492455
Process 186951 resuming
493456
Process 186951 stopped
494-
* thread #1, name = 'mojo', stop reason = breakpoint 1.2
495-
frame #0: 0x00007fff5c014040 JIT(0x7fff5c075000)`p01::main(__error__=<unavailable>) at p01.mojo:24:23
496-
21
497-
22
498-
23 def main():
499-
-> 24 with DeviceContext() as ctx:
500-
25 out = ctx.enqueue_create_buffer[dtype](SIZE)
501-
26 out.enqueue_fill(0)
502-
27 a = ctx.enqueue_create_buffer[dtype](SIZE)
457+
* thread #1, name = 'mojo', stop reason = breakpoint 1.1
458+
frame #0: 0x00007fff5c014040 JIT(0x7fff5c075000)`p01::main() at p01.mojo:30:23
459+
27
460+
28
461+
29 def main() raises:
462+
-> 30 with DeviceContext() as ctx:
463+
31 var out = ctx.enqueue_create_buffer[dtype](SIZE)
464+
32 out.enqueue_fill(0)
465+
33 var a = ctx.enqueue_create_buffer[dtype](SIZE)
503466
```
504467

505468
์ด์ œ ์‹ค์ œ Mojo ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋ชฉํ•  ์ :
506469

507-
- p01.mojo ํŒŒ์ผ์˜ **21-27๋ฒˆ ์ค„**
508-
- **ํ˜„์žฌ ์ค„ 24**: `with DeviceContext() as ctx:`
509-
- **JIT ์ปดํŒŒ์ผ**: `JIT(0x7fff5c075000)`์€ Mojo๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฆ‰์„์—์„œ ์ปดํŒŒ์ผํ–ˆ์Œ์„
510-
๋‚˜ํƒ€๋ƒ„
470+
- p01.mojo ํŒŒ์ผ์˜ **27-33๋ฒˆ ์ค„**
471+
- **ํ˜„์žฌ ์ค„ 30**: `with DeviceContext() as ctx:`
472+
- **์ธํ”„๋กœ์„ธ์Šค ์‹คํ–‰**: `JIT(0x7fff5c075000)` ์ ‘๋‘์‚ฌ๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์—
473+
๋กœ๋“œ๋œ ์ฝ”๋“œ ์˜์—ญ์— ๋Œ€ํ•œ LLDB์˜ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค. `mojo debug your_program.mojo`๋กœ
474+
์‹คํ–‰ํ•˜๋ฉด, ์ปดํŒŒ์ผ๋œ ํ”„๋กœ๊ทธ๋žจ์ด ๋””์Šคํฌ์— ์‹คํ–‰ ํŒŒ์ผ์„ ์“ฐ์ง€ ์•Š๊ณ  ์ธํ”„๋กœ์„ธ์Šค์—์„œ
475+
์‹คํ–‰๋ฉ๋‹ˆ๋‹ค โ€” ๊ทธ๋ž˜์„œ ์ด ๊ฒฝ๋กœ๊ฐ€ ๋จผ์ € ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์‹œ์ž‘์ด ๋น ๋ฅด๊ณ ,
476+
`your_program_debug` ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
511477

512-
**Step 6: ํ”„๋กœ๊ทธ๋žจ ์™„๋ฃŒ**
478+
**Step 4: ํ”„๋กœ๊ทธ๋žจ ์™„๋ฃŒ**
513479

514480
```bash
515481
# ํ”„๋กœ๊ทธ๋žจ์„ ์™„๋ฃŒ๊นŒ์ง€ ์‹คํ–‰
@@ -532,12 +498,12 @@ Process 186951 exited with status = 0 (0x00000000)
532498

533499
**๊ฑฐ์ณ์˜จ ๋””๋ฒ„๊น… ์—ฌ์ •:**
534500

535-
1. **์–ด์…ˆ๋ธ”๋ฆฌ๋กœ ์‹œ์ž‘** - ์ €์ˆ˜์ค€ ๋””๋ฒ„๊น…์—์„œ๋Š” ์ •์ƒ์ ์ธ ํ˜„์ƒ์ด๋ฉฐ, ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋จธ์‹ 
536-
์ˆ˜์ค€์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ณด์—ฌ์คŒ
537-
2. **Mojo ์‹œ์ž‘ ๊ณผ์ • ํƒ์ƒ‰** - Mojo์— ๋‚ด๋ถ€ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๊ฐ€ ์žˆ์Œ์„ ํ•™์Šต
538-
3. **์†Œ์Šค ์ฝ”๋“œ ๋„๋‹ฌ** - ๊ตฌ๋ฌธ ๊ฐ•์กฐ๊ฐ€ ๋œ ์‹ค์ œ p01.mojo 21-27๋ฒˆ ์ค„ ํ™•์ธ
539-
4. **JIT ์ปดํŒŒ์ผ ๊ด€์ฐฐ** - Mojo๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฆ‰์„์—์„œ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒƒ์„ ๊ด€์ฐฐ
540-
5. **์„ฑ๊ณต์ ์ธ ์‹คํ–‰ ํ™•์ธ** - ํ”„๋กœ๊ทธ๋žจ์ด ์˜ˆ์ƒ๋œ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•จ์„ ํ™•์ธ
501+
1. **Mojo ์‹œ์ž‘ ๊ณผ์ • ํƒ์ƒ‰** - Mojo์— ๋‚ด๋ถ€ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๊ฐ€ ์žˆ์Œ์„ ํ•™์Šต (๋ธŒ๋ ˆ์ดํฌ
502+
ํฌ์ธํŠธ๊ฐ€ ๋‘ ์œ„์น˜๋กœ ํ•ด๊ฒฐ๋˜์–ด ๋จผ์ € `_startup.mojo`์—์„œ ๋ฉˆ์ท„์Šต๋‹ˆ๋‹ค)
503+
2. **์†Œ์Šค ์ฝ”๋“œ ๋„๋‹ฌ** - ๊ตฌ๋ฌธ ๊ฐ•์กฐ๊ฐ€ ๋œ ์‹ค์ œ p01.mojo 27-33๋ฒˆ ์ค„ ํ™•์ธ
504+
3. **์ธํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ๊ด€์ฐฐ** - `mojo debug your_program.mojo`๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„
505+
์ปดํŒŒ์ผํ•˜๊ณ  ๋””์Šคํฌ์— ์‹คํ–‰ ํŒŒ์ผ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ด€์ฐฐ
506+
4. **์„ฑ๊ณต์ ์ธ ์‹คํ–‰ ํ™•์ธ** - ํ”„๋กœ๊ทธ๋žจ์ด ์˜ˆ์ƒ๋œ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•จ์„ ํ™•์ธ
541507

542508
**LLDB ๋””๋ฒ„๊น…์ด ์ œ๊ณตํ•˜๋Š” ๊ฒƒ:**
543509

@@ -567,7 +533,7 @@ CPU์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ชจ๋“  ๊ฒƒ. ์‹ค์ œ GPU ์ปค๋„ ๋””๋ฒ„๊น…์—๋Š” ๋‹ค์Œ ์ ‘
567533

568534
## ํŠœํ† ๋ฆฌ์–ผ Step 2: ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น…
569535

570-
JIT ๋””๋ฒ„๊น…์„ ๋ฐฐ์› ์œผ๋‹ˆ ์ด์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” **์ „๋ฌธ์ ์ธ ์ ‘๊ทผ๋ฒ•**์„
536+
์†Œ์Šค ๋””๋ฒ„๊น…์„ ๋ฐฐ์› ์œผ๋‹ˆ ์ด์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” **์ „๋ฌธ์ ์ธ ์ ‘๊ทผ๋ฒ•**์„
571537
ํƒ์ƒ‰ํ•ฉ์‹œ๋‹ค.
572538

573539
**์‹œ๋‚˜๋ฆฌ์˜ค**: ์—ฌ๋Ÿฌ ํŒŒ์ผ์ด ์žˆ๋Š” ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋””๋ฒ„๊น…ํ•˜๊ฑฐ๋‚˜ ๊ฐ™์€
@@ -600,19 +566,19 @@ pixi run mojo debug solutions/p01/p01_debug
600566

601567
**์‹œ์ž‘ ๋น„๊ต:**
602568

603-
| JIT ๋””๋ฒ„๊น… | ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น… |
604-
|------------------------------------|----------------------------|
605-
| ํ•œ ๋‹จ๊ณ„๋กœ ์ปดํŒŒ์ผ + ๋””๋ฒ„๊น… | ํ•œ ๋ฒˆ ๋นŒ๋“œ, ์—ฌ๋Ÿฌ ๋ฒˆ ๋””๋ฒ„๊น… |
606-
| ๋А๋ฆฐ ์‹œ์ž‘ (์ปดํŒŒ์ผ ์˜ค๋ฒ„ํ—ค๋“œ) | ๋น ๋ฅธ ์‹œ์ž‘ |
607-
| ์ปดํŒŒ์ผ ๋ฉ”์‹œ์ง€๊ฐ€ ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ๊ณผ ์„ž์ž„ | ๊น”๋”ํ•œ ๋””๋ฒ„๊ฑฐ ์ถœ๋ ฅ |
608-
| ๋””๋ฒ„๊น… ์ค‘ ์ƒ์„ฑ๋˜๋Š” ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ | ๊ณ ์ •๋œ ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ |
569+
| ์†Œ์Šค ๋””๋ฒ„๊น… | ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น… |
570+
|------------------------------------|--------------------------------|
571+
| ํ•œ ๋‹จ๊ณ„๋กœ ์ปดํŒŒ์ผ + ๋””๋ฒ„๊น… | ํ•œ ๋ฒˆ ๋นŒ๋“œ, ์—ฌ๋Ÿฌ ๋ฒˆ ๋””๋ฒ„๊น… |
572+
| ๋А๋ฆฐ ์‹œ์ž‘ (์ปดํŒŒ์ผ ์˜ค๋ฒ„ํ—ค๋“œ) | ๋น ๋ฅธ ์‹œ์ž‘ |
573+
| ์ปดํŒŒ์ผ ๋ฉ”์‹œ์ง€๊ฐ€ ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ๊ณผ ์„ž์ž„ | ๊น”๋”ํ•œ ๋””๋ฒ„๊ฑฐ ์ถœ๋ ฅ |
574+
| ๊ธฐ๋ณธ ๋นŒ๋“œ ํ”Œ๋ž˜๊ทธ | ๋ช…์‹œ์  `-O0 -g` ๋นŒ๋“œ ํ”Œ๋ž˜๊ทธ |
609575

610576
**๊ฐ™์€ LLDB ๋ช…๋ น์–ด**(`br set -n main`, `run`, `continue`)๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€
611577
์ฐจ์ด๋ฅผ ๋А๋‚„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
612578

613579
- **๋น ๋ฅธ ์‹œ์ž‘** - ์ปดํŒŒ์ผ ์ง€์—ฐ ์—†์Œ
614-
- **๊น”๋”ํ•œ ์ถœ๋ ฅ** - JIT ์ปดํŒŒ์ผ ๋ฉ”์‹œ์ง€ ์—†์Œ
615-
- **๋” ์˜ˆ์ธก ๊ฐ€๋Šฅ** - ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ์ด ์‹คํ–‰ ๊ฐ„์— ๋ณ€ํ•˜์ง€ ์•Š์Œ
580+
- **๊น”๋”ํ•œ ์ถœ๋ ฅ** - ์ปดํŒŒ์ผ ๋ฉ”์‹œ์ง€๊ฐ€ ์„ž์ด์ง€ ์•Š์Œ
581+
- **๋” ์˜ˆ์ธก ๊ฐ€๋Šฅ** - ๋นŒ๋“œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ช…์‹œ์ ์ด๊ณ  ์‹คํ–‰ ๊ฐ„์— ์žฌ์‚ฌ์šฉ๋จ
616582
- **์ „๋ฌธ์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ** - ํ”„๋กœ๋•์…˜ ๋””๋ฒ„๊น…์ด ์ด๋ ‡๊ฒŒ ์ž‘๋™ํ•จ
617583

618584
---
@@ -660,11 +626,11 @@ GPU ๋””๋ฒ„๊น…์ด ๊ทผ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์ด์œ ๋ฅผ ์ดํ•ดํ•ฉ์‹œ๋‹ค:
660626
# ์ด๋ฏธ ์‹คํ–‰ํ–ˆ๋Š”์ง€ ํ™•์ธ (ํ•œ ๋ฒˆ์ด๋ฉด ์ถฉ๋ถ„)
661627
pixi run setup-cuda-gdb
662628

663-
# JIT + CUDA-GDB ์‚ฌ์šฉ (์œ„์˜ ์ ‘๊ทผ๋ฒ• 2)
629+
# ์†Œ์Šค + CUDA-GDB ์‚ฌ์šฉ (์œ„์˜ ์ ‘๊ทผ๋ฒ• 2)
664630
pixi run mojo debug --cuda-gdb --break-on-launch solutions/p01/p01.mojo
665631
```
666632

667-
ํ•™์Šต๊ณผ ๋น ๋ฅธ ๋ฐ˜๋ณต์— ์ ํ•ฉํ•œ **JIT + CUDA-GDB ์ ‘๊ทผ๋ฒ•**์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
633+
ํ•™์Šต๊ณผ ๋น ๋ฅธ ๋ฐ˜๋ณต์— ์ ํ•ฉํ•œ **์†Œ์Šค + CUDA-GDB ์ ‘๊ทผ๋ฒ•**์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
668634

669635
**Step 2: ์‹คํ–‰ํ•˜๊ณ  GPU ์ปค๋„ ์ง„์ž… ์‹œ ์ž๋™ ์ •์ง€**
670636

@@ -1278,7 +1244,7 @@ GPU ๋””๋ฒ„๊น… ๊ธฐ์ดˆ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ํŠœํ† ๋ฆฌ์–ผ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.
12781244

12791245
- โœ… LLDB๋กœ **CPU ํ˜ธ์ŠคํŠธ ๋””๋ฒ„๊น…** - ์žฅ์น˜ ์„ค์ •, ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ๋””๋ฒ„๊น…
12801246
- โœ… CUDA-GDB๋กœ **GPU ์ปค๋„ ๋””๋ฒ„๊น…** - ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ, GPU ๋ฉ”๋ชจ๋ฆฌ, ๊ฒฝ์Ÿ ์ƒํƒœ ๋””๋ฒ„๊น…
1281-
- โœ… **JIT vs ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น…** - ์ƒํ™ฉ์— ๋งž๋Š” ์ ‘๊ทผ๋ฒ• ์„ ํƒ
1247+
- โœ… **์†Œ์Šค vs ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น…** - ์ƒํ™ฉ์— ๋งž๋Š” ์ ‘๊ทผ๋ฒ• ์„ ํƒ
12821248
- โœ… pixi๋กœ **ํ™˜๊ฒฝ ๊ด€๋ฆฌ** - ์ผ๊ด€๋˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋””๋ฒ„๊น… ์„ค์ • ๋ณด์žฅ
12831249

12841250
**์‹ค์ œ ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ†ต์ฐฐ**:
@@ -1295,8 +1261,8 @@ GPU ๋””๋ฒ„๊น…์— ๋Œ€ํ•ด ์ฝ๊ธฐ๋งŒ ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ **๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค**:
12951261

12961262
- **์‹ค์ œ ์ฝ”๋“œ ๋””๋ฒ„๊น…**: ์‹ค์ œ GPU ์‹คํ–‰์œผ๋กœ Puzzle 01์˜ `add_10` ์ปค๋„์„
12971263
๋””๋ฒ„๊น…ํ–ˆ์Šต๋‹ˆ๋‹ค
1298-
- **์‹ค์ œ ๋””๋ฒ„๊ฑฐ ์ถœ๋ ฅ ํ™•์ธ**: LLDB ์–ด์…ˆ๋ธ”๋ฆฌ, CUDA-GDB ์Šค๋ ˆ๋“œ ์ƒํƒœ, ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ
1299-
์ง์ ‘ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค
1264+
- **์‹ค์ œ ๋””๋ฒ„๊ฑฐ ์ถœ๋ ฅ ํ™•์ธ**: JIT ๋ผ๋ฒจ์ด ๋ถ™์€ ํ”„๋ ˆ์ž„์—์„œ LLDB ์†Œ์Šค ์ •์ง€,
1265+
CUDA-GDB ์Šค๋ ˆ๋“œ ์ƒํƒœ, ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค
13001266
- **์ „๋ฌธ ๋„๊ตฌ ์‚ฌ์šฉ**: ํ”„๋กœ๋•์…˜ GPU ๊ฐœ๋ฐœ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ CUDA-GDB๋ฅผ
13011267
์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค
13021268
- **์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค ํ•ด๊ฒฐ**: ๋ฒ”์œ„ ์ดˆ๊ณผ ์ ‘๊ทผ, ๊ฒฝ์Ÿ ์ƒํƒœ, ์ปค๋„ ์‹คํ–‰ ์‹คํŒจ ๋ฌธ์ œ๋ฅผ

โ€Žbook/i18n/ko/src/puzzle_09/puzzle_09.mdโ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ GPU ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ˜„์‹ค์ด ๋ฐ”๋กœ ์ด๊ฒƒ์ž…๋‹ˆ๋‹ค.
2727
์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
2828
- **์—ฌ๋Ÿฌ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํƒ์ƒ‰**: ์ „์—ญ ๋ฉ”๋ชจ๋ฆฌ, ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ, ๋ ˆ์ง€์Šคํ„ฐ, ์ƒ์ˆ˜ ๋ฉ”๋ชจ๋ฆฌ
2929
- **์กฐ์œจ ์‹คํŒจ ์ฒ˜๋ฆฌ**: ๊ฒฝ์Ÿ ์ƒํƒœ, ๋ฐฐ๋ฆฌ์–ด ๊ต์ฐฉ ์ƒํƒœ, ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์œ„๋ฐ˜
30-
- **์ตœ์ ํ™”๋œ ์ฝ”๋“œ ๋””๋ฒ„๊น…**: JIT ์ปดํŒŒ์ผ, ๋ณ€์ˆ˜ ์ตœ์ ํ™”, ์ œํ•œ๋œ ์‹ฌ๋ณผ ์ •๋ณด
30+
- **์ตœ์ ํ™”๋œ ์ฝ”๋“œ ๋””๋ฒ„๊น…**: ๋ณ€์ˆ˜ ์ตœ์ ํ™”, ์ œํ•œ๋œ ์‹ฌ๋ณผ ์ •๋ณด
3131
- **์ „๋ฌธ ๋„๊ตฌ ์‚ฌ์šฉ**: ์ปค๋„ ๊ฒ€์‚ฌ, ์Šค๋ ˆ๋“œ ํƒ์ƒ‰, ๋ณ‘๋ ฌ ์ƒํƒœ ๋ถ„์„์„ ์œ„ํ•œ CUDA-GDB
3232

3333
**GPU ๋””๋ฒ„๊น…์„ ์ตํžˆ๋ฉด ๋ณ‘๋ ฌ ์ปดํ“จํŒ…์˜ ๊ธฐ์ดˆ๋ฅผ ๊นŠ์ด ์ดํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค**.
@@ -66,7 +66,7 @@ GPU ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ˜„์‹ค์ด ๋ฐ”๋กœ ์ด๊ฒƒ์ž…๋‹ˆ๋‹ค.
6666
**๊ธฐ์ดˆ ๋‹ค์ง€๊ธฐ** - ๋„๊ตฌ์™€ ์›Œํฌํ”Œ๋กœ์šฐ ๋ฐฐ์šฐ๊ธฐ
6767

6868
- `pixi`์™€ CUDA-GDB๋กœ ๋””๋ฒ„๊น… ํ™˜๊ฒฝ ์„ค์ •
69-
- ๋„ค ๊ฐ€์ง€ ๋””๋ฒ„๊น… ์ ‘๊ทผ๋ฒ• ๋ฐฐ์šฐ๊ธฐ: JIT vs ๋ฐ”์ด๋„ˆ๋ฆฌ, CPU vs GPU
69+
- ๋„ค ๊ฐ€์ง€ ๋””๋ฒ„๊น… ์ ‘๊ทผ๋ฒ• ๋ฐฐ์šฐ๊ธฐ: ์†Œ์Šค vs ๋ฐ”์ด๋„ˆ๋ฆฌ, CPU vs GPU
7070
- GPU ์ปค๋„ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ ํ•„์ˆ˜ CUDA-GDB ๋ช…๋ น์–ด ํ•™์Šต
7171
- ์ด์ „ ํผ์ฆ์˜ ์ต์ˆ™ํ•œ ์ฝ”๋“œ๋กœ ์‹ค์Šต
7272
- ๊ฐ ๋””๋ฒ„๊น… ์ ‘๊ทผ๋ฒ•์„ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ด

0 commit comments

Comments
ย (0)