After working through these videos, you are ready to complete your work on Assignment 0.
Video: What is HPC?
Video: What is HPC Used for?
Optional reading: Skim the article “Scalability! But at what COST?”, which is freely available.
Optional reading: Skim the article “There’s plenty of room at the Top: What will drive computer performance after Moore’s law?”, if you can get access to it. If not, consider taking a moment to reflect on the contribution of scientific “publishing” to science and society.
Optional reading: Alternatively, skim the performance tables in the slides “Performance Engineering of Software Systems, Lecture 1” by Charles E. Leiserson.
Video: File Access. Code: file_access.c. Additional file: test_file.dat.
Video: Binary vs. Text Files. Code: binary_vs_text.c, binary_vs_text.sh. Additional file: test_file.txt
Video: String Encoding and Handling. Code: string_handling.c.
Video: GDB. Slides: gdb.pdf, and Code: gdb_example.c, gdb_example.sh, makefile.
Two ammendments to the video:
watch
you can set watchpoints for variables in gdb.x
(or x/x
, x/d
, x/f
, etc.) prints the value at a given memory
address in requested format.Video: valgrind. Code: valgrind_example.c, makefile.
Video: Simple Machine Model. Slides: simple_machine_model.pdf.
Video: CPU vs. Memory Bound Code. Code: cpu_bound.c, memory_bound.c, memory_bound_random.c, makefile.
Video: Memory Hierarchy. Slides: memory_hierarchy.pdf.
Video: CPU Pipeline. Slides: cpu_pipeline.pdf.