@@ -12,11 +12,59 @@ learning_objectives:
1212
1313prerequisites :
1414 - An Arm computer running Linux with the GNU compiler (gcc) installed.
15- - Visual Studio Code with the GitHub Copilot extension installed.
15+ - Visual Studio Code with the GitHub Copilot extension installed.
16+
17+ # START generated_summary_faq
18+ generated_summary_faq :
19+ template_version : summary-faq-v3
20+ generated_at : ' 2026-07-02T17:11:56Z'
21+ generator : ai
22+ ai_assisted : true
23+ ai_review_required : true
24+ model : gpt-5
25+ prompt_template : summary-faq-v3
26+ source_hash : 37b19106fba70423ba8c58f82097d9251f0ae208e882c852f9c4531afcebb46c
27+ summary_generated_at : ' 2026-07-02T17:11:56Z'
28+ summary_source_hash : 37b19106fba70423ba8c58f82097d9251f0ae208e882c852f9c4531afcebb46c
29+ faq_generated_at : ' 2026-07-02T17:11:56Z'
30+ faq_source_hash : 37b19106fba70423ba8c58f82097d9251f0ae208e882c852f9c4531afcebb46c
31+ summary : >-
32+ You'll use GitHub Copilot in Visual Studio Code to set up an Adler32
33+ checksum project on an Arm Linux system, establish a C baseline, and measure results. First, you'll
34+ generate the C implementation, create a test program that validates correctness and records
35+ timing for multiple input sizes, and ask Copilot to produce a GCC-based Makefile tuned for
36+ a Neoverse N1 target. Then, you'll build and run the project, verify outputs, and
37+ collect timing data. With a working harness and repeatable measurements, you're positioned
38+ to introduce Arm Neon intrinsics for the Adler32 hot path and compare behavior against the
39+ baseline C version.
40+ faqs :
41+ - question : What files should exist before building?
42+ answer : >-
43+ You should have the C implementation (`adler32-simple.c`), a test program (`adler32-test.c`),
44+ and a Makefile generated by GitHub Copilot. If a file is missing or named differently, regenerate
45+ it using the provided prompts.
46+ - question : Which GitHub Copilot mode should I use to generate the code and Makefile?
47+ answer : >-
48+ Use the Copilot Agent session in VS Code and paste the prompts from the steps. Results vary
49+ by model, so minor differences in code or target names are expected.
50+ - question : How do I run the tests and verify correctness?
51+ answer : >-
52+ Use the Copilot-generated Makefile to build and execute the test program. The run should
53+ confirm correct checksum results for all listed data sizes before you proceed.
54+ - question : What should I check if the GCC build fails on my Arm system?
55+ answer : >-
56+ Confirm that GCC is installed and that the Makefile’s architecture-specific flags are supported.
57+ If a flag is not recognized for your CPU, adjust or remove it and rebuild.
58+ - question : What output should I expect when measuring performance?
59+ answer : >-
60+ The test program measures timing around Adler32 calls on random inputs of 1 KB, 10 KB, 100
61+ KB, 1 MB, and 10 MB. You should see per-size timings that you can reuse when evaluating
62+ a Neon-based implementation.
63+ # END generated_summary_faq
1664
1765author : Jason Andrews
1866
19- generate_summary_faq : true
67+ generate_summary_faq : false
2068rerun_summary : false
2169rerun_faqs : false
2270
@@ -58,4 +106,3 @@ weight: 1 # _index.md always has weight of 1 to order corr
58106layout : " learningpathall" # All files under learning paths have this same wrapper
59107learning_path_main_page : " yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
60108---
61-
0 commit comments