Syllabus →
![Screenshot 2024-02-05 at 2.18.29 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/0902d4be-e2f0-4aed-9f6d-cae4f4784685/Screenshot_2024-02-05_at_2.18.29_PM.png)
![Screenshot 2024-02-05 at 2.18.40 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/25a22138-8549-4f24-8a62-54f7ecf82521/Screenshot_2024-02-05_at_2.18.40_PM.png)
![Screenshot 2024-02-05 at 2.18.55 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/ed008d29-e19b-41de-9a97-70b74653ab55/Screenshot_2024-02-05_at_2.18.55_PM.png)
CT2 MCQs →
![Screenshot 2024-05-21 at 4.10.41 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/7d6099b5-4f68-46fc-bb98-f998752d8d61/Screenshot_2024-05-21_at_4.10.41_PM.png)
![Screenshot 2024-05-21 at 4.10.56 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/d6114d81-0ffb-42aa-a222-c0280d1c975f/807c1cf0-493a-4dfd-bb30-a7c6146be26d.png)
![Screenshot 2024-05-21 at 4.11.26 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/2dbaf9a4-5eeb-4ddf-85a2-bfa36dedb20c/Screenshot_2024-05-21_at_4.11.26_PM.png)
![Screenshot 2024-05-21 at 4.11.37 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/6c19e69b-faa6-4bf1-b3df-6aa072e8c0ba/Screenshot_2024-05-21_at_4.11.37_PM.png)
CT2 Pyqs →
![Screenshot 2024-05-21 at 4.14.25 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/6c0fb03f-cfb3-4d0c-9cde-2179658daca4/Screenshot_2024-05-21_at_4.14.25_PM.png)
The provided image illustrates the steps involved in the GPU program execution model using CUDA. The diagram distinguishes between host (CPU) threads and GPU threads, showing their interaction during program execution. Here's a detailed explanation of each step depicted in the diagram:
CUDA Model of Execution
1. Program Initialization (Sequential Execution)
- Description: This initial step involves setting up the program on the host (CPU). This includes initializing variables, allocating memory, and preparing the data for GPU processing.
- Host Thread: The CPU performs all initialization tasks sequentially before any GPU computation begins.
2. Parallel Execution (Host and GPU run concurrently)