This assignment asks students to use Google Colab to learn GPU programming basics in Python. Students will load a large dataset, write a function to process it, accelerate the function using Numba and the GPU, time the GPU and non-GPU versions, and submit a notebook and report analyzing the results and speedup from the GPU. Students will be graded on completing all tasks, producing correct results, how much faster their GPU code is, and the analysis and presentation of their findings.
This assignment asks students to use Google Colab to learn GPU programming basics in Python. Students will load a large dataset, write a function to process it, accelerate the function using Numba and the GPU, time the GPU and non-GPU versions, and submit a notebook and report analyzing the results and speedup from the GPU. Students will be graded on completing all tasks, producing correct results, how much faster their GPU code is, and the analysis and presentation of their findings.
This assignment asks students to use Google Colab to learn GPU programming basics in Python. Students will load a large dataset, write a function to process it, accelerate the function using Numba and the GPU, time the GPU and non-GPU versions, and submit a notebook and report analyzing the results and speedup from the GPU. Students will be graded on completing all tasks, producing correct results, how much faster their GPU code is, and the analysis and presentation of their findings.
• Understand how to use Google Colab for GPU programming • Implement GPU programming techniques for larger tasks
Instructions:
1. Create a new Google Colab notebook.
2. Load a large dataset into memory. 3. Write a function to process the dataset. 4. Use the numba package to accelerate the function using the GPU. 5. Measure the time taken to process the dataset with and without GPU acceleration. 6. Compare the execution times and discuss your findings. 7. Submit your notebook and a report summarizing your findings.
Grading and evaluation:
• Completeness: Did you implement all the required tasks? 3 marks
• Correctness: Does your program produce correct results? 3 marks • Efficiency: How much faster is your GPU-accelerated code compared to the non- accelerated code? 3 marks • Analysis: Did you analyze your results and draw valid conclusions? 3 marks • Presentation: Is your report well-written and clearly organized? 3 marks
Help Resources:
• Google Colab: https://colab.research.google.com/
• Introduction to GPU Programming with Python: https://developer.nvidia.com/blog/introduction-to-gpu-programming-with-python/ • Using CUDA with Python: https://developer.nvidia.com/how-to-cuda-python