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:

  1. “Let me ask Sarah specifically - what did you think about…?”
  2. “Let me draw this out…” [use whiteboard/screen annotation]
  3. “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! 🚀