Day-of-Session Host Guide
Your go-to reference for running Session 1 smoothly
⏰ 30 Minutes Before Session
Tech Setup Checklist
- Join meeting room early
- Test screen sharing - slides AND terminal together
- Open applications you’ll need:
- Slide presentation (with speaker notes visible)
- Terminal/command prompt
- Text editor with hello_cuda.cu ready
- Quick reference card
- Shared document for notes
- Google Colab backup (in browser tab)
- Close distracting apps (email, Slack, etc.)
- Test audio/video one final time
Mental Prep (5 minutes)
- Review slide speaker notes for timing
- Set intention: “I’m here to facilitate learning, not be perfect”
- Energy check: Get excited about GPU programming!
- Breathe: You’ve prepared well, trust your preparation
🎬 Session Flow & Key Transitions
Opening (10 min) [0:00-0:10]
Your opening line:
“Welcome to our first GPU programming study group! Over the next 12 weeks, we’ll go from CUDA beginners to writing efficient GPU kernels. Today we’re building the foundation.”
Introductions format:
- Name, background, why interested in GPU programming, one word for current GPU knowledge
Energy goal: Set excited, collaborative tone
Knowledge Check (15 min) [0:10-0:25]
Start with: “Show of hands - who completed all the readings?”
Quick concept check - ask different people:
- “Someone explain GPU vs CPU in your own words”
- “What’s a CUDA kernel?”
- “What does <<<2, 4>>> mean?”
If people seem unprepared: Don’t panic! Say “Perfect - let’s build these concepts together”
Core Discussion (25 min) [0:25-0:50]
Discussion 1: GPU vs CPU (8 min)
Question: “Why do GPUs excel at parallel tasks that CPUs struggle with?”
Your job: Guide toward these concepts:
- Thousands of cores vs 4-16 cores
- Throughput vs latency optimization
- Memory bandwidth differences
If silence: “What happens when a CPU encounters a cache miss?”
Discussion 2: SIMT Execution (8 min)
Question: “How does the SIMT execution model impact algorithm design?”
Key points to draw out:
- All threads in warp execute same instruction
- Branch divergence penalty
- Data parallelism focus
Examples to mention:
- ✅ Matrix multiplication (perfect fit)
- ⚠️ Sorting (needs redesign)
- ❌ Tree traversal (challenging)
Discussion 3: Challenges (9 min)
Question: “What development challenges do you anticipate?”
Your response to common answers:
- “Debugging” → “We’ll learn cuda-gdb and printf strategies”
- “Memory management” → “Week 2 focus!”
- “Performance” → “Weeks 8-10 are all optimization”
Hands-On Exercises (30 min) [0:50-1:20]
Exercise 1.1: Environment Check (8 min)
Demo first, then together:
nvcc --version
nvidia-smi
Troubleshooting mantra: “Technical issues are part of GPU programming - let’s solve them together!”
Exercise 1.2: Hello CUDA (12 min)
Before coding (3 min): “What does <<<2, 4>>> mean? How many threads total?”
Live coding (6 min):
- Share screen with text editor
- Type while explaining each line
- Compile:
nvcc hello_cuda.cu -o hello_cuda
- Run:
./hello_cuda
Experimentation (3 min): “Try <<<3, 2>>> and <<<1, 8>>> - what patterns do you notice?”
Exercise 1.3: Hardware Specs (10 min)
Structured sharing: Each person shares one interesting GPU spec Discussion: “Why does compute capability matter? How does memory size affect problems you can solve?”
Wrap-up (10 min) [1:20-1:30]
Key Takeaways (5 min)
Ask group to complete:
- “GPUs are good at _____ because _____”
- “The biggest difference from CPU programming is _____”
- “CUDA thread hierarchy consists of _____“
Week 2 Preview (3 min)
- Memory management & basic kernels
- Vector addition, memory allocation, timing
- Materials sent via email
Action Items (2 min)
- Complete unfinished exercises
- Set up environment if needed
- Optional: Explore CUDA samples
🆘 Emergency Responses
”I can’t install CUDA”
Your response: “No worries! Let’s get you on Google Colab right now. [Share Colab link]. This is exactly why we have backup plans!"
"This is too complicated”
Your response: “You’re right - it IS different from regular programming! That’s why we’re taking 12 weeks. You’ll be amazed how natural it feels by the end."
"When would I use this?”
Your response: “Great question! Any embarrassingly parallel problem: data processing, ML training, image processing, simulations, crypto mining…”
Discussion goes silent
Recovery options:
- “Let me ask Sarah specifically - what did you think about…?”
- “Let me draw this out…” [use whiteboard/screen annotation]
- “Think about it like…” [use analogy]
Technical demo fails
Stay calm: “Well, this is the perfect example of why we need backup plans! Let me switch to…” [Colab/different setup]
Running behind time
Cuts to make:
- Skip exercise variations
- Shorten discussion #3
- Save complex questions for “parking lot”
- Focus on basic hello_cuda.cu only
📊 Success Indicators During Session
Green Flags 🟢
- Multiple people asking questions
- Participants helping each other
- Natural discussion extensions
- Successful exercise completion
- High energy and engagement
Yellow Flags 🟡
- One person dominating
- Multiple technical issues
- Running significantly over/under time
- Some confusion on basic concepts
Red Flags 🔴
- More than half can’t complete exercises
- Technical issues overwhelming content
- Complete silence from group
- You’re lecturing instead of facilitating
If you see red flags: Stop, acknowledge the issue, and pivot. “Let’s take a step back and make sure everyone’s with us…”
🎯 Ending Strong
Final 2 Minutes
Energy goal: Leave people excited for next week
Your closing:
“Look what we accomplished today! You went from reading about GPUs to actually programming them. Next week we’ll start doing real computational work. You should feel proud - GPU programming has a learning curve, but you’re climbing it!”
Last thing to say:
“Questions between now and next week? Don’t hesitate to reach out. Part of being a study group is supporting each other. See you next week!”
🔄 Immediate Post-Session (Within 2 Hours)
Quick Debrief Questions
- What went better than expected?
- What was harder than expected?
- Who might need individual help?
- What timing adjustments for next time?
- What technical prep needed for Week 2?
Send Thank You Message
“Thanks for a great first session everyone! Really enjoyed the curiosity and collaboration. I’ll send a detailed summary and Week 2 prep by tomorrow. For anyone who wants to keep tinkering, try different thread configurations in hello_cuda.cu!”
💪 Confidence Reminders
If Things Go Wrong
- Technical issues are normal in GPU programming
- Your participants WANT you to succeed - they’re rooting for you
- Questions mean engagement - celebrate them!
- Imperfection is humanizing - shows you’re learning too
You’re Ready Because
- You’ve tested all the code yourself
- You understand the key concepts
- You have backup plans ready
- You care about creating a good learning environment
Emergency Mantra
“We’re all learning GPU programming together. Technical issues are normal. Questions are welcome. Let’s figure this out as a team.”
Go create an amazing learning experience! 🚀