This experimental course teaches methods for developing computer architecture simulators. We will dissect the Akita simulator framework and the MGPUSim simulator. The course teaches interdisciplinary skills, including software engineering, discrete-event simulation, computer architecture, GPU programming, and data visualization.
<aside> 🧑🏫 Yifan Sun
Please call me Yifan without "Professor". If you send me an email, please start with "Hi Yifan" or the message body directly.
Email: [email protected]
Website: syifan.github.io
Office: McGlothlin-Street Hall 117
</aside>
<aside> 🪑 Office Hour: Monday 3:30 pm - 4:30 pm, starting from 1/30/2023; or by appointment. Please let me know if you want to join in person or on Zoom before you come.
</aside>
<aside> ⏱️ Monday, Wednesday 2:00 pm - 3:20 pm
</aside>
<aside> 📍 James Blair Hall Room:219
</aside>
<aside> 🪑 Lectures will be in mainly person.
</aside>
<aside> <img src="/icons/video-camera_gray.svg" alt="/icons/video-camera_gray.svg" width="40px" /> Joining the lectures virtually through the Zoom link below is possible.
https://cwm.zoom.us/j/96373734329?pwd=Q2RMS3k5WnVJaDg2dmF5SitrbXNVdz09
The lectures do not open to non-WM students. If you want to join the lectures, please fill in this form and I will forward it to the administration for reviewing. You can join after getting approved.
</aside>
<aside> 💬 We will use Slack for course relation communications. Please use the link below to join the Slack Workspace. Please feel free to join even if you do not come from William & Mary.
You should always send messages in public channels unless the message include your privacy. It is OK to post code to the the public channel.
It is highly encouraged that you install a slack client on your computer or cell phone.
</aside>
Item | Weight |
---|---|
Class Participation | 10% |
Documentation | 30% |
Final Project | 40% |
Assignments | 20% |
There is no final exam for this course.
Rather than using a textbook in this course, we are going to write one together. So, every student needs to work on documenting a part of the simulator to demonstrate your understanding to the simulator. Ideally, the part you document should be related to your final project.