Teaching Software Pipelining and Scheduling on GPUs with Python in Google Colab - Ferreira, Ricardo; Nacif, José Augusto M. (International Journal of Computer Architecture Education, 2023)
The teaching of static and dynamic instruction scheduling in pipelined processors is widely documented in textbooks. However, there is little information available on more advanced scheduling techniques, such as Software Pipelining, and more recent topics, such as Warp scheduling in GPUs. This paper presents a teaching experience that uses Google Colab and Python to generate examples and documentation on teaching Software Pipelining and scheduling in GPUs. The work was developed in collaboration with students of the Computer Architecture course at UFV, including problem-solving and the creation of visualization tools as outcomes.