├── Assignment ├── go_booster ├── go_dcgp ├── include │ ├── stencil_template_parallel.h │ └── stencil_template_serial.h ├── slides_assignment_2025.v1.1_July_25th.pdf ├── slides_assignment_2025.v1.2_July_26th.pdf └── src │ ├── stencil_template_parallel.c │ └── stencil_template_serial.c ├── MPI ├── MPI00_Introduction.pdf ├── MPI01_point-to-point_communication.pdf ├── MPI02_collective_communication.pdf └── examples │ ├── 00_basic.c │ ├── 01_send_and_recv.c │ ├── 01_send_and_recv.deadlock.c │ ├── 01_send_and_recv.may_deadlock.c │ ├── 02_send_and_recv.may_deadlock.c │ ├── All_to_all.c │ ├── MPI_template.c │ ├── calculate_pi.c │ ├── calculate_pi.incomplete.c │ ├── get_count.c │ ├── helloworld.c │ ├── non-blocking.c │ ├── pingpong.c │ ├── pingpong.c~ │ ├── potential_deadlock.c │ ├── probe.c │ └── where_I_am.c ├── Optimization-Outline.pdf ├── debugging ├── debugging.pdf ├── debugging_parallel.pdf ├── examples_profiling │ ├── enable_profiling_all │ └── spiral.c ├── exercises │ ├── gdb_overwrite.2.c │ ├── gdb_overwrite.c │ ├── gdb_try_args.c │ ├── gdb_try_attach.c │ ├── gdb_try_breaks.c │ └── readme.md ├── exercises_parallel │ ├── gdb_multithread_commands │ ├── my_threadprog.c │ ├── parallel_gdb.c │ ├── parallel_gdb.v2.c │ └── parallel_gdb.v3.c └── profiling_with_perf.pdf ├── lecture00-sparse_topics ├── A_note_on_Endiansim.pdf ├── Memory_pages__from_Computer_Systems___A_Programmer_s_Perspective---3ed---2016---Bryant_OHallaron.pdf ├── What_every_computer_scientist_should_know_about_floating-point.pdf ├── What_every_computer_scientist_should_know_about_memory.pdf ├── arguments.c ├── get_binary.c └── topics.pdf ├── lecture01-intro-toHPC.pdf ├── lecture02-HPC-hardware.pdf ├── lecture03-HPCsoftware-stack.pdf ├── lecture04-Optimization--preliminaries_and_compiler_usage.pdf ├── lecture05-Optimization--modern_architecture.pdf ├── lecture06-Optimization--basic_steps.pdf ├── lecture07-Optimization--heap_and_stack ├── 00_explore_how_bytes_are_stored.c ├── 01a_understanding_the_stack.c ├── 01b_understanding_the_stack.c ├── 02_understanding_the_stack.more_complex_data.c ├── 03_understanding_the_stack.more_complex_call_tree.c ├── 04_stacklimit.c ├── 05_stacksmash.c ├── 06_access_stack_and_heap.c └── lecture07-Optimization--heap_and_stack.pdf ├── lecture08-Optimization--cache ├── hot_and_cold_fields │ ├── hotcold_a.v0.c │ ├── hotcold_a.v1.c │ ├── hotcold_b.v0.c │ ├── hotcold_b.v1.c │ ├── hotcold_c.v0.c │ └── hotcold_c.v1.c ├── lecture08-Optimization--cache.pdf ├── matrix_transpose │ ├── transpose │ │ ├── matrix_transpose.1dim.c │ │ ├── matrix_transpose.allocate_by_pointers.1dim.c │ │ ├── matrix_transpose.allocate_by_pointers.c │ │ └── matrix_transpose.c │ └── transpose_by_blocks │ │ ├── matrix_transpose_blocks.v0.c │ │ ├── matrix_transpose_blocks.v1.c │ │ ├── matrix_transpose_blocks.v2.c │ │ └── mypapi.h └── memory_mountain │ ├── Makefile │ ├── README │ ├── clock.c │ ├── clock.h │ ├── ftime.c │ ├── ftime.h │ ├── mountain.c │ └── plotmountain.gp ├── lecture09-Optimization--branches └── lecture09-Optimization--branches.pdf ├── lecture10-Optimization--loops.pdf ├── lecture11-OMP--intro-to-parallelism.pdf ├── lecture12-OMP--intro-to-OpenMP.pdf ├── lecture13-OMP--parallel-regions ├── lecture13-OMP--parallel-regions.pdf └── parallel_regions │ ├── 00_scope_of_variables.c │ ├── 00_stack_and_scope.c │ ├── 01_simple_pr_wrong.c │ ├── 02_simple_pr.c │ ├── 03a_num_of_threads.c │ ├── 03b_num_of_threads.c │ ├── 04_order_of_threads_wrong.c │ ├── 05a_order_of_threads.c │ ├── 05b_order_of_threads.c │ ├── 05c_order_of_threads.c │ ├── 09_clauses__copyin.c │ ├── 09_clauses__copyin__clarify.c │ ├── 09_clauses__copyprivate.c │ ├── 09_clauses__firstprivate.c │ ├── 09_clauses__lastprivate.c │ ├── 09_clauses__threadprivate.c │ ├── pi.c │ └── pi_omp.c ├── lecture14-OMP--for_loops ├── examples │ ├── 00_array_sum_with_race.c │ ├── 01a_array_sum.c │ ├── 01b_array_sum.c │ ├── 01c_array_sum.c │ ├── 01d_array_sum.c │ ├── 02_falsesharing.c │ ├── 03_falsesharing_fixed.c │ ├── 04_scheduling.c │ ├── 05_first_and_last_private.c │ ├── loop_without_for.c │ ├── pi_openmp.c │ └── pi_openmp.fix.c ├── lecture14-OMP--for_loops.pdf └── small_discussion_prefixsum.pdf ├── lecture15-OMP--memory_affinity ├── examples │ ├── 00_where_I_am.c │ ├── 01_where_I_am_omp.c │ ├── 02_where_I_am_omp.c │ ├── 04_touch_by_one.c │ ├── 05_touch_by_all.c │ └── 06_touch_by_all_threadprivate.c └── lecture15-OMP--memory_affinity.pdf └── readme.md /Assignment/go_booster: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/go_booster -------------------------------------------------------------------------------- /Assignment/go_dcgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/go_dcgp -------------------------------------------------------------------------------- /Assignment/include/stencil_template_parallel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/include/stencil_template_parallel.h -------------------------------------------------------------------------------- /Assignment/include/stencil_template_serial.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/include/stencil_template_serial.h -------------------------------------------------------------------------------- /Assignment/slides_assignment_2025.v1.1_July_25th.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/slides_assignment_2025.v1.1_July_25th.pdf -------------------------------------------------------------------------------- /Assignment/slides_assignment_2025.v1.2_July_26th.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/slides_assignment_2025.v1.2_July_26th.pdf -------------------------------------------------------------------------------- /Assignment/src/stencil_template_parallel.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/src/stencil_template_parallel.c -------------------------------------------------------------------------------- /Assignment/src/stencil_template_serial.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Assignment/src/stencil_template_serial.c -------------------------------------------------------------------------------- /MPI/MPI00_Introduction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/MPI00_Introduction.pdf -------------------------------------------------------------------------------- /MPI/MPI01_point-to-point_communication.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/MPI01_point-to-point_communication.pdf -------------------------------------------------------------------------------- /MPI/MPI02_collective_communication.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/MPI02_collective_communication.pdf -------------------------------------------------------------------------------- /MPI/examples/00_basic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/00_basic.c -------------------------------------------------------------------------------- /MPI/examples/01_send_and_recv.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/01_send_and_recv.c -------------------------------------------------------------------------------- /MPI/examples/01_send_and_recv.deadlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/01_send_and_recv.deadlock.c -------------------------------------------------------------------------------- /MPI/examples/01_send_and_recv.may_deadlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/01_send_and_recv.may_deadlock.c -------------------------------------------------------------------------------- /MPI/examples/02_send_and_recv.may_deadlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/02_send_and_recv.may_deadlock.c -------------------------------------------------------------------------------- /MPI/examples/All_to_all.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/All_to_all.c -------------------------------------------------------------------------------- /MPI/examples/MPI_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/MPI_template.c -------------------------------------------------------------------------------- /MPI/examples/calculate_pi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/calculate_pi.c -------------------------------------------------------------------------------- /MPI/examples/calculate_pi.incomplete.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/calculate_pi.incomplete.c -------------------------------------------------------------------------------- /MPI/examples/get_count.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/get_count.c -------------------------------------------------------------------------------- /MPI/examples/helloworld.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/helloworld.c -------------------------------------------------------------------------------- /MPI/examples/non-blocking.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/non-blocking.c -------------------------------------------------------------------------------- /MPI/examples/pingpong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/pingpong.c -------------------------------------------------------------------------------- /MPI/examples/pingpong.c~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/pingpong.c~ -------------------------------------------------------------------------------- /MPI/examples/potential_deadlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/potential_deadlock.c -------------------------------------------------------------------------------- /MPI/examples/probe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/probe.c -------------------------------------------------------------------------------- /MPI/examples/where_I_am.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/MPI/examples/where_I_am.c -------------------------------------------------------------------------------- /Optimization-Outline.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/Optimization-Outline.pdf -------------------------------------------------------------------------------- /debugging/debugging.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/debugging.pdf -------------------------------------------------------------------------------- /debugging/debugging_parallel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/debugging_parallel.pdf -------------------------------------------------------------------------------- /debugging/examples_profiling/enable_profiling_all: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/examples_profiling/enable_profiling_all -------------------------------------------------------------------------------- /debugging/examples_profiling/spiral.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/examples_profiling/spiral.c -------------------------------------------------------------------------------- /debugging/exercises/gdb_overwrite.2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises/gdb_overwrite.2.c -------------------------------------------------------------------------------- /debugging/exercises/gdb_overwrite.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises/gdb_overwrite.c -------------------------------------------------------------------------------- /debugging/exercises/gdb_try_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises/gdb_try_args.c -------------------------------------------------------------------------------- /debugging/exercises/gdb_try_attach.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises/gdb_try_attach.c -------------------------------------------------------------------------------- /debugging/exercises/gdb_try_breaks.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises/gdb_try_breaks.c -------------------------------------------------------------------------------- /debugging/exercises/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises/readme.md -------------------------------------------------------------------------------- /debugging/exercises_parallel/gdb_multithread_commands: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises_parallel/gdb_multithread_commands -------------------------------------------------------------------------------- /debugging/exercises_parallel/my_threadprog.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises_parallel/my_threadprog.c -------------------------------------------------------------------------------- /debugging/exercises_parallel/parallel_gdb.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises_parallel/parallel_gdb.c -------------------------------------------------------------------------------- /debugging/exercises_parallel/parallel_gdb.v2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises_parallel/parallel_gdb.v2.c -------------------------------------------------------------------------------- /debugging/exercises_parallel/parallel_gdb.v3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/exercises_parallel/parallel_gdb.v3.c -------------------------------------------------------------------------------- /debugging/profiling_with_perf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/debugging/profiling_with_perf.pdf -------------------------------------------------------------------------------- /lecture00-sparse_topics/A_note_on_Endiansim.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/A_note_on_Endiansim.pdf -------------------------------------------------------------------------------- /lecture00-sparse_topics/Memory_pages__from_Computer_Systems___A_Programmer_s_Perspective---3ed---2016---Bryant_OHallaron.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/Memory_pages__from_Computer_Systems___A_Programmer_s_Perspective---3ed---2016---Bryant_OHallaron.pdf -------------------------------------------------------------------------------- /lecture00-sparse_topics/What_every_computer_scientist_should_know_about_floating-point.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/What_every_computer_scientist_should_know_about_floating-point.pdf -------------------------------------------------------------------------------- /lecture00-sparse_topics/What_every_computer_scientist_should_know_about_memory.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/What_every_computer_scientist_should_know_about_memory.pdf -------------------------------------------------------------------------------- /lecture00-sparse_topics/arguments.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/arguments.c -------------------------------------------------------------------------------- /lecture00-sparse_topics/get_binary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/get_binary.c -------------------------------------------------------------------------------- /lecture00-sparse_topics/topics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture00-sparse_topics/topics.pdf -------------------------------------------------------------------------------- /lecture01-intro-toHPC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture01-intro-toHPC.pdf -------------------------------------------------------------------------------- /lecture02-HPC-hardware.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture02-HPC-hardware.pdf -------------------------------------------------------------------------------- /lecture03-HPCsoftware-stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture03-HPCsoftware-stack.pdf -------------------------------------------------------------------------------- /lecture04-Optimization--preliminaries_and_compiler_usage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture04-Optimization--preliminaries_and_compiler_usage.pdf -------------------------------------------------------------------------------- /lecture05-Optimization--modern_architecture.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture05-Optimization--modern_architecture.pdf -------------------------------------------------------------------------------- /lecture06-Optimization--basic_steps.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture06-Optimization--basic_steps.pdf -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/00_explore_how_bytes_are_stored.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/00_explore_how_bytes_are_stored.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/01a_understanding_the_stack.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/01a_understanding_the_stack.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/01b_understanding_the_stack.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/01b_understanding_the_stack.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/02_understanding_the_stack.more_complex_data.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/02_understanding_the_stack.more_complex_data.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/03_understanding_the_stack.more_complex_call_tree.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/03_understanding_the_stack.more_complex_call_tree.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/04_stacklimit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/04_stacklimit.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/05_stacksmash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/05_stacksmash.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/06_access_stack_and_heap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/06_access_stack_and_heap.c -------------------------------------------------------------------------------- /lecture07-Optimization--heap_and_stack/lecture07-Optimization--heap_and_stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture07-Optimization--heap_and_stack/lecture07-Optimization--heap_and_stack.pdf -------------------------------------------------------------------------------- /lecture08-Optimization--cache/hot_and_cold_fields/hotcold_a.v0.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/hot_and_cold_fields/hotcold_a.v0.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/hot_and_cold_fields/hotcold_a.v1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/hot_and_cold_fields/hotcold_a.v1.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/hot_and_cold_fields/hotcold_b.v0.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/hot_and_cold_fields/hotcold_b.v0.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/hot_and_cold_fields/hotcold_b.v1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/hot_and_cold_fields/hotcold_b.v1.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/hot_and_cold_fields/hotcold_c.v0.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/hot_and_cold_fields/hotcold_c.v0.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/hot_and_cold_fields/hotcold_c.v1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/hot_and_cold_fields/hotcold_c.v1.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/lecture08-Optimization--cache.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/lecture08-Optimization--cache.pdf -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.1dim.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.1dim.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.allocate_by_pointers.1dim.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.allocate_by_pointers.1dim.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.allocate_by_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.allocate_by_pointers.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose/matrix_transpose.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/matrix_transpose_blocks.v0.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/matrix_transpose_blocks.v0.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/matrix_transpose_blocks.v1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/matrix_transpose_blocks.v1.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/matrix_transpose_blocks.v2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/matrix_transpose_blocks.v2.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/mypapi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/matrix_transpose/transpose_by_blocks/mypapi.h -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/Makefile -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/README -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/clock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/clock.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/clock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/clock.h -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/ftime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/ftime.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/ftime.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/ftime.h -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/mountain.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/mountain.c -------------------------------------------------------------------------------- /lecture08-Optimization--cache/memory_mountain/plotmountain.gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture08-Optimization--cache/memory_mountain/plotmountain.gp -------------------------------------------------------------------------------- /lecture09-Optimization--branches/lecture09-Optimization--branches.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture09-Optimization--branches/lecture09-Optimization--branches.pdf -------------------------------------------------------------------------------- /lecture10-Optimization--loops.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture10-Optimization--loops.pdf -------------------------------------------------------------------------------- /lecture11-OMP--intro-to-parallelism.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture11-OMP--intro-to-parallelism.pdf -------------------------------------------------------------------------------- /lecture12-OMP--intro-to-OpenMP.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture12-OMP--intro-to-OpenMP.pdf -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/lecture13-OMP--parallel-regions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/lecture13-OMP--parallel-regions.pdf -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/00_scope_of_variables.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/00_scope_of_variables.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/00_stack_and_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/00_stack_and_scope.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/01_simple_pr_wrong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/01_simple_pr_wrong.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/02_simple_pr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/02_simple_pr.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/03a_num_of_threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/03a_num_of_threads.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/03b_num_of_threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/03b_num_of_threads.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/04_order_of_threads_wrong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/04_order_of_threads_wrong.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/05a_order_of_threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/05a_order_of_threads.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/05b_order_of_threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/05b_order_of_threads.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/05c_order_of_threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/05c_order_of_threads.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/09_clauses__copyin.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/09_clauses__copyin.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/09_clauses__copyin__clarify.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/09_clauses__copyin__clarify.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/09_clauses__copyprivate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/09_clauses__copyprivate.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/09_clauses__firstprivate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/09_clauses__firstprivate.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/09_clauses__lastprivate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/09_clauses__lastprivate.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/09_clauses__threadprivate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/09_clauses__threadprivate.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/pi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/pi.c -------------------------------------------------------------------------------- /lecture13-OMP--parallel-regions/parallel_regions/pi_omp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture13-OMP--parallel-regions/parallel_regions/pi_omp.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/00_array_sum_with_race.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/00_array_sum_with_race.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/01a_array_sum.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/01a_array_sum.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/01b_array_sum.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/01b_array_sum.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/01c_array_sum.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/01c_array_sum.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/01d_array_sum.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/01d_array_sum.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/02_falsesharing.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/02_falsesharing.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/03_falsesharing_fixed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/03_falsesharing_fixed.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/04_scheduling.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/04_scheduling.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/05_first_and_last_private.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/05_first_and_last_private.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/loop_without_for.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/loop_without_for.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/pi_openmp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/pi_openmp.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/examples/pi_openmp.fix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/examples/pi_openmp.fix.c -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/lecture14-OMP--for_loops.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/lecture14-OMP--for_loops.pdf -------------------------------------------------------------------------------- /lecture14-OMP--for_loops/small_discussion_prefixsum.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture14-OMP--for_loops/small_discussion_prefixsum.pdf -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/examples/00_where_I_am.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/examples/00_where_I_am.c -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/examples/01_where_I_am_omp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/examples/01_where_I_am_omp.c -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/examples/02_where_I_am_omp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/examples/02_where_I_am_omp.c -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/examples/04_touch_by_one.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/examples/04_touch_by_one.c -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/examples/05_touch_by_all.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/examples/05_touch_by_all.c -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/examples/06_touch_by_all_threadprivate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/examples/06_touch_by_all_threadprivate.c -------------------------------------------------------------------------------- /lecture15-OMP--memory_affinity/lecture15-OMP--memory_affinity.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/lecture15-OMP--memory_affinity/lecture15-OMP--memory_affinity.pdf -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Foundations-of-HPC/High-Performance-Computing-2024/HEAD/readme.md --------------------------------------------------------------------------------