diff --git a/archetypes/learning-path/_index.md b/archetypes/learning-path/_index.md index ec8f0e4589..61c7447549 100644 --- a/archetypes/learning-path/_index.md +++ b/archetypes/learning-path/_index.md @@ -15,6 +15,16 @@ prerequisites: author: PLACEHOLDER NAME +# New Learning Paths are opted in for the next manual generated summary/FAQ run. +# The generator resets this to false after a successful write. +generate_summary_faq: true + +# Optional one-shot controls: set either field to true to regenerate just that +# generated section the next time the summary/FAQ tool runs. The tool resets +# them to false after a successful write. +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: PLACEHOLDER SKILLLEVEL subjects: PLACEHOLDER SUBJECT @@ -27,8 +37,6 @@ tools_software_languages: operatingsystems: - PLACEHOLDER OS G - - further_reading: - resource: title: PLACEHOLDER MANUAL @@ -43,8 +51,6 @@ further_reading: link: PLACEHOLDER GENERAL WEBSITE LINK type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/assets/css/content-pages.css b/assets/css/content-pages.css index 6e95ef59d9..88b8789908 100644 --- a/assets/css/content-pages.css +++ b/assets/css/content-pages.css @@ -261,6 +261,80 @@ html[theme='dark'] .incorrect-explain {color: #e86868} /* 27% lighter than arm's color: var(--arm-green); } + + +/* Generated AI-assisted summary/FAQ block +*******************************************************************/ +.generated-summary-faq__heading { + align-items: center; + display: flex; + flex-wrap: wrap; + column-gap: 12px; + margin-bottom: 16px; + row-gap: 8px; +} + +.generated-summary-faq__heading h3 { + line-height: 1.1; + margin: 0; +} + +.generated-summary-faq__assist { + align-items: center; + display: inline-flex; + gap: 6px; +} + +.generated-summary-faq__assist ads-modal { + display: inline-flex; +} + +ads-tag.generated-summary-faq__ai-tag { + --ads-tag-background-color: transparent; + --ads-tag-background-color-hover: transparent; + --ads-tag-border-color: 1px solid var(--arm-web-safe-blue); + --ads-tag-border-color-hover: 1px solid var(--arm-green); + --ads-tag-color: var(--arm-web-safe-blue); + --ads-tag-color-hover: var(--arm-green); +} + +html[theme='dark'] ads-tag.generated-summary-faq__ai-tag { + --ads-tag-border-color: 1px solid var(--arm-light-blue); + --ads-tag-border-color-hover: 1px solid var(--arm-green); + --ads-tag-color: var(--arm-light-blue); + --ads-tag-color-hover: var(--arm-green); +} + +ads-button.generated-summary-faq__info { + --ads-button-color: var(--arm-web-safe-blue); + --ads-button-color-hover: var(--arm-green); + --ads-button-border-color: var(--arm-web-safe-blue); + --ads-button-border-color-hover: var(--arm-green); +} + +html[theme='dark'] ads-button.generated-summary-faq__info { + --ads-button-color: var(--arm-light-blue); + --ads-button-color-hover: var(--arm-green); + --ads-button-border-color: var(--arm-light-blue); + --ads-button-border-color-hover: var(--arm-green); +} + +ads-expansion-panel.generated-summary-faq__panel { + --ads-expansion-panel-border-color: var(--arm-light-grey); + --ads-expansion-panel-content-background-color: transparent; + --ads-expansion-panel-toggle-background-color: transparent; + --ads-expansion-panel-toggle-background-color-hover: transparent; + --ads-expansion-panel-toggle-icon-color-hover: var(--arm-green); +} + +html[theme='dark'] ads-expansion-panel.generated-summary-faq__panel { + --ads-expansion-panel-border-color: rgba(163, 168, 174, 0.25); + --ads-expansion-panel-content-background-color: transparent; + --ads-expansion-panel-toggle-background-color: transparent; + --ads-expansion-panel-toggle-background-color-hover: transparent; + --ads-expansion-panel-toggle-icon-color-hover: var(--arm-green); +} + .share-icon { width: 36px; height: 36px; diff --git a/content/learning-paths/automotive/intro/_index.md b/content/learning-paths/automotive/intro/_index.md index 20aa7cb6da..d7362086c8 100644 --- a/content/learning-paths/automotive/intro/_index.md +++ b/content/learning-paths/automotive/intro/_index.md @@ -15,9 +15,12 @@ prerequisites: draft: true cascade: draft: true - author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -29,7 +32,6 @@ operatingsystems: - RTOS tools_software_languages: - further_reading: - resource: title: Raspberry Pi Pico @@ -40,7 +42,6 @@ further_reading: link: https://microbit.org/ type: website - weight: 1 layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. diff --git a/content/learning-paths/automotive/openadkit1_container/_index.md b/content/learning-paths/automotive/openadkit1_container/_index.md index cb0edace8b..dd2af119e6 100644 --- a/content/learning-paths/automotive/openadkit1_container/_index.md +++ b/content/learning-paths/automotive/openadkit1_container/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -29,7 +33,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Autoware OpenAD Kit demo project @@ -48,11 +51,10 @@ further_reading: link: https://docs.ros.org/en/humble/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/automotive/openadkit2_safetyisolation/_index.md b/content/learning-paths/automotive/openadkit2_safetyisolation/_index.md index 32e15dd30a..0bbae6a5c4 100644 --- a/content/learning-paths/automotive/openadkit2_safetyisolation/_index.md +++ b/content/learning-paths/automotive/openadkit2_safetyisolation/_index.md @@ -20,6 +20,10 @@ author: - Odin Shen - Julien Jayat +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -66,8 +70,6 @@ further_reading: title: Eclipse Cyclone DDS link: https://github.com/eclipse-cyclonedds/cyclonedds type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -75,3 +77,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/automotive/system76-auto/_index.md b/content/learning-paths/automotive/system76-auto/_index.md index fc1e11f441..6985d98f30 100644 --- a/content/learning-paths/automotive/system76-auto/_index.md +++ b/content/learning-paths/automotive/system76-auto/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -39,10 +43,10 @@ further_reading: link: https://parsec.community/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/automotive/zenacssdebug/_index.md b/content/learning-paths/automotive/zenacssdebug/_index.md index 63268f8479..84d35f8ca3 100644 --- a/content/learning-paths/automotive/zenacssdebug/_index.md +++ b/content/learning-paths/automotive/zenacssdebug/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -43,10 +47,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/_example-learning-path/_index.md b/content/learning-paths/cross-platform/_example-learning-path/_index.md index 5603e466b2..c9e6588889 100644 --- a/content/learning-paths/cross-platform/_example-learning-path/_index.md +++ b/content/learning-paths/cross-platform/_example-learning-path/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Zach Lasiuk +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: @@ -27,17 +31,16 @@ operatingsystems: tools_software_languages: - Hugo - further_reading: - resource: title: GitHub Project Repository link: https://github.com/ArmDeveloperEcosystem/arm-learning-paths type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/adler32/_index.md b/content/learning-paths/cross-platform/adler32/_index.md index ebf0fcc4fb..1dc71413ff 100644 --- a/content/learning-paths/cross-platform/adler32/_index.md +++ b/content/learning-paths/cross-platform/adler32/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -34,7 +38,6 @@ shared_between: - laptops-and-desktops - mobile-graphics-and-gaming - further_reading: - resource: title: Arm C Language Extensions @@ -49,10 +52,10 @@ further_reading: link: https://developer.arm.com/documentation/den0018/a type: Documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/automate-mcp-with-testcontainers/_index.md b/content/learning-paths/cross-platform/automate-mcp-with-testcontainers/_index.md index 33c689e7c4..66f28592d3 100644 --- a/content/learning-paths/cross-platform/automate-mcp-with-testcontainers/_index.md +++ b/content/learning-paths/cross-platform/automate-mcp-with-testcontainers/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Neethu Elizabeth Simon +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -60,10 +64,10 @@ further_reading: link: https://docs.pytest.org/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/avh_cicd/_index.md b/content/learning-paths/cross-platform/avh_cicd/_index.md index b222e60628..22b26fcacf 100644 --- a/content/learning-paths/cross-platform/avh_cicd/_index.md +++ b/content/learning-paths/cross-platform/avh_cicd/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -42,10 +46,10 @@ further_reading: link: https://arm-software.github.io/AVH/main/examples/html/GetStarted.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/avh_cicd2/_index.md b/content/learning-paths/cross-platform/avh_cicd2/_index.md index dbd9e8ca13..7f53e6d0bd 100644 --- a/content/learning-paths/cross-platform/avh_cicd2/_index.md +++ b/content/learning-paths/cross-platform/avh_cicd2/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Advanced subjects: CI-CD @@ -43,11 +47,10 @@ further_reading: link: https://arm-software.github.io/AVH/main/examples/html/GetStarted.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/aws-greengrass-pacbti-test/_index.md b/content/learning-paths/cross-platform/aws-greengrass-pacbti-test/_index.md index a1b0b86ab4..37bc467da8 100644 --- a/content/learning-paths/cross-platform/aws-greengrass-pacbti-test/_index.md +++ b/content/learning-paths/cross-platform/aws-greengrass-pacbti-test/_index.md @@ -2,7 +2,7 @@ title: Deploy an AWS IoT Greengrass custom component to Arm devices and verify PAC/BTI support description: Learn how to register Arm devices as AWS IoT Greengrass core devices, build and deploy a custom component, and use MQTT to verify PAC/BTI support across Armv8 and Armv9 platforms. - + minutes_to_complete: 30 who_is_this_for: This Learning Path is for IoT and embedded developers who want to deploy and manage components on Arm devices using AWS IoT Greengrass, and verify PAC/BTI security feature support across different Arm platforms. @@ -19,11 +19,14 @@ prerequisites: - An NVIDIA Jetson Thor device running JetPack 7.1 or later - Familiarity with AWS IoT Core and basic cloud concepts - author: - Varun Chari - Doug Anson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -63,7 +66,6 @@ further_reading: link: https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/_index.md b/content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/_index.md index 17803b4371..39cdd15bc6 100644 --- a/content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/_index.md +++ b/content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/_index.md @@ -1,6 +1,6 @@ --- title: Build an edge AI Reachy Mini app with Raspberry Pi, MediaPipe, and MuJoCo - + description: Run MediaPipe gesture inference on a Raspberry Pi 5, connect to a Reachy Mini MuJoCo simulation on a development machine, and use a browser dashboard to decide Reachy's fate with a thumbs-up or thumbs-down. minutes_to_complete: 60 @@ -24,6 +24,10 @@ prerequisites: author: Matt Cossins +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -65,8 +69,6 @@ further_reading: link: https://ai.google.dev/edge/mediapipe/solutions/vision/gesture_recognizer type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/cross-platform/cca_rme/_index.md b/content/learning-paths/cross-platform/cca_rme/_index.md index e951bbc9a9..5782183afe 100644 --- a/content/learning-paths/cross-platform/cca_rme/_index.md +++ b/content/learning-paths/cross-platform/cca_rme/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -24,7 +28,7 @@ armips: - Neoverse - Cortex-A - Armv9-A - + operatingsystems: - Linux - Android @@ -36,7 +40,6 @@ tools_software_languages: - CCA - Runbook - ### Cross-platform metadata only shared_path: true shared_between: @@ -58,10 +61,10 @@ further_reading: link: https://developer.arm.com/documentation/den0126 type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/cpp-loop-size-context/_index.md b/content/learning-paths/cross-platform/cpp-loop-size-context/_index.md index 760e05f318..d42316e52f 100644 --- a/content/learning-paths/cross-platform/cpp-loop-size-context/_index.md +++ b/content/learning-paths/cross-platform/cpp-loop-size-context/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -46,10 +50,10 @@ further_reading: link: https://llvm.org/docs/Vectorizers.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/create-your-own-topo-templates/_index.md b/content/learning-paths/cross-platform/create-your-own-topo-templates/_index.md index ba340cd48a..5c2ffecec7 100644 --- a/content/learning-paths/cross-platform/create-your-own-topo-templates/_index.md +++ b/content/learning-paths/cross-platform/create-your-own-topo-templates/_index.md @@ -1,6 +1,6 @@ --- title: Create and deploy a custom Topo Template - + description: Understand how to create and modify Topo Templates, allowing you to deploy your projects as containerized workloads to Arm-based Linux targets over SSH. minutes_to_complete: 30 @@ -23,6 +23,10 @@ prerequisites: author: Tomas Agustin Gonzalez Orlando +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -64,7 +68,6 @@ further_reading: link: https://github.com/arm/remoteproc-runtime type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/_index.md b/content/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/_index.md index 5b09ada1f0..843b93eaea 100644 --- a/content/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/_index.md +++ b/content/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/_index.md @@ -24,6 +24,10 @@ prerequisites: author: Matt Cossins +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -70,8 +74,6 @@ further_reading: link: https://marketplace.visualstudio.com/items?itemName=Arm.topo type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/cross-platform/deploy-ml-model-to-npu-with-topo/_index.md b/content/learning-paths/cross-platform/deploy-ml-model-to-npu-with-topo/_index.md index fe53b052cf..d60d1c3340 100644 --- a/content/learning-paths/cross-platform/deploy-ml-model-to-npu-with-topo/_index.md +++ b/content/learning-paths/cross-platform/deploy-ml-model-to-npu-with-topo/_index.md @@ -28,6 +28,10 @@ prerequisites: author: Tomas Agustin Gonzalez Orlando +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization diff --git a/content/learning-paths/cross-platform/docker-build-cloud/_index.md b/content/learning-paths/cross-platform/docker-build-cloud/_index.md index b54bf8a88f..f4cdbe3845 100644 --- a/content/learning-paths/cross-platform/docker-build-cloud/_index.md +++ b/content/learning-paths/cross-platform/docker-build-cloud/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -45,10 +49,10 @@ further_reading: link: https://www.docker.com/blog/introducing-docker-build-cloud/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/docker/_index.md b/content/learning-paths/cross-platform/docker/_index.md index 57e2098b50..c59eab3445 100644 --- a/content/learning-paths/cross-platform/docker/_index.md +++ b/content/learning-paths/cross-platform/docker/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -55,10 +59,10 @@ further_reading: link: https://www.docker.com/blog/how-to-rapidly-build-multi-architecture-images-with-buildx type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/dynamic-memory-allocator/_index.md b/content/learning-paths/cross-platform/dynamic-memory-allocator/_index.md index 54ed81adec..aa110e7fbd 100644 --- a/content/learning-paths/cross-platform/dynamic-memory-allocator/_index.md +++ b/content/learning-paths/cross-platform/dynamic-memory-allocator/_index.md @@ -18,6 +18,10 @@ prerequisites: author: David Spickett +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: null @@ -51,10 +55,10 @@ shared_between: - laptops-and-desktops - embedded-and-microcontrollers - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/eigen-linear-algebra-on-arm/_index.md b/content/learning-paths/cross-platform/eigen-linear-algebra-on-arm/_index.md index 992decceec..a54caa82f5 100644 --- a/content/learning-paths/cross-platform/eigen-linear-algebra-on-arm/_index.md +++ b/content/learning-paths/cross-platform/eigen-linear-algebra-on-arm/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -35,7 +39,6 @@ shared_between: - servers-and-cloud-computing - mobile-graphics-and-gaming - further_reading: - resource: title: Eigen official Tutorial on Matrix class @@ -50,10 +53,10 @@ further_reading: link: https://www.tensorflow.org/install/source type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/ernie_moe_v9/_index.md b/content/learning-paths/cross-platform/ernie_moe_v9/_index.md index be39782954..de0331764a 100644 --- a/content/learning-paths/cross-platform/ernie_moe_v9/_index.md +++ b/content/learning-paths/cross-platform/ernie_moe_v9/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -51,10 +55,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/llama_cpp_streamline/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/floating-point-behavior/_index.md b/content/learning-paths/cross-platform/floating-point-behavior/_index.md index 8f02a1c599..d021835eaa 100644 --- a/content/learning-paths/cross-platform/floating-point-behavior/_index.md +++ b/content/learning-paths/cross-platform/floating-point-behavior/_index.md @@ -20,6 +20,10 @@ author: - Kieran Hejmadi - Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -52,3 +56,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/function-multiversioning/_index.md b/content/learning-paths/cross-platform/function-multiversioning/_index.md index 81b88182e3..b76d6cd69a 100644 --- a/content/learning-paths/cross-platform/function-multiversioning/_index.md +++ b/content/learning-paths/cross-platform/function-multiversioning/_index.md @@ -23,6 +23,10 @@ prerequisites: author: Alexandros Lamprineas +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -55,8 +59,8 @@ further_reading: link: https://arm-software.github.io/acle/main/acle.html type: documentation - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/github-arm-runners/_index.md b/content/learning-paths/cross-platform/github-arm-runners/_index.md index ba6149aec7..a3a52a991c 100644 --- a/content/learning-paths/cross-platform/github-arm-runners/_index.md +++ b/content/learning-paths/cross-platform/github-arm-runners/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -49,10 +53,10 @@ further_reading: link: https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/gitlab-managed-runners/_index.md b/content/learning-paths/cross-platform/gitlab-managed-runners/_index.md index f11a5914eb..2c4c71f619 100644 --- a/content/learning-paths/cross-platform/gitlab-managed-runners/_index.md +++ b/content/learning-paths/cross-platform/gitlab-managed-runners/_index.md @@ -1,7 +1,6 @@ --- title: Build a CI/CD pipeline using GitLab-hosted Arm runners - minutes_to_complete: 30 who_is_this_for: This is an introductory topic for DevOps engineers who want to build CI/CD pipelines on Arm-based infrastructure using GitLab-hosted runners. @@ -13,13 +12,16 @@ learning_objectives: - Configure pipeline stages to use Arm64 runners - Build and containerize applications for Arm64 architecture - Store container images in GitLab Container Registry - prerequisites: - A GitLab account (free tier includes Arm64 runner access) author: Mohamed Ismail +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -58,11 +60,10 @@ further_reading: link: https://learn.arm.com/install-guides/docker/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/gitlab/_index.md b/content/learning-paths/cross-platform/gitlab/_index.md index 4a059659b0..35332e1452 100644 --- a/content/learning-paths/cross-platform/gitlab/_index.md +++ b/content/learning-paths/cross-platform/gitlab/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Pranay Bakre +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -58,11 +62,10 @@ further_reading: link: https://cloud.google.com/kubernetes-engine/docs type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/integer-vs-floats/_index.md b/content/learning-paths/cross-platform/integer-vs-floats/_index.md index f7912d8b5d..72151fd5af 100644 --- a/content/learning-paths/cross-platform/integer-vs-floats/_index.md +++ b/content/learning-paths/cross-platform/integer-vs-floats/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -35,7 +39,6 @@ shared_between: - servers-and-cloud-computing - mobile-graphics-and-gaming - further_reading: - resource: title: Arm Neoverseā„¢ N1 Software Optimization Guide @@ -58,11 +61,10 @@ further_reading: link: https://en.wikipedia.org/wiki/Bfloat16_floating-point_format type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/intrinsics/_index.md b/content/learning-paths/cross-platform/intrinsics/_index.md index 88d0dd032b..0b76dc42fd 100644 --- a/content/learning-paths/cross-platform/intrinsics/_index.md +++ b/content/learning-paths/cross-platform/intrinsics/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - amd64/ubuntu:latest - arm64v8/ubuntu:latest @@ -69,3 +73,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/ipexplorer/_index.md b/content/learning-paths/cross-platform/ipexplorer/_index.md index 4c6484dbe6..60b0739cc1 100644 --- a/content/learning-paths/cross-platform/ipexplorer/_index.md +++ b/content/learning-paths/cross-platform/ipexplorer/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -43,10 +47,10 @@ further_reading: link: https://ipexplorer.arm.com/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/kleidiai-explainer/_index.md b/content/learning-paths/cross-platform/kleidiai-explainer/_index.md index f7e786dc91..c00acba4de 100644 --- a/content/learning-paths/cross-platform/kleidiai-explainer/_index.md +++ b/content/learning-paths/cross-platform/kleidiai-explainer/_index.md @@ -9,12 +9,17 @@ learning_objectives: - Describe how basic math operations power Large Language Models. - Describe how the KleidiAI micro-kernels speed up Generative AI inference performance. - Run a basic C++ matrix multiplication example to showcase the speedup that KleidiAI micro-kernels can deliver. - + prerequisites: - An Arm-based Linux machine that implements the Int8 Matrix Multiplication (*i8mm*) architecture feature. The example in this Learning Path is run on an AWS Graviton 3 instance. Instructions on setting up an Arm-based server are [found here](/learning-paths/servers-and-cloud-computing/csp/aws/). - A basic understanding of linear algebra terminology, such as dot product and matrix multiplication. author: Zach Lasiuk + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -36,8 +41,6 @@ shared_between: - servers-and-cloud-computing - mobile-graphics-and-gaming - - further_reading: - resource: title: KleidiAI documentation @@ -48,12 +51,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/ai-and-ml-blog/posts/kleidiai type: blog - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/llm-fine-tuning-for-web-applications/_index.md b/content/learning-paths/cross-platform/llm-fine-tuning-for-web-applications/_index.md index 51398b5edc..ee776e9da3 100644 --- a/content/learning-paths/cross-platform/llm-fine-tuning-for-web-applications/_index.md +++ b/content/learning-paths/cross-platform/llm-fine-tuning-for-web-applications/_index.md @@ -26,15 +26,18 @@ prerequisites: - An Android smartphone with the i8mm feature and 16GB of RAM. - Basic understanding of machine learning and deep learning. - Familiarity with deep learning frameworks such as PyTorch and Hugging Face Transformers. - author: Parichay Das +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML armips: - Neoverse - + tools_software_languages: - LLM - Generative AI @@ -59,9 +62,6 @@ further_reading: title: PyTorch Documentation link: https://pytorch.org/docs/stable/index.html type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ diff --git a/content/learning-paths/cross-platform/loop-reflowing/_index.md b/content/learning-paths/cross-platform/loop-reflowing/_index.md index a80d144c41..8bb70eca5b 100644 --- a/content/learning-paths/cross-platform/loop-reflowing/_index.md +++ b/content/learning-paths/cross-platform/loop-reflowing/_index.md @@ -14,6 +14,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -33,7 +37,6 @@ shared_between: - laptops-and-desktops - mobile-graphics-and-gaming - further_reading: - resource: title: An update on GNU performance @@ -52,11 +55,10 @@ further_reading: link: https://gcc.gnu.org/projects/tree-ssa/vectorization.html type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/matrix/_index.md b/content/learning-paths/cross-platform/matrix/_index.md index b30e9fd1b7..7d2d27fe3e 100644 --- a/content/learning-paths/cross-platform/matrix/_index.md +++ b/content/learning-paths/cross-platform/matrix/_index.md @@ -21,6 +21,9 @@ prerequisites: author: Arnaud de Grandmaison +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Advanced @@ -56,11 +59,10 @@ further_reading: link: https://google.github.io/googletest/quickstart-cmake.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/mca-godbolt/_index.md b/content/learning-paths/cross-platform/mca-godbolt/_index.md index 7d76a87d59..4b7c580098 100644 --- a/content/learning-paths/cross-platform/mca-godbolt/_index.md +++ b/content/learning-paths/cross-platform/mca-godbolt/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Asher Dobrescu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -46,11 +50,10 @@ further_reading: link: https://developer.arm.com/documentation/109898/0300/?lang=en type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/mcp-ai-agent/_index.md b/content/learning-paths/cross-platform/mcp-ai-agent/_index.md index 511d27dae6..a5e5816da0 100644 --- a/content/learning-paths/cross-platform/mcp-ai-agent/_index.md +++ b/content/learning-paths/cross-platform/mcp-ai-agent/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Andrew Choi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: ML armips: @@ -47,10 +51,10 @@ further_reading: link: https://openai.github.io/openai-agents-python/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/memory-latency/_index.md b/content/learning-paths/cross-platform/memory-latency/_index.md index 7945e6ff98..bb12e35095 100644 --- a/content/learning-paths/cross-platform/memory-latency/_index.md +++ b/content/learning-paths/cross-platform/memory-latency/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -54,10 +58,10 @@ further_reading: link: https://colin-scott.github.io/personal_website/research/interactive_latency.html type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/multimodel_mnn_v9/_index.md b/content/learning-paths/cross-platform/multimodel_mnn_v9/_index.md index b1d4951ae9..0d30420517 100644 --- a/content/learning-paths/cross-platform/multimodel_mnn_v9/_index.md +++ b/content/learning-paths/cross-platform/multimodel_mnn_v9/_index.md @@ -1,7 +1,6 @@ --- title: Build a Multimodal Retail Restocking Assistant on Armv9 With MNN - minutes_to_complete: 90 who_is_this_for: This Learning Path is for developers and engineers who want to run multimodal image, audio, and text models on Armv9 Linux systems using MNN as a portable, CPU-first inference runtime. It is aimed at readers who are comfortable building software from source and want a reproducible on-device workflow without quantization or heterogeneous scheduling. @@ -20,6 +19,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -67,3 +70,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/multiplying-matrices-with-sme2/_index.md b/content/learning-paths/cross-platform/multiplying-matrices-with-sme2/_index.md index 71c81d366d..e3984a4c13 100644 --- a/content/learning-paths/cross-platform/multiplying-matrices-with-sme2/_index.md +++ b/content/learning-paths/cross-platform/multiplying-matrices-with-sme2/_index.md @@ -26,6 +26,10 @@ prerequisites: author: Arnaud de Grandmaison +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -96,10 +100,10 @@ further_reading: link: https://github.com/ARM-software/abi-aa type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/psa-tfm/_index.md b/content/learning-paths/cross-platform/psa-tfm/_index.md index 86c0c9babb..45080f8785 100644 --- a/content/learning-paths/cross-platform/psa-tfm/_index.md +++ b/content/learning-paths/cross-platform/psa-tfm/_index.md @@ -18,9 +18,12 @@ learning_objectives: prerequisites: - Ubuntu host or access to AWS - Optional MPS3 FPGA prototyping board - author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -35,7 +38,6 @@ tools_software_languages: - FVP - GCC - ### Cross-platform metadata only shared_path: true shared_between: diff --git a/content/learning-paths/cross-platform/pytorch-digit-classification-arch-training/_index.md b/content/learning-paths/cross-platform/pytorch-digit-classification-arch-training/_index.md index 3b6cd4c1a6..6e7de51fed 100644 --- a/content/learning-paths/cross-platform/pytorch-digit-classification-arch-training/_index.md +++ b/content/learning-paths/cross-platform/pytorch-digit-classification-arch-training/_index.md @@ -20,10 +20,13 @@ learning_objectives: prerequisites: - A machine that can run Python3, Visual Studio Code, and Android Studio. - For the OS, you can use Windows, Linux, or macOS. - author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -57,11 +60,10 @@ further_reading: link: https://code.visualstudio.com type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/remoteit/_index.md b/content/learning-paths/cross-platform/remoteit/_index.md index 72dd2b2e1a..dfc88afb86 100644 --- a/content/learning-paths/cross-platform/remoteit/_index.md +++ b/content/learning-paths/cross-platform/remoteit/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Brenda Strech +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + further_reading: - resource: title: Developer Documentation @@ -68,3 +72,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/restrict-keyword-c99/_index.md b/content/learning-paths/cross-platform/restrict-keyword-c99/_index.md index 675b0136aa..c854c1d471 100644 --- a/content/learning-paths/cross-platform/restrict-keyword-c99/_index.md +++ b/content/learning-paths/cross-platform/restrict-keyword-c99/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -35,24 +39,22 @@ shared_between: - laptops-and-desktops - servers-and-cloud-computing - mobile-graphics-and-gaming - further_reading: - resource: title: How to use the restrict qualifier in C link: https://www.oracle.com/solaris/technologies/solaris10-cc-restrict.html type: blog - + - resource: title: Explore the usage of restrict with Godbolt link: https://godbolt.org/z/PxWxjc1oh type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/rust_armds/_index.md b/content/learning-paths/cross-platform/rust_armds/_index.md index 4cb9e746c7..4a42aadcad 100644 --- a/content/learning-paths/cross-platform/rust_armds/_index.md +++ b/content/learning-paths/cross-platform/rust_armds/_index.md @@ -17,6 +17,9 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -55,3 +58,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/simd-info-demo/_index.md b/content/learning-paths/cross-platform/simd-info-demo/_index.md index 313febf26d..b19a99dfa5 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/_index.md +++ b/content/learning-paths/cross-platform/simd-info-demo/_index.md @@ -18,6 +18,10 @@ author: - Georgios Mermigkis - Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -45,11 +49,10 @@ further_reading: link: https://simd.info type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/simd-loops/_index.md b/content/learning-paths/cross-platform/simd-loops/_index.md index f9c64f92d0..7a72195c62 100644 --- a/content/learning-paths/cross-platform/simd-loops/_index.md +++ b/content/learning-paths/cross-platform/simd-loops/_index.md @@ -22,6 +22,10 @@ author: - Alejandro Martinez Vicente - Mohamad Najem +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -98,10 +102,10 @@ further_reading: link: https://github.com/ARM-software/abi-aa type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/simd-on-rust/_index.md b/content/learning-paths/cross-platform/simd-on-rust/_index.md index 219fe1da68..115a8a00c0 100644 --- a/content/learning-paths/cross-platform/simd-on-rust/_index.md +++ b/content/learning-paths/cross-platform/simd-on-rust/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -38,7 +42,6 @@ shared_between: - servers-and-cloud-computing - mobile-graphics-and-gaming - further_reading: - resource: title: Rust std::arch documentation @@ -57,10 +60,10 @@ further_reading: link: https://gendignoux.com/blog/2023/01/05/rust-arm-simd-android.html#implicit-feature-detection-beware-of-target-feature type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/sme-executorch-profiling/_index.md b/content/learning-paths/cross-platform/sme-executorch-profiling/_index.md index 8e17edca37..b0740bc305 100644 --- a/content/learning-paths/cross-platform/sme-executorch-profiling/_index.md +++ b/content/learning-paths/cross-platform/sme-executorch-profiling/_index.md @@ -18,12 +18,16 @@ prerequisites: - An Apple Silicon macOS host with Python 3.9 or later and CMake 3.29 or later - Basic familiarity with ExecuTorch or PyTorch - Optionally, an Android device with Armv9 and SME2 support for on-device testing (if used, configure power management settings to ensure consistent performance measurements) - + author: - Jason Zhu - Tyler Mullenbach - Damien Dooley +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -64,3 +68,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/cross-platform/tinkerblox_ultraedge/_index.md b/content/learning-paths/cross-platform/tinkerblox_ultraedge/_index.md index 04c94b8e14..95df6c7b42 100644 --- a/content/learning-paths/cross-platform/tinkerblox_ultraedge/_index.md +++ b/content/learning-paths/cross-platform/tinkerblox_ultraedge/_index.md @@ -12,7 +12,6 @@ learning_objectives: - Deploy the MicroPacs on Linux-based compute systems and scale to cloud or data-center environments - Optimize performance for edge-cloud scenarios, enabling near real-time data flows - prerequisites: - Experience using Linux on embedded or SBC platforms - Understanding of container runtimes (containerd) and CNI networking @@ -21,6 +20,10 @@ prerequisites: author: Tinkerblox +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -32,7 +35,7 @@ cloud_service_providers: armips: - Neoverse - + operatingsystems: - Linux - other @@ -48,10 +51,10 @@ further_reading: link: https://tinkerblox.io type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/topdown-compare/_index.md b/content/learning-paths/cross-platform/topdown-compare/_index.md index 044f20ac10..2fe6f43f57 100644 --- a/content/learning-paths/cross-platform/topdown-compare/_index.md +++ b/content/learning-paths/cross-platform/topdown-compare/_index.md @@ -20,6 +20,10 @@ prerequisites: author: - Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -56,10 +60,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/arm_pmu/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/vectorization-comparison/_index.md b/content/learning-paths/cross-platform/vectorization-comparison/_index.md index 9b056affba..769b9c5c6d 100644 --- a/content/learning-paths/cross-platform/vectorization-comparison/_index.md +++ b/content/learning-paths/cross-platform/vectorization-comparison/_index.md @@ -10,7 +10,6 @@ who_is_this_for: This is an advanced topic for developers migrating vectorized ( learning_objectives: - Identify how Arm vector extensions including Neon, Scalable Vector Extension (SVE), and Scalable Matrix Extension (SME) map to vector extensions from other architectures - Plan a migration strategy using autovectorization, intrinsics, or library substitution - prerequisites: - Familiarity with vector extensions, SIMD programming, and compiler intrinsics @@ -19,6 +18,10 @@ prerequisites: author: - Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -82,5 +85,3 @@ layout: "learningpathall" # All files under learning paths have this same learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- - - diff --git a/content/learning-paths/cross-platform/vectorization-friendly-data-layout/_index.md b/content/learning-paths/cross-platform/vectorization-friendly-data-layout/_index.md index 52739047e5..e9766e4830 100644 --- a/content/learning-paths/cross-platform/vectorization-friendly-data-layout/_index.md +++ b/content/learning-paths/cross-platform/vectorization-friendly-data-layout/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Konstantinos Margaritis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -34,7 +38,6 @@ shared_between: - laptops-and-desktops - mobile-graphics-and-gaming - further_reading: - resource: title: Array of Structures (AoS), Structure of Arrays (SoA) @@ -49,11 +52,10 @@ further_reading: link: https://arm-software.github.io/acle/neon_intrinsics/advsimd.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/windowsperf_sampling_cpython_spe/_index.md b/content/learning-paths/cross-platform/windowsperf_sampling_cpython_spe/_index.md index 6469e56283..3980aecad2 100644 --- a/content/learning-paths/cross-platform/windowsperf_sampling_cpython_spe/_index.md +++ b/content/learning-paths/cross-platform/windowsperf_sampling_cpython_spe/_index.md @@ -18,9 +18,13 @@ prerequisites: - An installation of [WindowsPerf](/install-guides/wperf/). - An installation of [Visual Studio](/install-guides/vs-woa/). - An installation of [Git](/install-guides/git-woa/). - + author: Przemyslaw Wirkus +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -100,3 +104,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/woa_azure/_index.md b/content/learning-paths/cross-platform/woa_azure/_index.md index ea70d41434..fd48228793 100644 --- a/content/learning-paths/cross-platform/woa_azure/_index.md +++ b/content/learning-paths/cross-platform/woa_azure/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -41,10 +45,10 @@ further_reading: link: https://azure.microsoft.com/en-us/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/cross-platform/zenoh-multinode-ros2/_index.md b/content/learning-paths/cross-platform/zenoh-multinode-ros2/_index.md index 290a354ce7..be12027637 100644 --- a/content/learning-paths/cross-platform/zenoh-multinode-ros2/_index.md +++ b/content/learning-paths/cross-platform/zenoh-multinode-ros2/_index.md @@ -7,7 +7,6 @@ description: Learn how to build and deploy distributed Zenoh systems on Arm devi who_is_this_for: This Learning Path is for robotics developers, industrial automation engineers, and IoT system architects who are building distributed, scalable, and low-latency applications. Whether you're using the Robot Operating System (ROS), developing autonomous systems, or designing multi-node communication frameworks, you can use Eclipse Zenoh on Arm-based platforms, both in the cloud and on local devices like Raspberry Pi. - learning_objectives: - Understand Zenoh's architecture and how it integrates pub/sub, storage, querying, and computation models - Build and run Zenoh examples on both Arm servers and Raspberry Pi @@ -22,6 +21,10 @@ author: - William Liang - ChenYing Kuo +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: Performance and Architecture armips: @@ -55,11 +58,10 @@ further_reading: link: https://github.com/eclipse-zenoh/zenoh-plugin-ros2dds type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/advanced_soc/_index.md b/content/learning-paths/embedded-and-microcontrollers/advanced_soc/_index.md index 45d8cdaa2e..a39c9f36c2 100644 --- a/content/learning-paths/embedded-and-microcontrollers/advanced_soc/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/advanced_soc/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -45,3 +49,4 @@ learning_path_main_page: "yes" # Indicates this should be surfaced when looking # Prereqs --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/alif-image-classification/_index.md b/content/learning-paths/embedded-and-microcontrollers/alif-image-classification/_index.md index 82d729997b..8b2bb4d144 100644 --- a/content/learning-paths/embedded-and-microcontrollers/alif-image-classification/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/alif-image-classification/_index.md @@ -22,6 +22,10 @@ prerequisites: author: Gabriel Peterson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Advanced subjects: ML armips: @@ -60,3 +64,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/arduino-pico/_index.md b/content/learning-paths/embedded-and-microcontrollers/arduino-pico/_index.md index 947bcf1751..4706afd0c3 100644 --- a/content/learning-paths/embedded-and-microcontrollers/arduino-pico/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/arduino-pico/_index.md @@ -13,7 +13,6 @@ learning_objectives: - Understand how hardware interrupts are used in embedded systems to respond to external changes - Add interrupt handlers to an embedded application - prerequisites: - The [Arduino IDE with the RP2040 board support package](/install-guides/arduino-pico/) installed on your computer - A [Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/) board @@ -22,6 +21,10 @@ prerequisites: author: Michael Hall +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: RTOS Fundamentals @@ -42,10 +45,10 @@ further_reading: link: https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/armds/_index.md b/content/learning-paths/embedded-and-microcontrollers/armds/_index.md index c1f0d5a3cc..cfe6f1abf9 100644 --- a/content/learning-paths/embedded-and-microcontrollers/armds/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/armds/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -46,11 +50,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/DSTREAM-PT type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/asm/_index.md b/content/learning-paths/embedded-and-microcontrollers/asm/_index.md index 84d2584eb0..328d6c2f61 100644 --- a/content/learning-paths/embedded-and-microcontrollers/asm/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/asm/_index.md @@ -6,6 +6,10 @@ description: Learn how to write mixed C and assembly programs for Cortex-M micro author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + who_is_this_for: This is an introductory topic for software developers who are interested in programming microcontrollers with C/Assembly. learning_objectives: @@ -41,5 +45,5 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. # ================================================================================ - --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/avh_balena/_index.md b/content/learning-paths/embedded-and-microcontrollers/avh_balena/_index.md index b09108b413..6af31ed57c 100644 --- a/content/learning-paths/embedded-and-microcontrollers/avh_balena/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/avh_balena/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Michael Hall +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory @@ -51,11 +55,10 @@ further_reading: link: https://hub.balena.io/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/avh_greengrass/_index.md b/content/learning-paths/embedded-and-microcontrollers/avh_greengrass/_index.md index de36c5ccab..53dcc92ff1 100644 --- a/content/learning-paths/embedded-and-microcontrollers/avh_greengrass/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/avh_greengrass/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Michael Hall +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory @@ -34,7 +38,6 @@ tools_software_languages: - AWS IoT Greengrass - Raspberry Pi - further_reading: - resource: title: AWS IoT Greengrass CLI documentation @@ -49,11 +52,10 @@ further_reading: link: https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/avh_matter/_index.md b/content/learning-paths/embedded-and-microcontrollers/avh_matter/_index.md index dbb782b672..2083af8bbe 100644 --- a/content/learning-paths/embedded-and-microcontrollers/avh_matter/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/avh_matter/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -44,10 +48,10 @@ further_reading: link: https://buildwithmatter.com type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/avh_ppocr/_index.md b/content/learning-paths/embedded-and-microcontrollers/avh_ppocr/_index.md index 796dab64d5..5bbad3d88e 100644 --- a/content/learning-paths/embedded-and-microcontrollers/avh_ppocr/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/avh_ppocr/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Liliya Wu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -51,11 +55,10 @@ further_reading: link: https://www.arm.com/blogs/blueprint/baidu-paddlepaddle type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/avh_vio/_index.md b/content/learning-paths/embedded-and-microcontrollers/avh_vio/_index.md index e46b2ea320..698ac367b2 100644 --- a/content/learning-paths/embedded-and-microcontrollers/avh_vio/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/avh_vio/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Virtual Hardware @@ -27,19 +31,16 @@ operatingsystems: tools_software_languages: - Arm Virtual Hardware - further_reading: - resource: title: AVH Virtual Interfaces link: https://arm-software.github.io/AVH/main/simulation/html/group__arm__cmvp.html type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/azure-iot/_index.md b/content/learning-paths/embedded-and-microcontrollers/azure-iot/_index.md index 46927e2945..18a237c01a 100644 --- a/content/learning-paths/embedded-and-microcontrollers/azure-iot/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/azure-iot/_index.md @@ -22,6 +22,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -50,11 +54,10 @@ further_reading: link: https://github.com/Azure-Samples/azure-iot-samples-python type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/bare-metal/_index.md b/content/learning-paths/embedded-and-microcontrollers/bare-metal/_index.md index cdfc0afdef..cfee1074ad 100644 --- a/content/learning-paths/embedded-and-microcontrollers/bare-metal/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/bare-metal/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -41,10 +45,10 @@ further_reading: link: https://developer.arm.com/documentation/100748 type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/cloud-native-deployment-on-hybrid-edge-systems/_index.md b/content/learning-paths/embedded-and-microcontrollers/cloud-native-deployment-on-hybrid-edge-systems/_index.md index e7b080d3b7..db095da711 100644 --- a/content/learning-paths/embedded-and-microcontrollers/cloud-native-deployment-on-hybrid-edge-systems/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/cloud-native-deployment-on-hybrid-edge-systems/_index.md @@ -12,13 +12,16 @@ learning_objectives: - Build a firmware container image. - Build the hybrid-runtime components. - prerequisites: - A valid account with [Arm Virtual Hardware](https://app.avh.arm.com/login) - An Arm Linux host machine (if you want to build your own runtime and container image) author: Basma El Gaabouri +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -33,7 +36,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: K3s Quick start Guide @@ -48,11 +50,10 @@ further_reading: link: https://github.com/smarter-project/hybrid-runtime/tree/main type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/_index.md b/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/_index.md index 1098264f3c..c45b4e2db9 100644 --- a/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: RTOS Fundamentals @@ -38,10 +42,10 @@ further_reading: link: https://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/_index.md b/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/_index.md index 188207d7e5..b43a26a1db 100644 --- a/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: RTOS Fundamentals @@ -40,10 +44,10 @@ further_reading: link: https://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/_index.md b/content/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/_index.md index cfb93d6a0f..64efe63c6f 100644 --- a/content/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/_index.md @@ -7,7 +7,6 @@ minutes_to_complete: 45 who_is_this_for: This is an advanced topic for developers looking to integrate the CMSIS-DSP library into their applications using Python. - learning_objectives: - Use the CMSIS-DSP Python package to prototype DSP algorithms. - Understand how the Python API maps to the C implementation. @@ -21,6 +20,10 @@ prerequisites: author: Christophe Favergeon +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Libraries @@ -60,10 +63,10 @@ further_reading: link: https://github.com/ARM-software/CMSIS-Stream type: Open-source project - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/context-switch-cortex-m/_index.md b/content/learning-paths/embedded-and-microcontrollers/context-switch-cortex-m/_index.md index 2ee1c4fd28..a41dc5f704 100644 --- a/content/learning-paths/embedded-and-microcontrollers/context-switch-cortex-m/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/context-switch-cortex-m/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Uma Ramalingam +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -45,3 +49,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/coverage_mdk/_index.md b/content/learning-paths/embedded-and-microcontrollers/coverage_mdk/_index.md index a27ab3b219..7fbec6004c 100644 --- a/content/learning-paths/embedded-and-microcontrollers/coverage_mdk/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/coverage_mdk/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -42,10 +46,10 @@ further_reading: link: https://www.youtube.com/watch?v=XGmSCVgb6EM type: video - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/device-connect-d2d/_index.md b/content/learning-paths/embedded-and-microcontrollers/device-connect-d2d/_index.md index 9b7ab41616..22bf1be008 100644 --- a/content/learning-paths/embedded-and-microcontrollers/device-connect-d2d/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/device-connect-d2d/_index.md @@ -3,7 +3,6 @@ title: Device-to-Device communication with Device Connect minutes_to_complete: 25 - who_is_this_for: This is an introductory topic for developers wiring up heterogeneous edge fleets, where devices need a shared way to find each other and a shared way to be controlled by agents. Device Connect provides this communication protocol between agents and devices, and standardizes how devices from different vendors advertise themselves and exchange structured messages, so both peer devices and AI agents can discover and invoke them through the same driver model. You'll use a Raspberry Pi 5 as the example primary edge device, but the same flow works with another device or with your development machine acting as a simulated device. learning_objectives: @@ -21,6 +20,10 @@ author: - Kavya Sri Chennoju - Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Libraries @@ -53,3 +56,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/device-connect-server/_index.md b/content/learning-paths/embedded-and-microcontrollers/device-connect-server/_index.md index 83bd1b9e4a..400a795cd6 100644 --- a/content/learning-paths/embedded-and-microcontrollers/device-connect-server/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/device-connect-server/_index.md @@ -24,6 +24,10 @@ author: - Kavya Sri Chennoju - Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Libraries diff --git a/content/learning-paths/embedded-and-microcontrollers/device-connect-strands/_index.md b/content/learning-paths/embedded-and-microcontrollers/device-connect-strands/_index.md index 440774182e..d6ff3c720a 100644 --- a/content/learning-paths/embedded-and-microcontrollers/device-connect-strands/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/device-connect-strands/_index.md @@ -24,7 +24,9 @@ author: - Annie Tallund - Kavya Sri Chennoju - +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -64,3 +66,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/docker/_index.md b/content/learning-paths/embedded-and-microcontrollers/docker/_index.md index e5b4fbf236..f50fe041ac 100644 --- a/content/learning-paths/embedded-and-microcontrollers/docker/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/docker/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -32,7 +36,6 @@ tools_software_languages: - Arm Compiler for Embedded - Arm Fast Models - further_reading: - resource: title: Docker documentation @@ -43,10 +46,10 @@ further_reading: link: /learning-paths/cross-platform/docker/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/edge/_index.md b/content/learning-paths/embedded-and-microcontrollers/edge/_index.md index 1a667cb3dd..726e65c2cb 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge/_index.md @@ -20,6 +20,11 @@ prerequisites: - An [Arduino Nano RP2040 Connect board](https://store.arduino.cc/products/arduino-nano-rp2040-connect-with-headers). author: Bright Edudzi Gershon Kordorwu + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -33,7 +38,6 @@ tools_software_languages: operatingsystems: - Baremetal - further_reading: - resource: title: TinyML brings AI to smallest Arm devices @@ -48,11 +52,10 @@ further_reading: link: https://docs.edgeimpulse.com/docs/readme/for-beginners type: doc - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/_index.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/_index.md index 40957ee28b..9a463fe599 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/_index.md @@ -23,9 +23,12 @@ prerequisites: - A supported Arm-based edge device (Raspberry Pi 5, Nvidia Jetson, Qualcomm Dragonwing QC6490) or an AWS EC2 Arm instance - An SSH client and familiarity with the Linux command line - Basic understanding of ML concepts - author: Doug Anson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory cloud_service_providers: diff --git a/content/learning-paths/embedded-and-microcontrollers/img_nn_stcube/_index.md b/content/learning-paths/embedded-and-microcontrollers/img_nn_stcube/_index.md index bdd760c3a0..b2285a9bb8 100644 --- a/content/learning-paths/embedded-and-microcontrollers/img_nn_stcube/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/img_nn_stcube/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -39,10 +43,10 @@ further_reading: link: https://www.st.com/resource/en/user_manual/um2052-getting-started-with-stm32-mcu-discovery-kits-software-development-tools-stmicroelectronics.pdf type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/intro/_index.md b/content/learning-paths/embedded-and-microcontrollers/intro/_index.md index 2dc3dbaaa5..de8507e741 100644 --- a/content/learning-paths/embedded-and-microcontrollers/intro/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/intro/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -27,7 +31,6 @@ operatingsystems: - RTOS tools_software_languages: - further_reading: - resource: title: Raspberry Pi Pico @@ -38,10 +41,10 @@ further_reading: link: https://microbit.org/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/_index.md b/content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/_index.md index 1adc728422..d87efa5b31 100644 --- a/content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/_index.md @@ -17,9 +17,12 @@ prerequisites: - Basic knowledge of Machine Learning concepts - A Linux computer - author: Dominica Abena O. Amanfo +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -54,12 +57,10 @@ further_reading: link: https://developer.arm.com/documentation/109267/0101 type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/iot-sdk/_index.md b/content/learning-paths/embedded-and-microcontrollers/iot-sdk/_index.md index d32270b5e3..1783fba460 100644 --- a/content/learning-paths/embedded-and-microcontrollers/iot-sdk/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/iot-sdk/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -32,7 +36,6 @@ tools_software_languages: - FVP - Arm Compiler for Embedded - further_reading: - resource: title: Open-IoT-SDK @@ -47,10 +50,10 @@ further_reading: link: https://www.arm.com/products/silicon-ip-subsystems/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/jetson_object_detection/_index.md b/content/learning-paths/embedded-and-microcontrollers/jetson_object_detection/_index.md index 82ecff78f1..7e612b35b4 100644 --- a/content/learning-paths/embedded-and-microcontrollers/jetson_object_detection/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/jetson_object_detection/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Gabriel Peterson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory @@ -34,7 +38,6 @@ tools_software_languages: - TensorRT - Docker - further_reading: - resource: title: Jetson Inference @@ -49,11 +52,10 @@ further_reading: link: https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/keilstudiocloud/_index.md b/content/learning-paths/embedded-and-microcontrollers/keilstudiocloud/_index.md index fb4720d580..c4a36ed9ae 100644 --- a/content/learning-paths/embedded-and-microcontrollers/keilstudiocloud/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/keilstudiocloud/_index.md @@ -17,6 +17,9 @@ prerequisites: author: Christopher Seidl +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ##### Tags skilllevels: Introductory @@ -49,11 +52,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/which-keil-tool-should-i-care-about type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/linux-nxp-board/_index.md b/content/learning-paths/embedded-and-microcontrollers/linux-nxp-board/_index.md index 2aa2f64c88..6f20fc3b2b 100644 --- a/content/learning-paths/embedded-and-microcontrollers/linux-nxp-board/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/linux-nxp-board/_index.md @@ -2,7 +2,7 @@ title: Use Linux on the NXP FRDM i.MX 93 board description: Learn how to boot and configure the NXP FRDM i.MX 93 Arm board with Linux, create a user with sudo access, connect to WiFi using ConnMan, and transfer files over the network. - + minutes_to_complete: 120 who_is_this_for: This is an introductory topic for embedded developers and ML engineers who want to boot an NXP FRDM i.MX 93 board, connect over serial, enable WiFi, and transfer files for on-device development on Arm. @@ -22,6 +22,10 @@ prerequisites: author: Waheed Brown +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -57,12 +61,10 @@ further_reading: link: https://developer.arm.com/documentation/109267/0101 type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/linux-on-fvp/_index.md b/content/learning-paths/embedded-and-microcontrollers/linux-on-fvp/_index.md index f2663baf57..9e2b64f77a 100644 --- a/content/learning-paths/embedded-and-microcontrollers/linux-on-fvp/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/linux-on-fvp/_index.md @@ -13,10 +13,13 @@ learning_objectives: prerequisites: - A Linux-based x86-64 host computer with Arm Development Studio installed. - Basic understanding of Assembly and C programming. - author: Qixiang Xu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Embedded Linux @@ -43,11 +46,10 @@ further_reading: link: https://developer.arm.com/documentation/100964/1128/?lang=en type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/llama-python-cpu/_index.md b/content/learning-paths/embedded-and-microcontrollers/llama-python-cpu/_index.md index ad5f76c7f6..c5c5735618 100644 --- a/content/learning-paths/embedded-and-microcontrollers/llama-python-cpu/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/llama-python-cpu/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -46,11 +50,10 @@ further_reading: link: https://github.com/abetlen/llama-cpp-python type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/migration/_index.md b/content/learning-paths/embedded-and-microcontrollers/migration/_index.md index 6eeeb5d1a2..57a4483647 100644 --- a/content/learning-paths/embedded-and-microcontrollers/migration/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/migration/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Kasper Mecklenburg +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -61,3 +65,4 @@ learning_path_main_page: "yes" # Indicates this should be surfaced when looking # Prereqs --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/mlek/_index.md b/content/learning-paths/embedded-and-microcontrollers/mlek/_index.md index 756d7e1e53..3db1dccf38 100644 --- a/content/learning-paths/embedded-and-microcontrollers/mlek/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/mlek/_index.md @@ -17,12 +17,15 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### RS: Learning Path hidden until AWS instance updated draft: false cascade: draft: false - ### Tags skilllevels: Introductory subjects: ML @@ -48,10 +51,10 @@ further_reading: link: https://devsummit.arm.com/flow/arm/devsummit22/sessions-catalog/page/sessions/session/1656589322296001Tbrk type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/nav-mlek/_index.md b/content/learning-paths/embedded-and-microcontrollers/nav-mlek/_index.md index 11dafb081a..59dc0e47c5 100644 --- a/content/learning-paths/embedded-and-microcontrollers/nav-mlek/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/nav-mlek/_index.md @@ -10,6 +10,10 @@ armips: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + learning_objectives: - Understand and select physical and virtual hardware targets for ML application development with Cortex-M and Ethos-U - Identify and install software tools used for machine learning applications on microcontrollers @@ -52,9 +56,9 @@ further_reading: link: https://armkeil.blob.core.windows.net/developer/Files/pdf/ethos/Arm_ML_on_Cortex-M_Microcontrollers_v2.pdf type: documentation - weight: 1 layout: learningpathall learning_path_main_page: 'yes' --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/new_debug_targets_armds/_index.md b/content/learning-paths/embedded-and-microcontrollers/new_debug_targets_armds/_index.md index bbd5baab94..fb9818cd3e 100644 --- a/content/learning-paths/embedded-and-microcontrollers/new_debug_targets_armds/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/new_debug_targets_armds/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -45,11 +49,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/DSTREAM-PT type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-nxp/_index.md b/content/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-nxp/_index.md index bd639809b4..166ed3b25f 100644 --- a/content/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-nxp/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-nxp/_index.md @@ -18,9 +18,13 @@ prerequisites: - Basic knowledge of Machine Learning concepts - A host computer to compile ExecuTorch libraries -author: -- Waheed Brown -- Fidel Makatia Omusilibwa +author: + - Waheed Brown + - Fidel Makatia Omusilibwa + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -56,9 +60,6 @@ further_reading: link: https://developer.arm.com/documentation/109267/0101 type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/embedded-and-microcontrollers/pack-migration-cmsis-v6/_index.md b/content/learning-paths/embedded-and-microcontrollers/pack-migration-cmsis-v6/_index.md index 420b4203c2..e988db78f2 100644 --- a/content/learning-paths/embedded-and-microcontrollers/pack-migration-cmsis-v6/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/pack-migration-cmsis-v6/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Christopher Seidl +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Libraries @@ -29,7 +33,6 @@ operatingsystems: - Baremetal - RTOS - further_reading: - resource: title: Create a Device Family Pack - Hands-On Example @@ -40,11 +43,10 @@ further_reading: link: https://developer.arm.com/documentation/100068/latest/Migrating-from-Arm-Compiler-5-to-Arm-Compiler-for-Embedded-6 type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/pqc_pqm4/_index.md b/content/learning-paths/embedded-and-microcontrollers/pqc_pqm4/_index.md old mode 100644 new mode 100755 index 12a1903085..7c78465859 --- a/content/learning-paths/embedded-and-microcontrollers/pqc_pqm4/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/pqc_pqm4/_index.md @@ -1,6 +1,6 @@ --- title: Implement post-quantum cryptography on Arm Cortex-M4 - + description: Learn how to implement and test post-quantum cryptographic algorithms on Arm Cortex-M4 microcontrollers using the pqm4 library. minutes_to_complete: 120 @@ -23,6 +23,10 @@ author: - Akash Malik - Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Security diff --git a/content/learning-paths/embedded-and-microcontrollers/project-migration-cmsis-v6/_index.md b/content/learning-paths/embedded-and-microcontrollers/project-migration-cmsis-v6/_index.md index afdee0caec..1a8bdb5d25 100644 --- a/content/learning-paths/embedded-and-microcontrollers/project-migration-cmsis-v6/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/project-migration-cmsis-v6/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Christopher Seidl +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Libraries @@ -30,7 +34,6 @@ operatingsystems: - Baremetal - RTOS - further_reading: - resource: title: Keil Studio User's Guide @@ -51,3 +54,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/raspberry-pi-smart-home/_index.md b/content/learning-paths/embedded-and-microcontrollers/raspberry-pi-smart-home/_index.md index 428dfaf822..30ae311260 100644 --- a/content/learning-paths/embedded-and-microcontrollers/raspberry-pi-smart-home/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/raspberry-pi-smart-home/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Fidel Makatia Omusilibwa +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: ML armips: @@ -65,3 +69,4 @@ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/raspberry_pi_chatgpt_bot/_index.md b/content/learning-paths/embedded-and-microcontrollers/raspberry_pi_chatgpt_bot/_index.md index 25764f7cd6..8aabaf2305 100644 --- a/content/learning-paths/embedded-and-microcontrollers/raspberry_pi_chatgpt_bot/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/raspberry_pi_chatgpt_bot/_index.md @@ -22,6 +22,10 @@ prerequisites: author: Gabriel Peterson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory @@ -38,7 +42,6 @@ tools_software_languages: - Porcupine - Python - further_reading: - resource: title: OpenAI Documentation @@ -49,11 +52,10 @@ further_reading: link: https://picovoice.ai/docs/porcupine/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/rpi-llama3/_index.md b/content/learning-paths/embedded-and-microcontrollers/rpi-llama3/_index.md index f26cad441f..39129a5d2f 100644 --- a/content/learning-paths/embedded-and-microcontrollers/rpi-llama3/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/rpi-llama3/_index.md @@ -14,14 +14,16 @@ learning_objectives: - Describe how to run Llama 3 on a Raspberry Pi 5 using ExecuTorch. - Describe techniques for running large language models in an embedded environment. - - prerequisites: - An Arm Linux machine or an [Arm cloud instance](/learning-paths/servers-and-cloud-computing/csp/). - A Raspberry Pi 5. author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -36,8 +38,6 @@ tools_software_languages: - Hugging Face - ExecuTorch - - further_reading: - resource: title: Practical AI for the Raspberry Pi @@ -56,12 +56,10 @@ further_reading: link: https://dev-discuss.pytorch.org/t/run-llama3-8b-on-a-raspberry-pi-5-with-executorch/2048 type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/rpi-mxnet/_index.md b/content/learning-paths/embedded-and-microcontrollers/rpi-mxnet/_index.md index c75e157b25..72e3cbcc95 100644 --- a/content/learning-paths/embedded-and-microcontrollers/rpi-mxnet/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/rpi-mxnet/_index.md @@ -17,9 +17,12 @@ prerequisites: - An Arm computer running Linux. Cloud instances can be used, refer to the list of [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/). - A Raspberry Pi 3 or 4 board - author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -38,10 +41,10 @@ further_reading: link: https://mxnet.apache.org/versions/1.2.1/tutorials/index.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/rpi/_index.md b/content/learning-paths/embedded-and-microcontrollers/rpi/_index.md index 27fce11cf8..1dc7e8042f 100644 --- a/content/learning-paths/embedded-and-microcontrollers/rpi/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/rpi/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Embedded Linux @@ -40,10 +44,10 @@ further_reading: link: https://developer.arm.com/documentation/102561 type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/rpi_pico/_index.md b/content/learning-paths/embedded-and-microcontrollers/rpi_pico/_index.md index 71497432b9..5b18d526c9 100644 --- a/content/learning-paths/embedded-and-microcontrollers/rpi_pico/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/rpi_pico/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -39,10 +43,10 @@ further_reading: link: https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/streamline-kernel-module/_index.md b/content/learning-paths/embedded-and-microcontrollers/streamline-kernel-module/_index.md index c6a4d74023..ac8d5ab648 100644 --- a/content/learning-paths/embedded-and-microcontrollers/streamline-kernel-module/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/streamline-kernel-module/_index.md @@ -3,7 +3,6 @@ title: Profile the Linux kernel with Arm Streamline description: Learn how to profile Linux kernel modules using Arm Streamline to identify performance bottlenecks, analyze both out-of-tree and in-tree modules, and use Statistical Profiling Extension (SPE) for deeper insights. - minutes_to_complete: 60 who_is_this_for: This is an advanced topic for developers and performance engineers interested in profiling Linux kernel performance. @@ -22,6 +21,10 @@ prerequisites: author: Yahya Abouelseoud +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -35,8 +38,6 @@ tools_software_languages: operatingsystems: - Linux - - further_reading: - resource: title: Streamline user guide @@ -51,11 +52,10 @@ further_reading: link: https://developer.arm.com/Additional%20Resources/Video%20Tutorials/Arm%20Mali%20GPU%20Training%20-%20EP3-3 type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/tflow_nn_stcube/_index.md b/content/learning-paths/embedded-and-microcontrollers/tflow_nn_stcube/_index.md index 6a78c8682d..4be0669fdc 100644 --- a/content/learning-paths/embedded-and-microcontrollers/tflow_nn_stcube/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/tflow_nn_stcube/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -39,10 +43,10 @@ further_reading: link: https://www.st.com/resource/en/user_manual/um2052-getting-started-with-stm32-mcu-discovery-kits-software-development-tools-stmicroelectronics.pdf type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/tfm/_index.md b/content/learning-paths/embedded-and-microcontrollers/tfm/_index.md index ce7b75065d..4f9066437b 100644 --- a/content/learning-paths/embedded-and-microcontrollers/tfm/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/tfm/_index.md @@ -8,7 +8,6 @@ minutes_to_complete: 15 who_is_this_for: This is an introductory topic for software developers new to Trusted Firmware-M. - learning_objectives: - Build and run the reference TF-M tests and example application. @@ -18,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - armswdev/arm-tools:bare-metal-compilers test_maintenance: false @@ -54,11 +57,10 @@ further_reading: link: https://www.psacertified.org/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. - --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/training-inference-pytorch/_index.md b/content/learning-paths/embedded-and-microcontrollers/training-inference-pytorch/_index.md index 1f91e67355..a64b5ca048 100644 --- a/content/learning-paths/embedded-and-microcontrollers/training-inference-pytorch/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/training-inference-pytorch/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Dominica Abena O. Amanfo +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -54,3 +58,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/trustzone_nxp_lpc/_index.md b/content/learning-paths/embedded-and-microcontrollers/trustzone_nxp_lpc/_index.md index 65540f0e67..715a9755b0 100644 --- a/content/learning-paths/embedded-and-microcontrollers/trustzone_nxp_lpc/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/trustzone_nxp_lpc/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Security @@ -42,10 +46,10 @@ further_reading: link: https://community.nxp.com/t5/Blogs/Using-LPC55S69-SDK-TrustZone-examples-with-MCUXpresso-IDE-v11-0/ba-p/1131075 type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/universal-sbc-chassis/_index.md b/content/learning-paths/embedded-and-microcontrollers/universal-sbc-chassis/_index.md index dc976ecfc0..fe5492df3a 100644 --- a/content/learning-paths/embedded-and-microcontrollers/universal-sbc-chassis/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/universal-sbc-chassis/_index.md @@ -23,10 +23,13 @@ prerequisites: - 18-8 stainless steel socket head screw. 4 per card. [Example part](https://www.mcmaster.com/91292A016/) - 18-8 stainless steel hex nut. 4 per card. [Example part](https://www.mcmaster.com/91828A113/) - PETG filament. Others can work, but PETG allows some flex without the risk of snapping - author: Gabriel Peterson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory @@ -51,11 +54,10 @@ further_reading: link: https://all3dp.com/2/3d-printing-for-beginners-all-you-need-to-know-to-get-started/ type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/uv_debug/_index.md b/content/learning-paths/embedded-and-microcontrollers/uv_debug/_index.md index 3be98ec17e..e627e46925 100644 --- a/content/learning-paths/embedded-and-microcontrollers/uv_debug/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/uv_debug/_index.md @@ -9,6 +9,10 @@ minutes_to_complete: 90 author: Christopher Seidl +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + who_is_this_for: > This is an advanced topic for software developers who want to debug microcontrollers using µVision. # One sentence that should indicate exactly who the target audience is (developers in X industries using Y tools/software for Z use-case). @@ -32,7 +36,6 @@ prerequisites: # Previous learning paths (The Learning Path: Getting Started with Arm Virtual Hardware) # Particular tools/environments already being initialized (An EC2 instance with AVH installed) - ##### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -45,8 +48,6 @@ tools_software_languages: - Keil MDK - FVP - - further_reading: - resource: title: Keil MDK @@ -69,7 +70,6 @@ further_reading: link: https://keil.arm.com/boards type: website - # ================================================================================ # FIXED, DO NOT MODIFY # ================================================================================ diff --git a/content/learning-paths/embedded-and-microcontrollers/uvprojx-conversion/_index.md b/content/learning-paths/embedded-and-microcontrollers/uvprojx-conversion/_index.md index 403455b359..b924b0b0ca 100644 --- a/content/learning-paths/embedded-and-microcontrollers/uvprojx-conversion/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/uvprojx-conversion/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Christopher Seidl +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -33,8 +37,6 @@ operatingsystems: - Linux - macOS - - further_reading: - resource: title: Keil Studio User's Guide @@ -49,11 +51,10 @@ further_reading: link: https://keil.arm.com type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/vcpkg-tool-installation/_index.md b/content/learning-paths/embedded-and-microcontrollers/vcpkg-tool-installation/_index.md index ba6325bd0b..eb12339a5e 100644 --- a/content/learning-paths/embedded-and-microcontrollers/vcpkg-tool-installation/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/vcpkg-tool-installation/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Christopher Seidl +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: CI-CD @@ -36,7 +40,6 @@ operatingsystems: - Windows - macOS - further_reading: - resource: title: vcpkg documentation @@ -51,11 +54,10 @@ further_reading: link: https://github.com/Arm-Examples#cmsis-toolbox-2.0.0-examples type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/_index.md b/content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/_index.md index 78bade2a50..a695440bc9 100644 --- a/content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/_index.md @@ -17,9 +17,12 @@ prerequisites: - Familiarity with basic machine learning concepts - A Linux or macOS computer with Python 3 installed - author: Waheed Brown +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -56,12 +59,10 @@ further_reading: link: https://developer.arm.com/documentation/109267/0101 type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/yocto_qemu/_index.md b/content/learning-paths/embedded-and-microcontrollers/yocto_qemu/_index.md index 9345b95d4a..42d07a373a 100644 --- a/content/learning-paths/embedded-and-microcontrollers/yocto_qemu/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/yocto_qemu/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Embedded Linux @@ -44,11 +48,10 @@ further_reading: link: https://www.qemu.org/docs/master/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/yolo-on-himax/_index.md b/content/learning-paths/embedded-and-microcontrollers/yolo-on-himax/_index.md index 9242d47167..fa7996fb11 100644 --- a/content/learning-paths/embedded-and-microcontrollers/yolo-on-himax/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/yolo-on-himax/_index.md @@ -25,6 +25,10 @@ author: - Alex Su - Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -40,9 +44,6 @@ operatingsystems: - Linux - macOS - - - further_reading: - resource: title: Grove Vision AI Module V2 User Documentation @@ -53,10 +54,10 @@ further_reading: link: https://www.himax.com.tw/products/wiseeye-ai-sensing/wiseeye2-ai-processor/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/embedded-and-microcontrollers/zephyr/_index.md b/content/learning-paths/embedded-and-microcontrollers/zephyr/_index.md index 3fbd7577e5..5176b382ff 100644 --- a/content/learning-paths/embedded-and-microcontrollers/zephyr/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/zephyr/_index.md @@ -8,7 +8,6 @@ minutes_to_complete: 30 who_is_this_for: This is an introductory topic for software developers getting started with the Zephyr RTOS. - learning_objectives: - Build and run Zephyr applications on the Corstone-300 @@ -18,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - amd64/ubuntu:latest test_link: null @@ -49,11 +52,10 @@ further_reading: link: https://docs.zephyrproject.org/latest/boards/arm/index.html type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. +--- ---- \ No newline at end of file diff --git a/content/learning-paths/embedded-and-microcontrollers/zephyr_cs320_mps4/_index.md b/content/learning-paths/embedded-and-microcontrollers/zephyr_cs320_mps4/_index.md index 23052cc10f..e43f6abbec 100644 --- a/content/learning-paths/embedded-and-microcontrollers/zephyr_cs320_mps4/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/zephyr_cs320_mps4/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Sue Wu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: RTOS Fundamentals armips: diff --git a/content/learning-paths/embedded-and-microcontrollers/zephyr_shell/_index.md b/content/learning-paths/embedded-and-microcontrollers/zephyr_shell/_index.md index b82b13b22f..e60ed6ce2b 100644 --- a/content/learning-paths/embedded-and-microcontrollers/zephyr_shell/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/zephyr_shell/_index.md @@ -27,6 +27,10 @@ author: - Odin Shen - Akash Malik +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: RTOS Fundamentals armips: diff --git a/content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_index.md b/content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_index.md index b087c8c42c..4faa59e558 100644 --- a/content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_index.md @@ -18,11 +18,16 @@ prerequisites: - Basic familiarity with embedded C programming - Visual Studio Code - A Cortex-M development board + - Windows 10+ (64-bit), macOS with Homebrew, or Linux (preferably Ubuntu 20.04+) author: - Ayoub Bourjilat - Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: RTOS Fundamentals armips: @@ -52,3 +57,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/chrome-os-lxc/_index.md b/content/learning-paths/laptops-and-desktops/chrome-os-lxc/_index.md index e4697b98c3..fe859d63bc 100644 --- a/content/learning-paths/laptops-and-desktops/chrome-os-lxc/_index.md +++ b/content/learning-paths/laptops-and-desktops/chrome-os-lxc/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -46,3 +50,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/dgx_persistent_agent/_index.md b/content/learning-paths/laptops-and-desktops/dgx_persistent_agent/_index.md index 2c42b59062..b9f3a5d89d 100644 --- a/content/learning-paths/laptops-and-desktops/dgx_persistent_agent/_index.md +++ b/content/learning-paths/laptops-and-desktops/dgx_persistent_agent/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -49,7 +53,6 @@ further_reading: link: /learning-paths/laptops-and-desktops/dgx_spark_llamacpp/ type: Learning Path - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_isaac_robotics/_index.md b/content/learning-paths/laptops-and-desktops/dgx_spark_isaac_robotics/_index.md index 4c917ffa39..4d452ad067 100644 --- a/content/learning-paths/laptops-and-desktops/dgx_spark_isaac_robotics/_index.md +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_isaac_robotics/_index.md @@ -25,6 +25,10 @@ author: - Asier Arranz - Raymond Lo +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -67,3 +71,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_llamacpp/_index.md b/content/learning-paths/laptops-and-desktops/dgx_spark_llamacpp/_index.md index ac01762ed0..880021a031 100644 --- a/content/learning-paths/laptops-and-desktops/dgx_spark_llamacpp/_index.md +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_llamacpp/_index.md @@ -20,9 +20,12 @@ prerequisites: - Basic knowledge of quantized large language models (LLMs) and machine learning inference - Experience building software from source using CMake and make - author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -61,3 +64,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_rag/_index.md b/content/learning-paths/laptops-and-desktops/dgx_spark_rag/_index.md index ac8e6828bd..1de2af16c0 100644 --- a/content/learning-paths/laptops-and-desktops/dgx_spark_rag/_index.md +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_rag/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -48,10 +52,10 @@ further_reading: link: /learning-paths/laptops-and-desktops/dgx_spark_llamacpp/ type: Learning Path - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md index 84b60e7996..dee12f6838 100644 --- a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -55,3 +59,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/docker-models/_index.md b/content/learning-paths/laptops-and-desktops/docker-models/_index.md index c2577deaec..616a853fa1 100644 --- a/content/learning-paths/laptops-and-desktops/docker-models/_index.md +++ b/content/learning-paths/laptops-and-desktops/docker-models/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization diff --git a/content/learning-paths/laptops-and-desktops/electron/_index.md b/content/learning-paths/laptops-and-desktops/electron/_index.md index ed96d99677..faad83711c 100644 --- a/content/learning-paths/laptops-and-desktops/electron/_index.md +++ b/content/learning-paths/laptops-and-desktops/electron/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -44,10 +48,10 @@ further_reading: link: https://www.electronjs.org/docs/latest/tutorial/windows-arm type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/gh-arm-runners-win/_index.md b/content/learning-paths/laptops-and-desktops/gh-arm-runners-win/_index.md index f603d2583c..28aebc5c0b 100644 --- a/content/learning-paths/laptops-and-desktops/gh-arm-runners-win/_index.md +++ b/content/learning-paths/laptops-and-desktops/gh-arm-runners-win/_index.md @@ -19,6 +19,10 @@ prerequisites: author: - Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD diff --git a/content/learning-paths/laptops-and-desktops/hyper-v/_index.md b/content/learning-paths/laptops-and-desktops/hyper-v/_index.md index 02305a24f0..08ff5931f4 100644 --- a/content/learning-paths/laptops-and-desktops/hyper-v/_index.md +++ b/content/learning-paths/laptops-and-desktops/hyper-v/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -32,10 +36,10 @@ further_reading: link: https://learn.microsoft.com/en-us/virtualization/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/intro/_index.md b/content/learning-paths/laptops-and-desktops/intro/_index.md index f9fb290aad..0e2edf09c2 100644 --- a/content/learning-paths/laptops-and-desktops/intro/_index.md +++ b/content/learning-paths/laptops-and-desktops/intro/_index.md @@ -16,6 +16,9 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -27,17 +30,16 @@ operatingsystems: - ChromeOS tools_software_languages: - further_reading: - resource: title: All Chromebooks with Arm Processors link: https://www.linuxmadesimple.info/2019/08/all-chromebooks-with-arm-processors-in.html type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/kleidicv-on-mac/_index.md b/content/learning-paths/laptops-and-desktops/kleidicv-on-mac/_index.md index 7c6c7b6263..307edae44f 100644 --- a/content/learning-paths/laptops-and-desktops/kleidicv-on-mac/_index.md +++ b/content/learning-paths/laptops-and-desktops/kleidicv-on-mac/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Jett Zhou +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -44,11 +48,10 @@ further_reading: link: /learning-paths/cross-platform/function-multiversioning/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/llvm_putty/_index.md b/content/learning-paths/laptops-and-desktops/llvm_putty/_index.md index 33fe3de5dd..61e65a5eef 100644 --- a/content/learning-paths/laptops-and-desktops/llvm_putty/_index.md +++ b/content/learning-paths/laptops-and-desktops/llvm_putty/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -37,10 +41,10 @@ further_reading: link: https://linaro.atlassian.net/wiki/spaces/LLVM/overview/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/memory-tagged-dynamic-memory-allocator/_index.md b/content/learning-paths/laptops-and-desktops/memory-tagged-dynamic-memory-allocator/_index.md index cd44279f19..de8b2a0146 100644 --- a/content/learning-paths/laptops-and-desktops/memory-tagged-dynamic-memory-allocator/_index.md +++ b/content/learning-paths/laptops-and-desktops/memory-tagged-dynamic-memory-allocator/_index.md @@ -18,6 +18,10 @@ prerequisites: author: David Spickett +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -30,14 +34,12 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: LLSoftSecBook Chapter on Stack Buffer Overflows link: https://llsoftsec.github.io/llsoftsecbook/#stack-buffer-overflows type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/laptops-and-desktops/pinebook-pro/_index.md b/content/learning-paths/laptops-and-desktops/pinebook-pro/_index.md index 53f38c2447..97aa9f4307 100644 --- a/content/learning-paths/laptops-and-desktops/pinebook-pro/_index.md +++ b/content/learning-paths/laptops-and-desktops/pinebook-pro/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Gabriel Peterson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -45,10 +49,10 @@ further_reading: link: https://wiki.pine64.org/wiki/Pinebook_Pro type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/pytorch-finetuning-on-spark/_index.md b/content/learning-paths/laptops-and-desktops/pytorch-finetuning-on-spark/_index.md index 442dba508f..8d850ee01a 100644 --- a/content/learning-paths/laptops-and-desktops/pytorch-finetuning-on-spark/_index.md +++ b/content/learning-paths/laptops-and-desktops/pytorch-finetuning-on-spark/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Michael Hall +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -65,3 +69,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/self_hosted_cicd_github/_index.md b/content/learning-paths/laptops-and-desktops/self_hosted_cicd_github/_index.md index db4f66a3bd..fb3bf851d7 100644 --- a/content/learning-paths/laptops-and-desktops/self_hosted_cicd_github/_index.md +++ b/content/learning-paths/laptops-and-desktops/self_hosted_cicd_github/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -50,3 +54,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win-opencv/_index.md b/content/learning-paths/laptops-and-desktops/win-opencv/_index.md index 4e81727e43..281b6f644e 100644 --- a/content/learning-paths/laptops-and-desktops/win-opencv/_index.md +++ b/content/learning-paths/laptops-and-desktops/win-opencv/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Koki Mitsunami +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -29,7 +33,6 @@ tools_software_languages: operatingsystems: - Windows - further_reading: - resource: title: OpenCV website @@ -44,11 +47,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/sve2 type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win-resource-ps1/_index.md b/content/learning-paths/laptops-and-desktops/win-resource-ps1/_index.md index 96d7f78f99..d74b669fe0 100644 --- a/content/learning-paths/laptops-and-desktops/win-resource-ps1/_index.md +++ b/content/learning-paths/laptops-and-desktops/win-resource-ps1/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Ruifeng Wang +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -29,8 +33,6 @@ tools_software_languages: operatingsystems: - Windows - - further_reading: - resource: title: Recording for resource-based analysis @@ -45,11 +47,10 @@ further_reading: link: https://learn.microsoft.com/en-us/windows/arm/arm64ec type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win11-vm-automation/_index.md b/content/learning-paths/laptops-and-desktops/win11-vm-automation/_index.md index d6bff51118..1ba430382a 100644 --- a/content/learning-paths/laptops-and-desktops/win11-vm-automation/_index.md +++ b/content/learning-paths/laptops-and-desktops/win11-vm-automation/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -49,3 +53,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_arm64ec/_index.md b/content/learning-paths/laptops-and-desktops/win_arm64ec/_index.md index 20a6fe8d8c..d5815f5887 100644 --- a/content/learning-paths/laptops-and-desktops/win_arm64ec/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_arm64ec/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -33,10 +37,10 @@ further_reading: link: https://learn.microsoft.com/en-us/windows/arm/arm64ec-build type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_arm64ec_porting/_index.md b/content/learning-paths/laptops-and-desktops/win_arm64ec_porting/_index.md index 97fc28f0af..166c134647 100644 --- a/content/learning-paths/laptops-and-desktops/win_arm64ec_porting/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_arm64ec_porting/_index.md @@ -16,9 +16,13 @@ prerequisites: - A Windows on Arm computer such as the Lenovo Thinkpad X13s running Windows 11 or a Windows on Arm [virtual machine](/learning-paths/cross-platform/woa_azure/). - Any code editor. [Visual Studio Code for Arm64](https://code.visualstudio.com/docs/?dv=win32arm64user) is suitable. - Visual Studio 2022 with Arm build tools. [Refer to this guide for the installation steps](https://developer.arm.com/documentation/102528/0100/Install-Visual-Studio). - + author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -45,10 +49,10 @@ further_reading: link: https://devblogs.microsoft.com/windows-music-dev/load-x64-plug-ins-like-vsts-from-your-arm-code-using-arm64ec/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_arm_qt/_index.md b/content/learning-paths/laptops-and-desktops/win_arm_qt/_index.md index a2b2d02a3e..69356a15d9 100644 --- a/content/learning-paths/laptops-and-desktops/win_arm_qt/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_arm_qt/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -39,10 +43,10 @@ further_reading: link: https://doc.qt.io/qt-6/qtexamplesandtutorials.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_asp_net8/_index.md b/content/learning-paths/laptops-and-desktops/win_asp_net8/_index.md index 18cad09cec..861ec9a38f 100644 --- a/content/learning-paths/laptops-and-desktops/win_asp_net8/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_asp_net8/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -44,10 +48,10 @@ further_reading: link: https://dotnet.microsoft.com/en-us/apps/aspnet type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_aws_iot/_index.md b/content/learning-paths/laptops-and-desktops/win_aws_iot/_index.md index 18737fd53e..2bd95ba19e 100644 --- a/content/learning-paths/laptops-and-desktops/win_aws_iot/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_aws_iot/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -28,7 +32,7 @@ operatingsystems: tools_software_languages: - Node.js - Visual Studio - + further_reading: - resource: title: AWS IoT Core Developer Guide @@ -39,10 +43,10 @@ further_reading: link: https://docs.aws.amazon.com/iot/latest/developerguide/sdk-tutorials.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_aws_iot_dynamodb/_index.md b/content/learning-paths/laptops-and-desktops/win_aws_iot_dynamodb/_index.md index f0dbbb012a..6d2c4ac220 100644 --- a/content/learning-paths/laptops-and-desktops/win_aws_iot_dynamodb/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_aws_iot_dynamodb/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -44,10 +48,10 @@ further_reading: link: https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda/_index.md b/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda/_index.md index 24220f983b..cc0ced5e44 100644 --- a/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -45,10 +49,10 @@ further_reading: link: https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda_dynamodb/_index.md b/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda_dynamodb/_index.md index 80934cd32c..e075eafeb1 100644 --- a/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda_dynamodb/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_aws_iot_lambda_dynamodb/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -43,10 +47,10 @@ further_reading: link: https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_aws_iot_s3/_index.md b/content/learning-paths/laptops-and-desktops/win_aws_iot_s3/_index.md index 4ee34f9e3c..0763385421 100644 --- a/content/learning-paths/laptops-and-desktops/win_aws_iot_s3/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_aws_iot_s3/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -43,10 +47,10 @@ further_reading: link: https://docs.aws.amazon.com/AmazonS3/latest/userguide/developing-s3.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_cef/_index.md b/content/learning-paths/laptops-and-desktops/win_cef/_index.md index 51a888d6b6..dba9bea8f0 100644 --- a/content/learning-paths/laptops-and-desktops/win_cef/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_cef/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -41,10 +45,10 @@ further_reading: link: https://en.wikipedia.org/wiki/Chromium_Embedded_Framework type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_forms/_index.md b/content/learning-paths/laptops-and-desktops/win_forms/_index.md index 899069712c..d43930abe5 100644 --- a/content/learning-paths/laptops-and-desktops/win_forms/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_forms/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -28,7 +32,7 @@ tools_software_languages: - Windows Forms - C# - .NET - + further_reading: - resource: title: Windows Forms on .NET 8 @@ -39,10 +43,10 @@ further_reading: link: https://devblogs.microsoft.com/dotnet/this-arm64-performance-in-dotnet-8/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_net/_index.md b/content/learning-paths/laptops-and-desktops/win_net/_index.md index 4e185c9ae7..db08f10798 100644 --- a/content/learning-paths/laptops-and-desktops/win_net/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_net/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -36,10 +40,10 @@ further_reading: link: https://learn.microsoft.com/en-us/dotnet/iot/deployment type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_net8/_index.md b/content/learning-paths/laptops-and-desktops/win_net8/_index.md index 3a97f70a62..c58e8fd6ed 100644 --- a/content/learning-paths/laptops-and-desktops/win_net8/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_net8/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -53,10 +57,10 @@ further_reading: link: https://www.codeproject.com/Articles/5367981/NET-Performance-on-Arm64 type: article - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_net_maui/_index.md b/content/learning-paths/laptops-and-desktops/win_net_maui/_index.md index f73d38bcb2..80ccb2285b 100644 --- a/content/learning-paths/laptops-and-desktops/win_net_maui/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_net_maui/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -43,10 +47,10 @@ further_reading: link: https://github.com/dotnet/maui type: GitHub repository - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_on_arm_build_onnxruntime/_index.md b/content/learning-paths/laptops-and-desktops/win_on_arm_build_onnxruntime/_index.md index 20798446c8..c44ded8a09 100644 --- a/content/learning-paths/laptops-and-desktops/win_on_arm_build_onnxruntime/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_on_arm_build_onnxruntime/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Barbara Corriero +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -50,3 +54,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_profile_guided_optimisation/_index.md b/content/learning-paths/laptops-and-desktops/win_profile_guided_optimisation/_index.md index b99d6943d8..c0d5f9debd 100644 --- a/content/learning-paths/laptops-and-desktops/win_profile_guided_optimisation/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_profile_guided_optimisation/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Tom Dunkle +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -49,11 +53,10 @@ further_reading: link: https://learn.arm.com/learning-paths/laptops-and-desktops/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_python/_index.md b/content/learning-paths/laptops-and-desktops/win_python/_index.md index b5bbf99b3a..a01ba6d00f 100644 --- a/content/learning-paths/laptops-and-desktops/win_python/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_python/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -39,10 +43,10 @@ further_reading: link: https://old.linaro.org/blog/windows-on-arm-now-supported-in-python-3-11-release/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_python_onnx/_index.md b/content/learning-paths/laptops-and-desktops/win_python_onnx/_index.md index f4e05b13e0..f75c9b2b0a 100644 --- a/content/learning-paths/laptops-and-desktops/win_python_onnx/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_python_onnx/_index.md @@ -18,9 +18,12 @@ learning_objectives: prerequisites: - A Windows on Arm computer such as the Lenovo Thinkpad X13s running Windows 11 or a Windows on Arm [virtual machine](/learning-paths/cross-platform/woa_azure/). - Any code editor like [Visual Studio Code for Arm64](https://code.visualstudio.com/docs/?dv=win32arm64user). - author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -42,7 +45,6 @@ further_reading: link: https://github.com/onnx/onnx type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/laptops-and-desktops/win_sandbox_dot_net_cicd/_index.md b/content/learning-paths/laptops-and-desktops/win_sandbox_dot_net_cicd/_index.md index 19434c2552..0469244ab7 100644 --- a/content/learning-paths/laptops-and-desktops/win_sandbox_dot_net_cicd/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_sandbox_dot_net_cicd/_index.md @@ -14,10 +14,13 @@ learning_objectives: prerequisites: - A Windows on Arm computer such as the Lenovo Thinkpad X13s running Windows 11 Version 22H2 which has [Windows Sandbox enabled](/install-guides/windows-sandbox-woa/). - A valid [GitHub account](https://github.com/) to complete this Learning Path. - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -40,10 +43,10 @@ further_reading: link: https://github.blog/changelog/2022-09-28-github-actions-self-hosted-runners-now-support-windows-arm-hardware/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_win32_dll_porting/_index.md b/content/learning-paths/laptops-and-desktops/win_win32_dll_porting/_index.md index bf8933c4cb..00ee22823d 100644 --- a/content/learning-paths/laptops-and-desktops/win_win32_dll_porting/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_win32_dll_porting/_index.md @@ -14,10 +14,14 @@ learning_objectives: prerequisites: - A Windows on Arm computer such as the Lenovo Thinkpad X13s running Windows 11 or a Windows on Arm [virtual machine](/learning-paths/cross-platform/woa_azure/). - - Refer to [Visual Studio 2022 with Arm build tools](/install-guides/vs-woa/). - + - Refer to [Visual Studio 2022 with Arm build tools](/install-guides/vs-woa). + author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -43,10 +47,10 @@ further_reading: link: https://devblogs.microsoft.com/windows-music-dev/load-x64-plug-ins-like-vsts-from-your-arm-code-using-arm64ec/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_winui3/_index.md b/content/learning-paths/laptops-and-desktops/win_winui3/_index.md index 4ff89128ed..465a114306 100644 --- a/content/learning-paths/laptops-and-desktops/win_winui3/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_winui3/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -29,7 +33,7 @@ tools_software_languages: - C# - .NET - Visual Studio - + further_reading: - resource: title: Microsoft's Official WinUI 3 Documentation @@ -40,10 +44,10 @@ further_reading: link: https://github.com/Microsoft/WinUI-Gallery type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_wpf/_index.md b/content/learning-paths/laptops-and-desktops/win_wpf/_index.md index 145c6345d9..0cfa6b66c4 100644 --- a/content/learning-paths/laptops-and-desktops/win_wpf/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_wpf/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -29,7 +33,7 @@ tools_software_languages: - C# - .NET - Visual Studio - + further_reading: - resource: title: Windows Presentation Foundation @@ -40,10 +44,10 @@ further_reading: link: https://www.syncfusion.com type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/win_xamarin_forms/_index.md b/content/learning-paths/laptops-and-desktops/win_xamarin_forms/_index.md index 6c5d26aa1d..176bcb2a3a 100644 --- a/content/learning-paths/laptops-and-desktops/win_xamarin_forms/_index.md +++ b/content/learning-paths/laptops-and-desktops/win_xamarin_forms/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -30,7 +34,7 @@ tools_software_languages: - C# - .NET - Visual Studio - + further_reading: - resource: title: Xamarin Forms @@ -41,10 +45,10 @@ further_reading: link: https://learn.microsoft.com/en-us/xamarin/xamarin-forms/enterprise-application-patterns/mvvm type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/windows_armpl/_index.md b/content/learning-paths/laptops-and-desktops/windows_armpl/_index.md index f566170487..2450be322b 100644 --- a/content/learning-paths/laptops-and-desktops/windows_armpl/_index.md +++ b/content/learning-paths/laptops-and-desktops/windows_armpl/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Migration to Arm @@ -29,19 +33,16 @@ tools_software_languages: operatingsystems: - Windows - further_reading: - resource: title: Arm Performance Libraries Reference Guide link: https://developer.arm.com/documentation/101004/latest/ type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/windows_cicd_github/_index.md b/content/learning-paths/laptops-and-desktops/windows_cicd_github/_index.md index 458231ea0a..3c8e487c70 100644 --- a/content/learning-paths/laptops-and-desktops/windows_cicd_github/_index.md +++ b/content/learning-paths/laptops-and-desktops/windows_cicd_github/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -42,10 +46,10 @@ further_reading: link: https://azure.microsoft.com/en-us/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/windowsperf-vs-extension/_index.md b/content/learning-paths/laptops-and-desktops/windowsperf-vs-extension/_index.md index 799cd849a3..1f69551f95 100644 --- a/content/learning-paths/laptops-and-desktops/windowsperf-vs-extension/_index.md +++ b/content/learning-paths/laptops-and-desktops/windowsperf-vs-extension/_index.md @@ -20,6 +20,10 @@ prerequisites: author: - Nader Zouaoui +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -68,3 +72,4 @@ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/windowsperf/_index.md b/content/learning-paths/laptops-and-desktops/windowsperf/_index.md index a730a9bd29..2cadc3f92c 100644 --- a/content/learning-paths/laptops-and-desktops/windowsperf/_index.md +++ b/content/learning-paths/laptops-and-desktops/windowsperf/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -63,3 +67,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/windowsperf_sampling_cpython/_index.md b/content/learning-paths/laptops-and-desktops/windowsperf_sampling_cpython/_index.md index 7fd5da91b2..212df1b5c4 100644 --- a/content/learning-paths/laptops-and-desktops/windowsperf_sampling_cpython/_index.md +++ b/content/learning-paths/laptops-and-desktops/windowsperf_sampling_cpython/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Przemyslaw Wirkus +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -91,3 +95,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/_index.md b/content/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/_index.md index 8b877bf037..17e06c08c8 100644 --- a/content/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/_index.md +++ b/content/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Alaaeddine Chakroun +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -65,3 +69,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/laptops-and-desktops/wsl2/_index.md b/content/learning-paths/laptops-and-desktops/wsl2/_index.md index 5971e0fe31..05131d94f7 100644 --- a/content/learning-paths/laptops-and-desktops/wsl2/_index.md +++ b/content/learning-paths/laptops-and-desktops/wsl2/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Migration to Arm @@ -43,10 +47,10 @@ further_reading: link: https://devblogs.microsoft.com/visualstudio/arm64-visual-studio/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/afrc/_index.md b/content/learning-paths/mobile-graphics-and-gaming/afrc/_index.md index 888f8f251a..6814da3417 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/afrc/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/afrc/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Jose-Emilio Munoz-Lopez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Graphics @@ -30,7 +34,6 @@ operatingsystems: tools_software_languages: - Vulkan - further_reading: - resource: title: AFRC sample and tutorial @@ -45,12 +48,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/mobile-graphics-and-gaming-blog/posts/arm-immortalis-g715-developer-overview type: blog - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/ai-camera-pipelines/_index.md b/content/learning-paths/mobile-graphics-and-gaming/ai-camera-pipelines/_index.md index b19e5ce4e4..018c0eadf5 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/ai-camera-pipelines/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/ai-camera-pipelines/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Arnaud de Grandmaison +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_maintenance: false @@ -74,3 +78,4 @@ weight: 1 # _index.md always has a weight of 1 to order co layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/ams/_index.md b/content/learning-paths/mobile-graphics-and-gaming/ams/_index.md index b7cfbca15a..3a9b8533fb 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/ams/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/ams/_index.md @@ -22,6 +22,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -77,10 +81,10 @@ further_reading: link: https://renderdoc.org/docs/index.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/analyze_a_frame_with_frame_advisor/_index.md b/content/learning-paths/mobile-graphics-and-gaming/analyze_a_frame_with_frame_advisor/_index.md index f34d5a7c0e..8d18691ccf 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/analyze_a_frame_with_frame_advisor/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/analyze_a_frame_with_frame_advisor/_index.md @@ -2,7 +2,6 @@ title: Analyze a frame with Frame Advisor description: Learn how to capture frame data from Android applications and analyze performance inefficiencies using Frame Advisor in Arm Performance Studio. - minutes_to_complete: 10 who_is_this_for: Android application developers who want to learn how to use Frame Advisor. @@ -20,6 +19,10 @@ prerequisites: author: Julie Gaskin +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -30,8 +33,6 @@ tools_software_languages: - Frame Advisor operatingsystems: - Android - - further_reading: - resource: @@ -47,11 +48,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio%20for%20Mobile type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android-ai-chat-lib/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android-ai-chat-lib/_index.md index 755fdd1bd3..7840d347e8 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android-ai-chat-lib/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android-ai-chat-lib/_index.md @@ -2,7 +2,6 @@ title: Add an LLM to your Android app with Arm's AI Chat library description: Learn how to build an Android chatbot app using Arm's AI Chat library to run GGUF models on-device with optimized performance on Arm CPUs. - minutes_to_complete: 15 who_is_this_for: This is an introductory topic for developers who want to add a local, on-device LLM chat experience using Arm's AI Chat library, Kotlin, and Android Studio. @@ -18,6 +17,10 @@ prerequisites: author: Ben Clark +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -32,8 +35,6 @@ tools_software_languages: operatingsystems: - Android - - further_reading: - resource: title: AI Chat - Explore and evaluate LLMs on Android and ChromeOS @@ -60,10 +61,10 @@ further_reading: link: https://www.arm.com/technologies/sme2 type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_halide/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_halide/_index.md index 1e891f8565..037259c790 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_halide/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_halide/_index.md @@ -21,6 +21,10 @@ author: - Dawid Borycki - Steve Suzuki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -37,7 +41,6 @@ tools_software_languages: - Android Studio - CMake - further_reading: - resource: title: Halide documentation @@ -52,10 +55,10 @@ further_reading: link: https://halide-lang.org/tutorials/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_neon/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_neon/_index.md index 665b99c264..cc3fb046e3 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_neon/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_neon/_index.md @@ -6,7 +6,7 @@ description: Learn how to enable and implement Neon intrinsics in Android NDK ap draft: true cascade: draft: true - + minutes_to_complete: 40 who_is_this_for: This is an introductory topic for software developers interested in learning how to use Neon Intrinsics on Arm powered mobile devices running Android. @@ -19,9 +19,12 @@ learning_objectives: prerequisites: - A x86_64 or Apple M1 development machine with Android Studio installed. - A 64-bit Arm powered smartphone running Android. - author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -46,9 +49,6 @@ further_reading: link: https://developer.arm.com/architectures/instruction-sets/intrinsics/ type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_opencv_camera/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_opencv_camera/_index.md index f7f92aa3a3..795d8715ca 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_opencv_camera/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_opencv_camera/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Graphics @@ -44,10 +48,10 @@ further_reading: link: https://opencv.org/blog/enhanced-opencv-for-android-support-arm-performance-gains/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_opencv_facedetection/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_opencv_facedetection/_index.md index c26bcdaf4d..a52e88f212 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_opencv_facedetection/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_opencv_facedetection/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -46,10 +50,10 @@ further_reading: link: https://opencv.org/blog/enhanced-opencv-for-android-support-arm-performance-gains/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_opencv_kleidicv/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_opencv_kleidicv/_index.md index 73b266258a..acb1472e25 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_opencv_kleidicv/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_opencv_kleidicv/_index.md @@ -2,7 +2,6 @@ title: Accelerate an OpenCV-based Android Application with KleidiCV description: Learn how to accelerate OpenCV-based Android applications using KleidiCV for enhanced computer vision performance. - minutes_to_complete: 45 who_is_this_for: This is an introductory topic for developers who are interested in creating Computer Vision applications with OpenCV and KleidiCV on Android Devices. @@ -19,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Graphics @@ -52,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_sve2/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_sve2/_index.md index 0dbe5be9d5..32fb45e1e4 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_sve2/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_sve2/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -46,12 +50,10 @@ further_reading: link: https://developer.android.com/studio type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/android_webgpu_dawn/_index.md b/content/learning-paths/mobile-graphics-and-gaming/android_webgpu_dawn/_index.md index acc2cb13d0..b5eafb161c 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/android_webgpu_dawn/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/android_webgpu_dawn/_index.md @@ -16,7 +16,7 @@ learning_objectives: - Build and run a WebGPU Android Application. - Profile the application using Streamline. - Analyze the profiling data. - + prerequisites: - Basic knowledge of graphics APIs and experience in developing Android graphics applications. - A development machine with Android Studio, Blender, and Arm Streamline installed. @@ -29,6 +29,10 @@ author: - Varun Chari - Albin Bernhardsson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Graphics @@ -45,7 +49,6 @@ operatingsystems: - Windows - Android - further_reading: - resource: title: WebGPU example application @@ -76,11 +79,10 @@ further_reading: link: https://github.com/samdauwe/webgpu-native-examples type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/best-practices-for-hwrt-lumen-performance/_index.md b/content/learning-paths/mobile-graphics-and-gaming/best-practices-for-hwrt-lumen-performance/_index.md index ccb0e28d32..44e9b602dc 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/best-practices-for-hwrt-lumen-performance/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/best-practices-for-hwrt-lumen-performance/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Owen Wu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Gaming @@ -29,7 +33,6 @@ operatingsystems: tools_software_languages: - Unreal Engine - further_reading: - resource: title: Lumen Performance Guide @@ -44,11 +47,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/build-android-chat-app-using-onnxruntime/_index.md b/content/learning-paths/mobile-graphics-and-gaming/build-android-chat-app-using-onnxruntime/_index.md index 63d046f5fb..6de5331129 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/build-android-chat-app-using-onnxruntime/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/build-android-chat-app-using-onnxruntime/_index.md @@ -2,7 +2,6 @@ title: Build an Android chat application with ONNX Runtime API description: Learn how to build ONNX Runtime and the generate() API for Android to run a Phi-3 model on Arm-based smartphones. - minutes_to_complete: 60 who_is_this_for: This is an advanced topic for software developers interested in learning how to build an Android chat app with ONNX Runtime and ONNX Runtime Generate() API. @@ -17,6 +16,10 @@ prerequisites: author: Koki Mitsunami +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -33,7 +36,6 @@ operatingsystems: - Windows - Android - further_reading: - resource: title: ONNX Runtime @@ -48,11 +50,10 @@ further_reading: link: https://newsroom.arm.com/blog/arm-kleidi type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/build-android-selfie-app-using-mediapipe-multimodality/_index.md b/content/learning-paths/mobile-graphics-and-gaming/build-android-selfie-app-using-mediapipe-multimodality/_index.md index aedcf69697..df5fad82a5 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/build-android-selfie-app-using-mediapipe-multimodality/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/build-android-selfie-app-using-mediapipe-multimodality/_index.md @@ -22,6 +22,10 @@ prerequisites: author: Han Yin +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -35,7 +39,6 @@ tools_software_languages: operatingsystems: - Android - further_reading: - resource: title: Completed sample app @@ -54,8 +57,6 @@ further_reading: link: https://android-developers.googleblog.com/2024/10/bring-your-ai-model-to-android-devices.html type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/_index.md b/content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/_index.md index 7432ef6110..41e5919b73 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/_index.md @@ -12,7 +12,6 @@ learning_objectives: - Describe how 4-bit groupwise PTQ quantization reduces model size without significantly sacrificing model accuracy. - Build and run Llama models using ExecuTorch on your development machine. - Build and run an Android Chat app with different Llama models using ExecuTorch on an Arm-based smartphone. - prerequisites: - An Apple M1/M2 development machine with Android Studio installed or a Linux machine with at least 16GB of RAM. @@ -26,6 +25,10 @@ author: - Varun Chari - Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -42,7 +45,6 @@ operatingsystems: - macOS - Android - further_reading: - resource: title: ExecuTorch Overview @@ -57,11 +59,10 @@ further_reading: link: https://github.com/pytorch/executorch/blob/main/examples/README.md type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/customer-support-chatbot-with-llama-and-executorch-on-arm-based-mobile-devices/_index.md b/content/learning-paths/mobile-graphics-and-gaming/customer-support-chatbot-with-llama-and-executorch-on-arm-based-mobile-devices/_index.md index e189e65e7f..20edfb8993 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/customer-support-chatbot-with-llama-and-executorch-on-arm-based-mobile-devices/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/customer-support-chatbot-with-llama-and-executorch-on-arm-based-mobile-devices/_index.md @@ -24,6 +24,10 @@ prerequisites: author: Parichay Das +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -40,7 +44,6 @@ operatingsystems: - Linux - Android - further_reading: - resource: title: ExecuTorch Overview @@ -59,10 +62,10 @@ further_reading: link: /learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/ type: learning-path - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/debugging_with_mte_on_pixel8/_index.md b/content/learning-paths/mobile-graphics-and-gaming/debugging_with_mte_on_pixel8/_index.md index 4f9b979aff..f9034a7b45 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/debugging_with_mte_on_pixel8/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/debugging_with_mte_on_pixel8/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Roberto Lopez Mendez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -32,7 +36,6 @@ tools_software_languages: operatingsystems: - Android - further_reading: - resource: title: MTE User Guide for Android OS @@ -51,11 +54,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enhanced-security-through-mte type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/gemma4-kleidiai-sme2/_index.md b/content/learning-paths/mobile-graphics-and-gaming/gemma4-kleidiai-sme2/_index.md old mode 100644 new mode 100755 index 6969febd5c..58f670584b --- a/content/learning-paths/mobile-graphics-and-gaming/gemma4-kleidiai-sme2/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/gemma4-kleidiai-sme2/_index.md @@ -18,9 +18,12 @@ learning_objectives: prerequisites: - A SME2 device (macOS M4 on Apple Silicon) - Git, Homebrew, and Xcode Command Line Tools - author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -35,8 +38,6 @@ tools_software_languages: operatingsystems: - macOS - - further_reading: - resource: title: Arm Scalable Matrix Extension introduction, part 1 @@ -75,8 +76,6 @@ further_reading: link: https://huggingface.co/litert-community/Gemma3-4B-IT type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/mobile-graphics-and-gaming/get-started-with-arm-asr/_index.md b/content/learning-paths/mobile-graphics-and-gaming/get-started-with-arm-asr/_index.md index 551b954c4c..258131fbc8 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/get-started-with-arm-asr/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/get-started-with-arm-asr/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Julie Gaskin +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Graphics @@ -27,8 +31,6 @@ tools_software_languages: operatingsystems: - Android - - further_reading: - resource: title: Arm ASR on Arm Developer Hub @@ -51,11 +53,10 @@ further_reading: link: https://developer.arm.com/documentation/110404/latest/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/get-started-with-unity-on-android/_index.md b/content/learning-paths/mobile-graphics-and-gaming/get-started-with-unity-on-android/_index.md index 9e3b4d3257..c0f669b74e 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/get-started-with-unity-on-android/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/get-started-with-unity-on-android/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Joshua Marshall-Law +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Gaming @@ -28,18 +32,16 @@ tools_software_languages: operatingsystems: - Android - further_reading: - resource: title: Profiler overview link: https://docs.unity3d.com/Manual/Profiler.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/godot_packages/_index.md b/content/learning-paths/mobile-graphics-and-gaming/godot_packages/_index.md index 2fc6fc7749..b256c68b49 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/godot_packages/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/godot_packages/_index.md @@ -1,6 +1,6 @@ --- title: Profile Android game performance in Godot with Arm Performance Studio - + minutes_to_complete: 15 who_is_this_for: This is an introductory topic for Godot developers targeting Android devices who want to optimize game performance on Arm CPUs and Mali GPUs using Arm Performance Studio tools. @@ -17,6 +17,10 @@ author: - Albin Bernhardsson - Julie Gaskin +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -31,7 +35,6 @@ operatingsystems: - macOS - Linux - further_reading: - resource: title: Get started with Streamline @@ -50,11 +53,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/how-to-enable-hwrt-on-lumen-for-android-devices/_index.md b/content/learning-paths/mobile-graphics-and-gaming/how-to-enable-hwrt-on-lumen-for-android-devices/_index.md index b70082794e..ab16e9abac 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/how-to-enable-hwrt-on-lumen-for-android-devices/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/how-to-enable-hwrt-on-lumen-for-android-devices/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Owen Wu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Gaming @@ -27,7 +31,6 @@ operatingsystems: tools_software_languages: - Unreal Engine - further_reading: - resource: title: Lumen Global Illumination and Reflections @@ -42,11 +45,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/intro/_index.md b/content/learning-paths/mobile-graphics-and-gaming/intro/_index.md index cf1a0a868a..af1a7a1e73 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/intro/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/intro/_index.md @@ -13,6 +13,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -24,17 +28,16 @@ operatingsystems: - Android tools_software_languages: - further_reading: - resource: title: Android for Developers link: https://developer.android.com/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/kai_sme2_matmul_ukernel_explained/_index.md b/content/learning-paths/mobile-graphics-and-gaming/kai_sme2_matmul_ukernel_explained/_index.md index 8cdfd61acf..9cd6bd2023 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/kai_sme2_matmul_ukernel_explained/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/kai_sme2_matmul_ukernel_explained/_index.md @@ -1,6 +1,6 @@ --- title: Understand KleidiAI SME2 matmul microkernels - + minutes_to_complete: 40 who_is_this_for: This is an advanced topic for software developers, performance engineers, and AI practitioners. @@ -18,6 +18,10 @@ prerequisites: author: Zenon Zhilong Xiu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -32,8 +36,6 @@ operatingsystems: - Android - Linux - - further_reading: - resource: title: Part 1, Arm Scalable Matrix Extension introduction @@ -51,8 +53,6 @@ further_reading: title: Profile llama.cpp performance with Arm Streamline and KleidiAI LLM kernels link: /learning-paths/servers-and-cloud-computing/llama_cpp_streamline/ type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -60,3 +60,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/kleidiai-on-android-with-mediapipe-and-xnnpack/_index.md b/content/learning-paths/mobile-graphics-and-gaming/kleidiai-on-android-with-mediapipe-and-xnnpack/_index.md index 2c897bd210..44c6431ed2 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/kleidiai-on-android-with-mediapipe-and-xnnpack/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/kleidiai-on-android-with-mediapipe-and-xnnpack/_index.md @@ -20,6 +20,10 @@ author: - Joe Stech - Adnan AlSinan +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -37,7 +41,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: MediaPipe Solutions Guide @@ -52,11 +55,10 @@ further_reading: link: https://blog.tensorflow.org/2024/04/faster-dynamically-quantized-inference-with-xnnpack.html type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/libgpuinfo/_index.md b/content/learning-paths/mobile-graphics-and-gaming/libgpuinfo/_index.md index ed9fd41666..f919f59c75 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/libgpuinfo/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/libgpuinfo/_index.md @@ -9,13 +9,17 @@ who_is_this_for: This is an introductory topic for Android developers who want t learning_objectives: - Build the libGPUInfo library using the Android NDK - Run an example application to query the configuration details of an Arm Mali or Arm Immortalis GPU - + prerequisites: - A development machine running Ubuntu or Debian Linux with `x86_64` architecture - An Android device with an Arm GPU author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory @@ -44,12 +48,10 @@ further_reading: link: https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/tree/master/docs/totalcompute type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/litert-sme/_index.md b/content/learning-paths/mobile-graphics-and-gaming/litert-sme/_index.md index 9a9690030b..f9b0180ae8 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/litert-sme/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/litert-sme/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jiaming Guo +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -32,8 +36,6 @@ tools_software_languages: operatingsystems: - Android - - further_reading: - resource: title: LiteRT model optimization @@ -48,11 +50,10 @@ further_reading: link: https://github.com/google-ai-edge/LiteRT?tab=readme-ov-file#1--i-have-a-pytorch-model type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/measure-kleidiai-kernel-performance-on-executorch/_index.md b/content/learning-paths/mobile-graphics-and-gaming/measure-kleidiai-kernel-performance-on-executorch/_index.md index 9058c10cf3..fa42be5d30 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/measure-kleidiai-kernel-performance-on-executorch/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/measure-kleidiai-kernel-performance-on-executorch/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Qixiang Xu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -33,18 +37,16 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Executorch User Guide link: https://docs.pytorch.org/executorch/stable/intro-section.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/model-training-gym/_index.md b/content/learning-paths/mobile-graphics-and-gaming/model-training-gym/_index.md index 897c817a2e..ac4d97f0a9 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/model-training-gym/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/model-training-gym/_index.md @@ -1,7 +1,7 @@ --- title: Fine-tune neural graphics models using Model Gym description: Learn how to fine-tune and evaluate Neural Super Sampling (NSS) models using PyTorch and Arm's Model Gym API with hardware-aware optimization. - + minutes_to_complete: 45 who_is_this_for: This is an advanced topic for developers exploring neural graphics and interested in training and deploying upscaling models like Neural Super Sampling (NSS) using PyTorch and Arm’s hardware-aware backend. @@ -19,6 +19,10 @@ prerequisites: author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -53,10 +57,10 @@ further_reading: link: /learning-paths/mobile-graphics-and-gaming/vulkan-ml-sample/ type: learningpath - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/mte/_index.md b/content/learning-paths/mobile-graphics-and-gaming/mte/_index.md index 30eb008802..b1c9403c12 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/mte/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/mte/_index.md @@ -8,12 +8,16 @@ who_is_this_for: This is an introductory topic for developers who want to gain s learning_objectives: - Run an example C program to gain an introductory understanding of MTE - + prerequisites: - An AArch64 Linux development machine. Cloud instances can be used, refer to the list of [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/). author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory @@ -43,12 +47,10 @@ further_reading: link: https://youtu.be/Ja9pmZ2NqKE type: video - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/mte_on_pixel8/_index.md b/content/learning-paths/mobile-graphics-and-gaming/mte_on_pixel8/_index.md index b3431499c4..95b219f94a 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/mte_on_pixel8/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/mte_on_pixel8/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Roberto Lopez Mendez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -32,7 +36,6 @@ tools_software_languages: operatingsystems: - Android - further_reading: - resource: title: MTE User Guide for Android OS @@ -51,11 +54,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enhanced-security-through-mte type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-data-capture-unreal/_index.md b/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-data-capture-unreal/_index.md index ad838f597e..39223aa32d 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-data-capture-unreal/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-data-capture-unreal/_index.md @@ -18,9 +18,13 @@ prerequisites: - Visual Studio with C++ game development tools - A C++ Unreal project (such as the Third Person template) -author: -- Annie Tallund -- Richard Burton +author: + - Annie Tallund + - Richard Burton + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -35,8 +39,6 @@ tools_software_languages: operatingsystems: - Windows - - further_reading: - resource: title: Neural Graphics Data Capture Plugin for Unreal Engine @@ -59,8 +61,6 @@ further_reading: link: https://github.com/arm/neural-graphics-model-gym/blob/main/docs/nss/nss_data_generation.md type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-playbook-evaluate/_index.md b/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-playbook-evaluate/_index.md index 5176c22689..d27041ba93 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-playbook-evaluate/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/neural-graphics-playbook-evaluate/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Graphics diff --git a/content/learning-paths/mobile-graphics-and-gaming/nss-unreal/_index.md b/content/learning-paths/mobile-graphics-and-gaming/nss-unreal/_index.md index 256eaf6875..f6189af421 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/nss-unreal/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/nss-unreal/_index.md @@ -6,22 +6,23 @@ minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers experimenting with neural graphics using Unreal EngineĀ® and ML Extensions for VulkanĀ®. - learning_objectives: - Understand how Arm enables neural graphics for game development - Configure ML extensions for Vulkan emulation - Enable Neural Super Sampling (NSS) in Unreal Engine - Run and visualize real-time upscaling with NSS - prerequisites: - Windows 11 - Unreal Engine 4.27 or 5.4 or 5.6 (with the Templates and Feature Pack enabled) - Visual Studio (with Desktop Development with C++ and .NET desktop build tools) - author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -36,8 +37,6 @@ tools_software_languages: operatingsystems: - Windows - - further_reading: - resource: title: Neural Graphics Development Kit @@ -56,11 +55,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/mobile-graphics-and-gaming-blog/posts/how-arm-neural-super-sampling-works type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/onnx/_index.md b/content/learning-paths/mobile-graphics-and-gaming/onnx/_index.md index 7f9ed7bd8e..6d2e016753 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/onnx/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/onnx/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -65,3 +69,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/optimizing-vertex-efficiency/_index.md b/content/learning-paths/mobile-graphics-and-gaming/optimizing-vertex-efficiency/_index.md index f10f85d242..83d0fd2a1d 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/optimizing-vertex-efficiency/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/optimizing-vertex-efficiency/_index.md @@ -18,6 +18,10 @@ author: - Andrew Kilroy - Peter Harris +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -52,11 +56,10 @@ further_reading: link: https://developer.arm.com/documentation/101897/0304/Vertex-shading/Attribute-layout type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/performance_llama_cpp_sme2/_index.md b/content/learning-paths/mobile-graphics-and-gaming/performance_llama_cpp_sme2/_index.md index 011f29c2de..f15644dfe3 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/performance_llama_cpp_sme2/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/performance_llama_cpp_sme2/_index.md @@ -1,7 +1,7 @@ --- title: Measure LLM inference performance with KleidiAI and SME2 on Android description: Learn how to build llama.cpp with KleidiAI and SME2 support to profile and accelerate LLM inference performance on Android devices. - + minutes_to_complete: 40 who_is_this_for: This is an advanced topic for software developers, performance engineers, and AI practitioners @@ -19,6 +19,10 @@ prerequisites: author: Zenon Zhilong Xiu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -32,8 +36,6 @@ operatingsystems: - Android - Linux - - further_reading: - resource: title: Arm Scalable Matrix Extension introduction, part 1 @@ -51,8 +53,6 @@ further_reading: title: Profile llama.cpp performance with Arm Streamline and KleidiAI LLM kernels link: https://learn.arm.com/learning-paths/servers-and-cloud-computing/llama_cpp_streamline/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -60,3 +60,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/performance_onnxruntime_kleidiai_sme2/_index.md b/content/learning-paths/mobile-graphics-and-gaming/performance_onnxruntime_kleidiai_sme2/_index.md index d5e63aad63..cb85bc89bb 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/performance_onnxruntime_kleidiai_sme2/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/performance_onnxruntime_kleidiai_sme2/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Zenon Zhilong Xiu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -33,8 +37,6 @@ operatingsystems: - Android - Linux - - further_reading: - resource: title: Arm Scalable Matrix Extension Introduction (Part 1) @@ -48,8 +50,6 @@ further_reading: title: Arm SME2 Introduction (Part 4) link: https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/part4-arm-sme2-introduction type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -57,3 +57,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/preparing-models-for-nt/_index.md b/content/learning-paths/mobile-graphics-and-gaming/preparing-models-for-nt/_index.md index 777f616ac1..fa8741012c 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/preparing-models-for-nt/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/preparing-models-for-nt/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Joshua Marshall-Law +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML diff --git a/content/learning-paths/mobile-graphics-and-gaming/profiling-ml-on-arm/_index.md b/content/learning-paths/mobile-graphics-and-gaming/profiling-ml-on-arm/_index.md index 8bb50b5ebd..023d8b8c0d 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/profiling-ml-on-arm/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/profiling-ml-on-arm/_index.md @@ -15,10 +15,13 @@ prerequisites: - For profiling the ML inference, [Arm NN ExecuteNetwork](https://github.com/ARM-software/armnn/releases) or [ExecuTorch](https://github.com/pytorch/executorch). - For profiling the application, [Arm Performance Studio with Streamline](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio). - Android Studio Profiler. - author: Ben Clark +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -35,19 +38,16 @@ operatingsystems: - Android - Linux - further_reading: - resource: title: Arm Streamline User Guide link: https://developer.arm.com/documentation/101816/latest/ type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/profiling-unity-apps-on-android/_index.md b/content/learning-paths/mobile-graphics-and-gaming/profiling-unity-apps-on-android/_index.md index b5172221be..ee23d6aec1 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/profiling-unity-apps-on-android/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/profiling-unity-apps-on-android/_index.md @@ -15,10 +15,14 @@ prerequisites: - Recent Android device, such as a mobile phone or tablet - Desktop computer capable of running Unity - Basic knowledge of Unity and programming concepts - - The setup described in the Learning Path [Get started with Unity on Android](/learning-paths/mobile-graphics-and-gaming/get-started-with-unity-on-android/) + - The setup described in the Learning Path [Get started with Unity on Android](/learning-paths/mobile-graphics-and-gaming/get-started-with-unity-on-android) author: Joshua Marshall-Law +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -34,7 +38,6 @@ tools_software_languages: operatingsystems: - Android - further_reading: - resource: title: Unity Profiler documentation @@ -45,11 +48,10 @@ further_reading: link: https://docs.unity3d.com/Packages/com.unity.performance.profile-analyzer@0.4/manual/profiler-analyzer-window.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/quantize-neural-upscaling-models/_index.md b/content/learning-paths/mobile-graphics-and-gaming/quantize-neural-upscaling-models/_index.md index c196c74fdb..2ff2882e37 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/quantize-neural-upscaling-models/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/quantize-neural-upscaling-models/_index.md @@ -1,7 +1,7 @@ --- title: Quantize neural upscaling models with ExecuTorch description: Learn how to apply post-training quantization to PyTorch models using TorchAO and export INT8 models to .vgf format with the ExecuTorch Arm backend. - + minutes_to_complete: 60 who_is_this_for: This is an advanced topic for ML developers who want to reduce latency and memory bandwidth by exporting INT8 models to the `.vgf` file format using the ExecuTorch Arm backend. @@ -17,8 +17,12 @@ prerequisites: - A development machine with Python 3.10+ and PyTorch installed that runs ExecuTorch author: -- Richard Burton -- Annie Tallund + - Richard Burton + - Annie Tallund + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Advanced @@ -60,3 +64,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/ray_tracing/_index.md b/content/learning-paths/mobile-graphics-and-gaming/ray_tracing/_index.md index a7d89a8f8f..5e66ce4dc6 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/ray_tracing/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/ray_tracing/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Iago Calvo Lista +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Graphics @@ -29,7 +33,6 @@ operatingsystems: tools_software_languages: - Vulkan - further_reading: - resource: title: "Arm GPU Best Practices Developer Guide: Ray Tracing" @@ -50,10 +53,10 @@ further_reading: link: https://www.youtube.com/watch?v=OPLTK7RB7co type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/render-graph-optimization/_index.md b/content/learning-paths/mobile-graphics-and-gaming/render-graph-optimization/_index.md index b08030fb62..8bd45fd4f2 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/render-graph-optimization/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/render-graph-optimization/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Mark Thurman +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + further_reading: - resource: title: Frame Advisor User Guide @@ -54,10 +58,10 @@ operatingsystems: - macOS - Android - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-open-small-with-lite-rt/_index.md b/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-open-small-with-lite-rt/_index.md index bf761bd8ba..6f80ac2518 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-open-small-with-lite-rt/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-open-small-with-lite-rt/_index.md @@ -25,6 +25,10 @@ author: - Aude Vuilliomenet - Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -55,12 +59,10 @@ further_reading: link: https://arxiv.org/abs/2505.08175 type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-with-executorch/_index.md b/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-with-executorch/_index.md index efca28426d..f044e97879 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-with-executorch/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/run-stable-audio-with-executorch/_index.md @@ -20,6 +20,10 @@ author: - Adnan AlSinan - Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -56,12 +60,10 @@ further_reading: link: https://gitlab.arm.com/kleidi/kleidiai type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/unity_on_orange_pi/_index.md b/content/learning-paths/mobile-graphics-and-gaming/unity_on_orange_pi/_index.md index 7dd9539e84..390d9dfcf1 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/unity_on_orange_pi/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/unity_on_orange_pi/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Gabriel Peterson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Gaming @@ -46,12 +50,10 @@ further_reading: link: https://learn.unity.com/ type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/unity_packages/_index.md b/content/learning-paths/mobile-graphics-and-gaming/unity_packages/_index.md index e83fce3c76..7962b259ea 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/unity_packages/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/unity_packages/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Julie Gaskin +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -31,7 +35,6 @@ operatingsystems: - macOS - Linux - further_reading: - resource: title: Get started with Streamline @@ -54,11 +57,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Mobile%20Studio type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/using-neon-intrinsics-to-optimize-unity-on-android/_index.md b/content/learning-paths/mobile-graphics-and-gaming/using-neon-intrinsics-to-optimize-unity-on-android/_index.md index b69df83ad6..6d747db917 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/using-neon-intrinsics-to-optimize-unity-on-android/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/using-neon-intrinsics-to-optimize-unity-on-android/_index.md @@ -22,6 +22,10 @@ author: - Ben Clark - Joshua Marshall-Law +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Gaming @@ -37,7 +41,6 @@ tools_software_languages: operatingsystems: - Android - further_reading: - resource: title: Arm Neon documentation @@ -48,11 +51,10 @@ further_reading: link: https://docs.unity3d.com/Manual/com.unity.burst.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/using_unity_machine_learning_agents/_index.md b/content/learning-paths/mobile-graphics-and-gaming/using_unity_machine_learning_agents/_index.md index 21421c9ac6..0d58e90391 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/using_unity_machine_learning_agents/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/using_unity_machine_learning_agents/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Gaming @@ -27,7 +31,6 @@ operatingsystems: tools_software_languages: - Unity - further_reading: - resource: title: Using Unity's Machine Learning Agents on Arm on YouTube @@ -42,11 +45,10 @@ further_reading: link: https://developer.arm.com/Tools%20and%20Software/Arm%20Mobile%20Studio type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/vision-llm-inference-on-android-with-kleidiai-and-mnn/_index.md b/content/learning-paths/mobile-graphics-and-gaming/vision-llm-inference-on-android-with-kleidiai-and-mnn/_index.md index 56df416150..4f0a65c85b 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/vision-llm-inference-on-android-with-kleidiai-and-mnn/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/vision-llm-inference-on-android-with-kleidiai-and-mnn/_index.md @@ -12,7 +12,6 @@ learning_objectives: - Install an Android demo application using the model to run an inference. - Compare inference performance with and without KleidiAI Arm-optimized micro-kernels. - prerequisites: - A development machine with [Android Studio](https://developer.android.com/studio) installed. - A smartphone running Android with support for `i8mm` and `dotprod` instructions. @@ -21,6 +20,10 @@ author: - Shuheng Deng - Yiyang Fan +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -32,8 +35,6 @@ tools_software_languages: operatingsystems: - Android - - further_reading: - resource: title: "MNN: A Universal and Efficient Inference Engine" @@ -52,11 +53,10 @@ further_reading: link: https://github.com/ARM-software/kleidiai type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/voice-assistant/_index.md b/content/learning-paths/mobile-graphics-and-gaming/voice-assistant/_index.md index f346de0c4a..6774ac6f5c 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/voice-assistant/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/voice-assistant/_index.md @@ -22,6 +22,10 @@ author: - Arnaud de Grandmaison - Nina Drozd +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: Performance and Architecture armips: @@ -60,3 +64,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/voice-sentiment-analysis-with-llm/_index.md b/content/learning-paths/mobile-graphics-and-gaming/voice-sentiment-analysis-with-llm/_index.md index 5abc5709e9..de5a25723e 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/voice-sentiment-analysis-with-llm/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/voice-sentiment-analysis-with-llm/_index.md @@ -7,7 +7,6 @@ minutes_to_complete: 90 who_is_this_for: This Learning Path is for developers, ML practitioners, and game developers interested in building on-device AI applications, including voice interfaces, real-time interactions with non-player characters (NPCs), and edge AI systems powered by LLMs on Arm platforms. - learning_objectives: - Build a voice-to-LLM pipeline using Whisper and llama.cpp. - Train a voice sentiment classification model using HuBERT on the RAVDESS dataset. @@ -21,6 +20,10 @@ prerequisites: author: Bhanu Arya +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -61,3 +64,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/mobile-graphics-and-gaming/vulkan-ml-sample/_index.md b/content/learning-paths/mobile-graphics-and-gaming/vulkan-ml-sample/_index.md index fbe072b627..d26f7d5ac8 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/vulkan-ml-sample/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/vulkan-ml-sample/_index.md @@ -17,10 +17,12 @@ prerequisites: - Visual Studio workload - Desktop development with C++ - Visual Studio workload - .NET desktop build tools - - author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -33,7 +35,6 @@ tools_software_languages: operatingsystems: - Windows - further_reading: - resource: title: Neural Graphics Development Kit @@ -56,11 +57,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/mobile-graphics-and-gaming-blog/posts/how-arm-neural-super-sampling-works type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/adler32-kiro/_index.md b/content/learning-paths/servers-and-cloud-computing/adler32-kiro/_index.md index a1c0919d11..799afa68ac 100644 --- a/content/learning-paths/servers-and-cloud-computing/adler32-kiro/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/adler32-kiro/_index.md @@ -1,7 +1,6 @@ --- title: Optimize an Adler-32 checksum function with SVE intrinsics using the Arm MCP server - description: Use the Arm MCP server with an AI coding assistant to incrementally optimize a scalar C Adler-32 checksum function using SVE intrinsics on Arm Neoverse servers. minutes_to_complete: 45 @@ -22,6 +21,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: Performance and Architecture cloud_service_providers: @@ -63,7 +66,6 @@ further_reading: link: https://developer.arm.com/documentation/100987/latest/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/ai-agent-on-cpu/_index.md b/content/learning-paths/servers-and-cloud-computing/ai-agent-on-cpu/_index.md index d46face880..47130604fa 100644 --- a/content/learning-paths/servers-and-cloud-computing/ai-agent-on-cpu/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/ai-agent-on-cpu/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Andrew Choi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -36,8 +40,6 @@ tools_software_languages: operatingsystems: - Linux - - further_reading: - resource: title: llama.cpp @@ -48,11 +50,10 @@ further_reading: link: https://llama-cpp-agent.readthedocs.io/en/latest/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/aks/_index.md b/content/learning-paths/servers-and-cloud-computing/aks/_index.md index 5ea9113a05..23408235a4 100644 --- a/content/learning-paths/servers-and-cloud-computing/aks/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/aks/_index.md @@ -13,10 +13,14 @@ learning_objectives: prerequisites: - An Azure account - - A machine with [Terraform](/install-guides/terraform/), [Azure CLI](/install-guides/azure-cli/), and [Kubectl](/install-guides/kubectl/) installed + - A machine with [Terraform](/install-guides/terraform/), [Azure CLI](/install-guides/azure-cli), and [Kubectl](/install-guides/kubectl/) installed author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -57,11 +61,10 @@ further_reading: link: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/alluxio-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/alluxio-cobalt/_index.md index 0e08cd0974..cb5b41ec53 100644 --- a/content/learning-paths/servers-and-cloud-computing/alluxio-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/alluxio-cobalt/_index.md @@ -1,10 +1,8 @@ --- title: Deploy Alluxio on Azure Cobalt 100 Arm64 virtual machines for data orchestration and caching - description: Learn how to install and configure Alluxio on an Azure Cobalt 100 Arm64 virtual machine, integrate it with Apache Spark, enable data caching, and benchmark performance improvements for analytics workloads. - minutes_to_complete: 90 who_is_this_for: This is an introductory topic for developers, data engineers, and platform engineers who want to build high-performance data pipelines and analytics systems using Alluxio on Arm-based cloud environments. @@ -23,6 +21,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization diff --git a/content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/_index.md b/content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/_index.md index 72bd8dc6b4..56e5d34e92 100644 --- a/content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -58,12 +62,12 @@ further_reading: title: Arrow Flight documentation link: https://arrow.apache.org/docs/format/Flight.html type: documentation - + - resource: title: Apache Parquet documentation link: https://parquet.apache.org/documentation/latest/ type: documentation - + - resource: title: MinIO documentation link: https://min.io/docs @@ -73,3 +77,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: yes --- + diff --git a/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-aws/_index.md b/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-aws/_index.md index 910d15913d..24be0d3379 100644 --- a/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-aws/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-aws/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Julien Simon +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + # Tags # Tagging metadata, see the Learning Path guide for the allowed values skilllevels: Introductory @@ -35,7 +39,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Arcee AI @@ -64,3 +67,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-gcp/_index.md index f5b6ee43b5..25f4cebe29 100644 --- a/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arcee-foundation-model-on-gcp/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Julien Simon +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + # Tags # Tagging metadata, see the Learning Path guide for the allowed values skilllevels: Introductory @@ -35,7 +39,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Arcee AI @@ -64,3 +67,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/argo-cd-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/argo-cd-gcp/_index.md index 1b2d3f59b2..7b43d4e22c 100644 --- a/content/learning-paths/servers-and-cloud-computing/argo-cd-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/argo-cd-gcp/_index.md @@ -23,6 +23,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -39,7 +43,7 @@ tools_software_languages: - GKE - Git - NGINX - + operatingsystems: - Linux @@ -67,3 +71,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/arm-cpp-memory-model/_index.md b/content/learning-paths/servers-and-cloud-computing/arm-cpp-memory-model/_index.md index b0f17ea6de..1a44895f84 100644 --- a/content/learning-paths/servers-and-cloud-computing/arm-cpp-memory-model/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arm-cpp-memory-model/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -28,7 +32,7 @@ tools_software_languages: - Runbook operatingsystems: - Linux - + further_reading: - resource: title: C++ Memory Order Reference Manual @@ -39,10 +43,10 @@ further_reading: link: https://github.com/google/sanitizers/wiki/threadsanitizercppmanual type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/arm-mcp-server/_index.md b/content/learning-paths/servers-and-cloud-computing/arm-mcp-server/_index.md index b5a8484ec0..e4a9f77277 100644 --- a/content/learning-paths/servers-and-cloud-computing/arm-mcp-server/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arm-mcp-server/_index.md @@ -17,8 +17,13 @@ prerequisites: - An AI-powered IDE such as VS Code, Copilot in VS Code, Kiro (IDE or CLI) or Codex - Basic familiarity with Docker and C/C++ development - Access to an Arm-based cloud instance or local Arm computer running Linux or macOS + author: Joe Stech +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -32,8 +37,6 @@ tools_software_languages: operatingsystems: - Linux - - further_reading: - resource: title: Arm MCP Server GitHub Repository @@ -56,11 +59,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/intro/ type: learning-path - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/_index.md b/content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/_index.md index d743026940..efeab103e4 100644 --- a/content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Daniel Schleicher +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -68,3 +72,4 @@ weight: 1 layout: learningpathall learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/arm_linux_page_size/_index.md b/content/learning-paths/servers-and-cloud-computing/arm_linux_page_size/_index.md index 34a9e54b05..f019539281 100644 --- a/content/learning-paths/servers-and-cloud-computing/arm_linux_page_size/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arm_linux_page_size/_index.md @@ -19,10 +19,14 @@ prerequisites: author: Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture - + armips: - Neoverse @@ -59,4 +63,5 @@ further_reading: weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. ---- \ No newline at end of file +--- + diff --git a/content/learning-paths/servers-and-cloud-computing/arm_pmu/_index.md b/content/learning-paths/servers-and-cloud-computing/arm_pmu/_index.md index 0f520fb7fc..032e47330b 100644 --- a/content/learning-paths/servers-and-cloud-computing/arm_pmu/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/arm_pmu/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Julio Suarez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -45,10 +49,10 @@ further_reading: link: https://en.wikipedia.org/wiki/Perf_%28Linux%29 type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/aws-copilot/_index.md b/content/learning-paths/servers-and-cloud-computing/aws-copilot/_index.md index 791749039f..f15511ba11 100644 --- a/content/learning-paths/servers-and-cloud-computing/aws-copilot/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/aws-copilot/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -29,7 +33,6 @@ operatingsystems: tools_software_languages: - Docker - further_reading: - resource: title: Introducing AWS Copilot @@ -44,11 +47,10 @@ further_reading: link: https://youtu.be/hBHf241-D2Y?si=ySm0e4VwbgFSoy3s type: video - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/aws-terraform/_index.md b/content/learning-paths/servers-and-cloud-computing/aws-terraform/_index.md index c871312a3b..7427d115f2 100644 --- a/content/learning-paths/servers-and-cloud-computing/aws-terraform/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/aws-terraform/_index.md @@ -5,7 +5,7 @@ description: Learn how to automate the creation and deployment of AWS Graviton i minutes_to_complete: 60 who_is_this_for: This is an introductory topic for software developers who are new to deploying Arm instances on AWS using Terraform. - + learning_objectives: - Automate AWS EC2 instance creation using Terraform - Deploy Arm instances on AWS and provide access via Jump Server @@ -13,10 +13,14 @@ learning_objectives: prerequisites: - An Amazon Web Services (AWS) [account](https://aws.amazon.com/) - - A computer with [Terraform](/install-guides/terraform/) installed + - A computer with [Terraform](/install-guides/terraform) installed author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -40,11 +44,10 @@ further_reading: link: https://aws.amazon.com/blogs/aws/new-amazon-ec2-c7g-instances-powered-by-aws-graviton3-processors/ type: Blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/azure-arm-template/_index.md b/content/learning-paths/servers-and-cloud-computing/azure-arm-template/_index.md index a1a518139f..364aaa8606 100644 --- a/content/learning-paths/servers-and-cloud-computing/azure-arm-template/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/azure-arm-template/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -46,10 +50,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/cobalt/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/azure-cobalt-cicd-aks/_index.md b/content/learning-paths/servers-and-cloud-computing/azure-cobalt-cicd-aks/_index.md index d502f6a186..8b4cabf81f 100644 --- a/content/learning-paths/servers-and-cloud-computing/azure-cobalt-cicd-aks/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/azure-cobalt-cicd-aks/_index.md @@ -14,10 +14,14 @@ learning_objectives: prerequisites: - A Microsoft Azure account. - A GitHub account. - - A machine with [Terraform](/install-guides/terraform/),[Azure CLI](/install-guides/azure-cli/), and [Kubectl](/install-guides/kubectl/) installed. + - A machine with [Terraform](/install-guides/terraform/),[Azure CLI](/install-guides/azure-cli), and [Kubectl](/install-guides/kubectl/) installed. author: Pranay Bakre +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -53,11 +57,10 @@ further_reading: link: https://kubernetes.io/docs/home/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/azure-terraform/_index.md b/content/learning-paths/servers-and-cloud-computing/azure-terraform/_index.md index ce5f0f11fa..e71c189185 100644 --- a/content/learning-paths/servers-and-cloud-computing/azure-terraform/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/azure-terraform/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -46,11 +50,10 @@ further_reading: link: https://learn.microsoft.com/en-us/azure/bastion/bastion-overview type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/azure-vm/_index.md b/content/learning-paths/servers-and-cloud-computing/azure-vm/_index.md index f49eecb3d3..33ef8c507c 100644 --- a/content/learning-paths/servers-and-cloud-computing/azure-vm/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/azure-vm/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 120 who_is_this_for: This is an advanced topic for developers who want to run Azure Linux 3.0 on Arm-based Cobalt 100 processors in a custom virtual machine. - learning_objectives: - Use QEMU to create a raw disk image - Boot a virtual machine using an AArch64 ISO and install Azure Linux 3.0 @@ -18,9 +17,13 @@ learning_objectives: prerequisites: - A [Microsoft Azure](https://azure.microsoft.com/) account with permission to create resources, including instances using Cobalt 100 processors - A Linux machine with [QEMU](https://www.qemu.org/download/) and the [Azure CLI](/install-guides/azure-cli/) installed and authenticated - + author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -55,7 +58,6 @@ further_reading: link: https://learn.microsoft.com/en-us/azure/virtual-machines/linux/upload-vhd type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/benchmark-nlp/_index.md b/content/learning-paths/servers-and-cloud-computing/benchmark-nlp/_index.md index 3e18e61160..52d3c82d07 100644 --- a/content/learning-paths/servers-and-cloud-computing/benchmark-nlp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/benchmark-nlp/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -32,7 +36,7 @@ tools_software_languages: - Python - PyTorch - Hugging Face - + further_reading: - resource: title: Hugging Face Documentation @@ -51,11 +55,10 @@ further_reading: link: https://pytorch.org/docs/stable/index.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/bitmap_scan_sve2/_index.md b/content/learning-paths/servers-and-cloud-computing/bitmap_scan_sve2/_index.md index 127574e7a1..a0b0ebb6e8 100644 --- a/content/learning-paths/servers-and-cloud-computing/bitmap_scan_sve2/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/bitmap_scan_sve2/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 20 who_is_this_for: This is an introductory topic for database developers, performance engineers, and anyone interested in optimizing data processing workloads on Arm-based cloud instances. - learning_objectives: - Understand bitmap scanning operations in database systems - Implement bitmap scanning with scalar, Neon, and SVE instructions @@ -19,6 +18,9 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -53,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/bolt-demo/_index.md b/content/learning-paths/servers-and-cloud-computing/bolt-demo/_index.md index 4f92c8b65d..bac4423f6a 100644 --- a/content/learning-paths/servers-and-cloud-computing/bolt-demo/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/bolt-demo/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 20 who_is_this_for: This is an introductory topic for developers who have compiled an AArch64 Linux application and want to evaluate whether LLVM BOLT can improve its runtime performance. - learning_objectives: - Identify whether a program is a good candidate for code layout optimization - Install LLVM BOLT on Linux @@ -14,17 +13,19 @@ learning_objectives: - Collect profile data using multiple techniques, including BRBE, instrumentation, SPE, and PMU event sampling - Evaluate the impact of BOLT optimizations using performance metrics and profiling data - prerequisites: - An AArch64 system running Linux with [perf](/install-guides/perf/) installed - Linux kernel version 6.17 or later to enable Branch Record Buffer Extension ([BRBE profiling](/learning-paths/servers-and-cloud-computing/bolt-demo/brbe/)) - Linux kernel version 6.14 or later for Arm Statistical Profiling Extension ([SPE profiling](/learning-paths/servers-and-cloud-computing/bolt-demo/spe/)) - GCC version 13.3 or later to compile the example program ([GCC](/install-guides/gcc/) ) - - A system with with sufficient hardware performance counters to use the [TopDown](/install-guides/topdown-tool/) methodology. This typically requires running on bare metal rather than a virtualized environment. - + - A system with with sufficient hardware performance counters to use the [TopDown](/install-guides/topdown-tool) methodology. This typically requires running on bare metal rather than a virtualized environment. author: Paschalis Mpeis +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -64,11 +65,10 @@ further_reading: link: https://developer.arm.com/documentation/ddi0487/latest type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/bolt-merge/_index.md b/content/learning-paths/servers-and-cloud-computing/bolt-merge/_index.md index fe8d987995..bbafc9268e 100644 --- a/content/learning-paths/servers-and-cloud-computing/bolt-merge/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/bolt-merge/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Gayathri Narayana Yegna Narayanan +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -41,7 +45,6 @@ further_reading: link: https://research.facebook.com/publications/bolt-a-practical-binary-optimizer-for-data-centers-and-beyond/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/bolt/_index.md b/content/learning-paths/servers-and-cloud-computing/bolt/_index.md index 62ad8ac5e7..44f98df34b 100644 --- a/content/learning-paths/servers-and-cloud-computing/bolt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/bolt/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Jonathan Davies +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -41,11 +45,10 @@ further_reading: link: https://research.facebook.com/publications/bolt-a-practical-binary-optimizer-for-data-centers-and-beyond/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/buildkite-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/buildkite-gcp/_index.md index bf29a05cb4..da34960cd2 100644 --- a/content/learning-paths/servers-and-cloud-computing/buildkite-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/buildkite-gcp/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: CI-CD @@ -61,3 +65,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cassandra-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/cassandra-on-gcp/_index.md index 064994fafa..5d358c7fb1 100644 --- a/content/learning-paths/servers-and-cloud-computing/cassandra-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cassandra-on-gcp/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 30 who_is_this_for: This is an introductory topic for software developers migrating Cassandra workloads from x86_64 to Arm-based servers, specifically on Google Cloud C4A virtual machines built on Axion processors. - learning_objectives: - Provision an Arm-based SUSE SLES virtual machine on Google Cloud (C4A with Axion processors) - Install and configure Apache Cassandra on a SUSE Arm64 (C4A) instance @@ -19,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -60,3 +63,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-container/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-container/_index.md index ccc83cd8a2..d093d3e3bf 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-container/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-container/_index.md @@ -20,6 +20,10 @@ author: - Pareena Verma - Arnaud de Grandmaison +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -35,7 +39,6 @@ tools_software_languages: - Docker - Runbook - further_reading: - resource: title: Learn the architecture - Introducing Arm Confidential Compute Architecture @@ -58,10 +61,10 @@ further_reading: link: https://developer.arm.com/documentation/den0137/latest/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-device-attach/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-device-attach/_index.md index ceab1fdd5e..9958808c73 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-device-attach/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-device-attach/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Arnaud de Grandmaison +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -59,3 +63,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-essentials/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-essentials/_index.md index 99c7f1cbc7..997aa805b9 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-essentials/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-essentials/_index.md @@ -21,6 +21,10 @@ author: - Paul Howard - Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -37,7 +41,6 @@ tools_software_languages: - Veraison - Runbook - further_reading: - resource: title: Arm Confidential Compute Architecture @@ -56,10 +59,10 @@ further_reading: link: https://developer.arm.com/documentation/den0137/latest/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-kata/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-kata/_index.md index f3fb57968c..cd22f344ac 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-kata/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-kata/_index.md @@ -13,11 +13,15 @@ learning_objectives: prerequisites: - An AArch64 or x86_64 computer running Linux or macOS. Cloud-based instances can also be used; see the [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/) - - Completion of the [Run an end-to-end Attestation with Arm CCA and Trustee](/learning-paths/servers-and-cloud-computing/cca-trustee/) Learning Path + - Completion of the [Run an end-to-end Attestation with Arm CCA and Trustee](/learning-paths/servers-and-cloud-computing/cca-trustee) Learning Path author: - Anton Antonov +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -61,3 +65,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-trustee/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-trustee/_index.md index f028d0e012..68cc42600d 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-trustee/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-trustee/_index.md @@ -1,7 +1,7 @@ --- title: Run an end-to-end attestation flow with Arm CCA and Trustee description: Learn how to deploy a CCA realm workload on an FVP and connect it with Trustee services to enable attestation-based confidential data processing. - + minutes_to_complete: 60 who_is_this_for: This Learning Path is for software developers who want to run an end-to-end attestation flow using Arm Confidential Compute Architecture (CCA) and Trustee services. @@ -19,6 +19,10 @@ prerequisites: author: - Anton Antonov +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -60,3 +64,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-veraison-aws/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-veraison-aws/_index.md index c86b25869a..09d50edfb2 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-veraison-aws/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-veraison-aws/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Paul Howard +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -51,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cca-veraison/_index.md b/content/learning-paths/servers-and-cloud-computing/cca-veraison/_index.md index 00bd5df482..a8d92ef36c 100644 --- a/content/learning-paths/servers-and-cloud-computing/cca-veraison/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cca-veraison/_index.md @@ -4,7 +4,6 @@ description: Learn how to inspect and verify Arm CCA attestation tokens using co minutes_to_complete: 30 - who_is_this_for: This Learning Path is for developers who would like to learn about attestation in confidential computing, using Arm's Confidential Computing Architecture (CCA). learning_objectives: @@ -14,13 +13,15 @@ learning_objectives: - Use an attestation verification service to evaluate a CCA attestation token. - Understand the purpose of the Open-Source Veraison project. - prerequisites: - An Arm-based or x86 computer running Ubuntu. You can use a server instance from a cloud service provider of your choice. - author: Paul Howard +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -33,9 +34,6 @@ tools_software_languages: - RME - Runbook - - - further_reading: - resource: title: RATS architecture (RFC 9334) @@ -50,11 +48,10 @@ further_reading: link: https://datatracker.ietf.org/doc/draft-ietf-rats-ar4si/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/circleci-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/circleci-gcp/_index.md index c78bed17a5..3e98b6690f 100644 --- a/content/learning-paths/servers-and-cloud-computing/circleci-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/circleci-gcp/_index.md @@ -1,7 +1,7 @@ --- title: Run CircleCI Arm Native Workflows on a SUSE Arm GCP VM description: Learn how to set up CircleCI self-hosted machine runners on Google Cloud Axion C4A SUSE VMs and execute Arm-native CI/CD workflows using custom resource classes. - + minutes_to_complete: 45 who_is_this_for: This is an introductory topic for developers and DevOps engineers looking to set up and run CircleCI Arm native workflows on SUSE Linux Arm64 virtual machines (VMs), specifically on Google Cloud C4A with Axion processors, using self-hosted runners. @@ -22,9 +22,12 @@ prerequisites: [resource classes](https://circleci.com/docs/guides/execution-managed/resource-class-overview/), and [runners](https://circleci.com/docs/guides/execution-runner/runner-overview/) - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: CI-CD @@ -71,3 +74,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/circleci-on-aws/_index.md b/content/learning-paths/servers-and-cloud-computing/circleci-on-aws/_index.md index ea22c2c97e..750ffb038c 100644 --- a/content/learning-paths/servers-and-cloud-computing/circleci-on-aws/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/circleci-on-aws/_index.md @@ -1,7 +1,7 @@ --- title: Deploy CircleCI Arm Native Workflows on AWS EC2 Graviton description: Learn how to install and configure CircleCI self-hosted machine runners on AWS Graviton Arm64 instances to execute CI/CD workflows natively on Arm. - + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers and DevOps engineers who want to set up and run CircleCI Arm native workflows on Linux Arm64 virtual machines. You'll use AWS EC2 Graviton instances (Neoverse N1) and self-hosted runners. @@ -18,6 +18,10 @@ prerequisites: author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: CI-CD @@ -32,7 +36,6 @@ tools_software_languages: - Bash - Git - operatingsystems: - Linux @@ -55,8 +58,8 @@ further_reading: link: https://circleci.com/docs/guides/toolkit/local-cli/ type: documentation - weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/clair/_index.md b/content/learning-paths/servers-and-cloud-computing/clair/_index.md index bc66e670cb..28ffd36c29 100644 --- a/content/learning-paths/servers-and-cloud-computing/clair/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/clair/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -43,11 +47,10 @@ further_reading: link: https://aws.amazon.com/blogs/aws/new-amazon-ec2-c7g-instances-powered-by-aws-graviton3-processors/ type: Blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/clickhouse-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/clickhouse-gcp/_index.md index 9cbd7743f0..76b947e133 100644 --- a/content/learning-paths/servers-and-cloud-computing/clickhouse-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/clickhouse-gcp/_index.md @@ -1,7 +1,7 @@ --- title: Build a real-time analytics pipeline with ClickHouse on Google Cloud Axion description: Learn how to deploy ClickHouse on Google Cloud Axion C4A processors and build a streaming ETL pipeline using Apache Beam, Dataflow, and Pub/Sub for real-time analytics. - + minutes_to_complete: 50 who_is_this_for: This is an introductory topic for developers deploying and optimizing ClickHouse on Arm-based Linux environments using Google Cloud C4A virtual machines powered by Axion processors, to evaluate ClickHouse performance and behavior on Arm-based infrastructure. @@ -23,6 +23,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -65,3 +69,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/clickhouse/_index.md b/content/learning-paths/servers-and-cloud-computing/clickhouse/_index.md index aa647ef87d..747db8f678 100644 --- a/content/learning-paths/servers-and-cloud-computing/clickhouse/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/clickhouse/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -50,10 +54,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/improve-clickhouse-performance-up-to-26-by-using-aws-graviton3 type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/cobalt/_index.md index a505aa3dc9..72bc9c0350 100644 --- a/content/learning-paths/servers-and-cloud-computing/cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cobalt/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Joe Stech +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags # Tagging metadata, see the Learning Path guide for the allowed values skilllevels: Introductory @@ -32,7 +36,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Azure Cobalt 100 VM documentation @@ -47,11 +50,10 @@ further_reading: link: https://learn.microsoft.com/azure/virtual-network/security-overview type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/codebuild/_index.md b/content/learning-paths/servers-and-cloud-computing/codebuild/_index.md index 4dc1e25cdc..9abe7100bc 100644 --- a/content/learning-paths/servers-and-cloud-computing/codebuild/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/codebuild/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: CI-CD @@ -40,11 +44,10 @@ further_reading: link: https://github.com/aws/aws-codebuild-docker-images type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/codec/_index.md b/content/learning-paths/servers-and-cloud-computing/codec/_index.md index d6537e5e55..3d8cdcd7f0 100644 --- a/content/learning-paths/servers-and-cloud-computing/codec/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/codec/_index.md @@ -7,7 +7,6 @@ minutes_to_complete: 10 who_is_this_for: This is an introductory topic for software developers who want to build and run an x265 codec on Arm servers and measure performance. - learning_objectives: - Build x265 codec on Arm server - Run x265 codec on Arm server with the same video of various resolutions and encoding @@ -19,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: null @@ -61,3 +64,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/codec1/_index.md b/content/learning-paths/servers-and-cloud-computing/codec1/_index.md index 9fca28bcbc..87e1121302 100644 --- a/content/learning-paths/servers-and-cloud-computing/codec1/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/codec1/_index.md @@ -4,6 +4,10 @@ description: Learn how to build and run the AV1 and VP9 video codecs on Arm Linu author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for software developers who want to @@ -48,8 +52,8 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/oracle-cloud-infrastructure-arm-based-a1 type: blog - weight: 1 layout: learningpathall -learning_path_main_page: "yes" +learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/couchbase-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/couchbase-on-gcp/_index.md index 975c69094f..6a50c6a0c3 100644 --- a/content/learning-paths/servers-and-cloud-computing/couchbase-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/couchbase-on-gcp/_index.md @@ -2,7 +2,6 @@ title: Deploy Couchbase on Google Cloud C4A description: Learn how to install and configure Couchbase on Google Cloud Axion C4A Arm64 instances and benchmark read/write performance using YCSB workloads. - minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers deploying Couchbase workloads on Arm Linux environments, specifically using Google Cloud C4A virtual machines (VM) powered by Axion processors. @@ -19,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -52,3 +55,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cplusplus_compilers_flags/_index.md b/content/learning-paths/servers-and-cloud-computing/cplusplus_compilers_flags/_index.md index ae01e0a945..e1ae6353fc 100644 --- a/content/learning-paths/servers-and-cloud-computing/cplusplus_compilers_flags/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cplusplus_compilers_flags/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -38,10 +42,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/operating-systems-blog/posts/runtime-detection-of-cpu-features-on-an-armv8-a-cpu type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cpp-profile-guided-optimisation/_index.md b/content/learning-paths/servers-and-cloud-computing/cpp-profile-guided-optimisation/_index.md index 86357e23a2..ef8748d2f1 100644 --- a/content/learning-paths/servers-and-cloud-computing/cpp-profile-guided-optimisation/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cpp-profile-guided-optimisation/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -42,11 +46,10 @@ further_reading: link: https://github.com/google/benchmark type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/cpu_hotspot_performix/_index.md b/content/learning-paths/servers-and-cloud-computing/cpu_hotspot_performix/_index.md index d67bdd205d..eaafaec6b0 100644 --- a/content/learning-paths/servers-and-cloud-computing/cpu_hotspot_performix/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/cpu_hotspot_performix/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -28,7 +32,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Optimize application performance using Arm Performix CPU microarchitecture analysis @@ -43,12 +46,10 @@ further_reading: link: https://www.brendangregg.com/flamegraphs.html type: blog - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/csp/_index.md b/content/learning-paths/servers-and-cloud-computing/csp/_index.md index 665353918d..020703325a 100644 --- a/content/learning-paths/servers-and-cloud-computing/csp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/csp/_index.md @@ -4,6 +4,10 @@ description: Learn how to start an Arm-based virtual machine instance from major author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + minutes_to_complete: 15 who_is_this_for: This is an introductory topic for software developers who are new to Arm-based cloud instances. @@ -29,8 +33,6 @@ operatingsystems: - Linux tools_software_languages: - - further_reading: - resource: title: Cloud computing (arm.com) @@ -57,10 +59,10 @@ further_reading: link: https://developer.oracle.com/arm/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/deepseek-cpu/_index.md b/content/learning-paths/servers-and-cloud-computing/deepseek-cpu/_index.md index 5f4d8dafea..b2592a1db8 100644 --- a/content/learning-paths/servers-and-cloud-computing/deepseek-cpu/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/deepseek-cpu/_index.md @@ -17,6 +17,10 @@ prerequisites: author: - Tianyu Li +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -34,7 +38,6 @@ tools_software_languages: - Generative AI - Python - further_reading: - resource: title: Getting started with DeepSeek-R1 @@ -53,11 +56,10 @@ further_reading: link: https://huggingface.co/bartowski/DeepSeek-R1-GGUF type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/deepspeed-on-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/deepspeed-on-axion/_index.md index 61420e9026..1ae62e4841 100644 --- a/content/learning-paths/servers-and-cloud-computing/deepspeed-on-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/deepspeed-on-axion/_index.md @@ -1,6 +1,6 @@ --- title: Train and benchmark AI workloads with DeepSpeed on Google Cloud C4A Axion VMs - + description: Set up PyTorch and DeepSpeed on Google Cloud C4A Axion Arm VMs running SUSE Linux to train neural network models, benchmark AI workloads, and validate scalable CPU-based AI execution on Arm64 processors. minutes_to_complete: 30 @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML diff --git a/content/learning-paths/servers-and-cloud-computing/disk-io-benchmark/_index.md b/content/learning-paths/servers-and-cloud-computing/disk-io-benchmark/_index.md index e878c3cb6c..1db5ff4bf7 100644 --- a/content/learning-paths/servers-and-cloud-computing/disk-io-benchmark/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/disk-io-benchmark/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -45,3 +49,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/distributed-inference-with-llama-cpp/_index.md b/content/learning-paths/servers-and-cloud-computing/distributed-inference-with-llama-cpp/_index.md index 2d8cfaabed..7b6ef61620 100644 --- a/content/learning-paths/servers-and-cloud-computing/distributed-inference-with-llama-cpp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/distributed-inference-with-llama-cpp/_index.md @@ -21,6 +21,10 @@ author: - Aryan Bhusari - Joe Stech +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -35,19 +39,16 @@ tools_software_languages: operatingsystems: - Linux - - further_reading: - resource: title: llama.cpp RPC server code link: https://github.com/ggml-org/llama.cpp/tree/master/tools/rpc type: Code - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/django-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/django-on-gcp/_index.md index 3f9157de78..0b8031e07a 100644 --- a/content/learning-paths/servers-and-cloud-computing/django-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/django-on-gcp/_index.md @@ -1,6 +1,6 @@ --- title: Deploy Django on Arm-based Google Cloud C4A - + minutes_to_complete: 60 description: Learn how to deploy a production-grade Django REST API on Google Kubernetes Engine with Arm64 Axion node pools integrated with Google Cloud managed data services. who_is_this_for: This is an introductory topic for DevOps engineers and software developers who want to deploy, operate, and benchmark a production-grade Django REST API on Google Kubernetes Engine (GKE) running on Arm64 Axion processors, integrated with managed Google Cloud data services @@ -23,6 +23,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Web @@ -75,3 +79,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: yes --- + diff --git a/content/learning-paths/servers-and-cloud-computing/django/_index.md b/content/learning-paths/servers-and-cloud-computing/django/_index.md index 3785d40fc0..62ccab3e0f 100644 --- a/content/learning-paths/servers-and-cloud-computing/django/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/django/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Diego Russo +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -37,7 +41,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: PostgreSQL Documentation @@ -52,11 +55,10 @@ further_reading: link: https://docs.djangoproject.com/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/dlrm/_index.md b/content/learning-paths/servers-and-cloud-computing/dlrm/_index.md index 106b9b4afa..ce731acb73 100644 --- a/content/learning-paths/servers-and-cloud-computing/dlrm/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/dlrm/_index.md @@ -2,7 +2,6 @@ title: Building and Benchmarking DLRM on Arm Neoverse V2 with MLPerf description: Learn how to build and benchmark the Deep Learning Recommendation Model using PyTorch and MLPerf on Arm Neoverse V2 processors. - minutes_to_complete: 90 who_is_this_for: This is an introductory topic for software developers who want to set up a pipeline in the cloud for recommendation models. You'll build and run the Deep Learning Recommendation Model (DLRM) and benchmark its performance using MLPerf and PyTorch. @@ -19,6 +18,10 @@ author: - Annie Tallund - Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -44,11 +47,10 @@ further_reading: link: https://github.com/mlcommons/inference/tree/master type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/docker-mcp-toolkit/_index.md b/content/learning-paths/servers-and-cloud-computing/docker-mcp-toolkit/_index.md index d4edfe75ae..d3ab313251 100644 --- a/content/learning-paths/servers-and-cloud-computing/docker-mcp-toolkit/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/docker-mcp-toolkit/_index.md @@ -1,6 +1,6 @@ --- title: Automate x86 to Arm Migration with Docker MCP Toolkit, VS Code and GitHub Copilot - + description: Learn how to use the Docker MCP Toolkit with the Arm MCP Server and GitHub Copilot to automate container and code migration from x86 to Arm64. Through a hands-on example, migrate a legacy C++ application with AVX2 intrinsics to Arm Neon. minutes_to_complete: 45 @@ -22,8 +22,13 @@ prerequisites: - A GitHub account with a personal access token - A machine with at least 8 GB RAM (16 GB recommended) - Basic familiarity with Docker, C++, and SIMD intrinsics concepts + author: Ajeet Singh Raina +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -67,3 +72,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/dotnet-migration/_index.md b/content/learning-paths/servers-and-cloud-computing/dotnet-migration/_index.md index 180d3d86b3..d463a7af9e 100644 --- a/content/learning-paths/servers-and-cloud-computing/dotnet-migration/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/dotnet-migration/_index.md @@ -2,7 +2,6 @@ title: Migrate a .NET application to Azure Cobalt 100 description: Learn how to build and run an OrchardCore CMS .NET application on Azure Cobalt 100 processors, covering AnyCPU configuration and shared C library integration. - minutes_to_complete: 25 who_is_this_for: This is an advanced topic for .NET developers who want to take advantage of the performance and cost benefits of Azure Cobalt processors. @@ -22,6 +21,10 @@ prerequisites: author: Joe Stech +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -36,7 +39,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Orchard Core documentation @@ -51,11 +53,10 @@ further_reading: link: https://learn.microsoft.com/en-us/dotnet/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md index 585ca76560..1f5378b857 100644 --- a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md @@ -1,7 +1,7 @@ --- title: Monitor Azure Cobalt 100 Arm64 virtual machines using Dynatrace OneAgent description: Learn how to deploy Dynatrace OneAgent on Azure Cobalt 100 Arm64 virtual machines and configure ActiveGate for secure infrastructure and application monitoring. - + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers, DevOps engineers, and platform engineers who want to implement infrastructure and application monitoring using Dynatrace on Arm-based cloud environments. @@ -20,6 +20,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -61,3 +65,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/ecs/_index.md b/content/learning-paths/servers-and-cloud-computing/ecs/_index.md index 5a414e08a4..4d67a599ba 100644 --- a/content/learning-paths/servers-and-cloud-computing/ecs/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/ecs/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -43,9 +47,8 @@ further_reading: link: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html type: documentation - - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/eks-multi-arch/_index.md b/content/learning-paths/servers-and-cloud-computing/eks-multi-arch/_index.md index 1d6ba69853..cf4e99e3f6 100644 --- a/content/learning-paths/servers-and-cloud-computing/eks-multi-arch/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/eks-multi-arch/_index.md @@ -13,11 +13,15 @@ learning_objectives: prerequisites: - An [AWS account](https://aws.amazon.com/). Create an account if needed. - - A computer with [Amazon eksctl CLI](/install-guides/eksctl/) and [kubectl](/install-guides/kubectl/)installed. - - Docker installed on local computer [Docker](/install-guides/docker/) + - A computer with [Amazon eksctl CLI](/install-guides/eksctl) and [kubectl](/install-guides/kubectl/)installed. + - Docker installed on local computer [Docker](/install-guides/docker) author: Pranay Bakre +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -31,7 +35,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: EKS documentation @@ -42,12 +45,10 @@ further_reading: link: https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html?pg=ln&sec=hs type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/eks/_index.md b/content/learning-paths/servers-and-cloud-computing/eks/_index.md index 6b3f2b9d30..029e314422 100644 --- a/content/learning-paths/servers-and-cloud-computing/eks/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/eks/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -44,8 +48,8 @@ further_reading: link: https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/ type: Blog - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/elasticsearch-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/elasticsearch-on-azure/_index.md index 489817fbdb..e23ec6d2bc 100644 --- a/content/learning-paths/servers-and-cloud-computing/elasticsearch-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/elasticsearch-on-azure/_index.md @@ -17,9 +17,12 @@ prerequisites: - Basic familiarity with SSH - Familiarity with Elasticsearch and ESRally - author: Doug Anson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture diff --git a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md index c80e6afd11..0fdb4deb51 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 30 who_is_this_for: This introductory topic for software developers migrating Envoy Proxy workloads from x86_64 to Arm-based servers, specifically on Google Cloud C4A virtual machines built on Axion processors. - learning_objectives: - Provision an Arm-based C4A VM on Google Cloud Platform (GCP) - Install and configure Envoy Proxy on a C4A instance @@ -19,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Web @@ -60,3 +63,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/envoy/_index.md b/content/learning-paths/servers-and-cloud-computing/envoy/_index.md index f163198839..316f306d70 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Zhengjun Xing +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -42,11 +46,10 @@ further_reading: link: https://www.envoyproxy.io/docs/envoy/latest/start/building type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/envoy_tune/_index.md b/content/learning-paths/servers-and-cloud-computing/envoy_tune/_index.md index 49d9ba3553..47b1a2bd0d 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy_tune/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy_tune/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Zhengjun Xing +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Web @@ -31,7 +35,7 @@ armips: tools_software_languages: - Envoy - Runbook - + operatingsystems: - Linux @@ -40,8 +44,6 @@ further_reading: title: Envoy Documentation link: https://www.envoyproxy.io/docs/envoy/latest type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -49,3 +51,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/exploiting-stack-buffer-overflow-aarch64/_index.md b/content/learning-paths/servers-and-cloud-computing/exploiting-stack-buffer-overflow-aarch64/_index.md index ccb5711f2e..83686a370d 100644 --- a/content/learning-paths/servers-and-cloud-computing/exploiting-stack-buffer-overflow-aarch64/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/exploiting-stack-buffer-overflow-aarch64/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 120 who_is_this_for: This is an advanced topic for software developers interested in understanding how memory vulnerability-based exploits work on AArch64 and how to defend against them. - learning_objectives: - Analyze the stack frame layout to derive which field in user input overwrites the return address stored on the stack. @@ -21,6 +20,10 @@ prerequisites: author: Kristof Beyls +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -35,7 +38,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Providing protection for complex software @@ -50,11 +52,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/false-sharing-arm-spe/_index.md b/content/learning-paths/servers-and-cloud-computing/false-sharing-arm-spe/_index.md index efdea1f510..742dfeb3f6 100644 --- a/content/learning-paths/servers-and-cloud-computing/false-sharing-arm-spe/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/false-sharing-arm-spe/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -34,7 +38,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Arm Statistical Profiling Extension Whitepaper @@ -51,3 +54,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/fastpath/_index.md b/content/learning-paths/servers-and-cloud-computing/fastpath/_index.md index ca5b2d9779..9b4d39edb8 100644 --- a/content/learning-paths/servers-and-cloud-computing/fastpath/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/fastpath/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -52,3 +56,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/fexpa/_index.md b/content/learning-paths/servers-and-cloud-computing/fexpa/_index.md index 709c07746a..a8a1d1e377 100644 --- a/content/learning-paths/servers-and-cloud-computing/fexpa/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/fexpa/_index.md @@ -2,7 +2,6 @@ title: Optimize exponential functions with FEXPA description: Learn how to implement exponential functions using Arm SVE intrinsics with the FEXPA instruction for hardware-accelerated computations on Neoverse processors. - minutes_to_complete: 15 who_is_this_for: This is an introductory topic for developers interested in accelerating exponential function computations using Arm's Scalable Vector Extension (SVE). The FEXPA instruction provides hardware acceleration for exponential calculations on Arm Neoverse processors. @@ -15,10 +14,14 @@ prerequisites: - Access to an [AWS Graviton4, Google Axion, or Azure Cobalt 100 virtual machine from a cloud service provider](/learning-paths/servers-and-cloud-computing/csp/) - Some familiarity with SIMD programming and SVE intrinsics -author: -- Arnaud Grasset -- Claudio Martino -- Alexandre Romana +author: + - Arnaud Grasset + - Claudio Martino + - Alexandre Romana + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false further_reading: - resource: @@ -56,4 +59,3 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- - diff --git a/content/learning-paths/servers-and-cloud-computing/flink-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/flink-on-gcp/_index.md index 14e3e33043..36df3648e1 100644 --- a/content/learning-paths/servers-and-cloud-computing/flink-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/flink-on-gcp/_index.md @@ -1,7 +1,7 @@ --- title: Deploy Apache Flink on Google Cloud C4A (Arm-based Axion VMs) description: Learn how to install and configure Apache Flink on Google Cloud Axion C4A Arm64 instances and benchmark stream processing performance with Nexmark. - + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers deploying and optimizing Apache Flink workloads on Linux/Arm64 environments, specifically using Google Cloud C4A virtual machines powered by Axion processors. @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -58,3 +62,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/flink/_index.md b/content/learning-paths/servers-and-cloud-computing/flink/_index.md index 628ed4cc8f..f268ad6f7d 100644 --- a/content/learning-paths/servers-and-cloud-computing/flink/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/flink/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Ying Yu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -28,8 +32,6 @@ cloud_service_providers: armips: - Neoverse - - operatingsystems: - Linux @@ -39,8 +41,6 @@ tools_software_languages: - Nexmark - Runbook - - further_reading: - resource: title: Flink Manual @@ -51,10 +51,10 @@ further_reading: link: https://github.com/nexmark/nexmark#readme type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/flyte-with-grpc/_index.md b/content/learning-paths/servers-and-cloud-computing/flyte-with-grpc/_index.md index b96c3470c0..a64a70c07a 100644 --- a/content/learning-paths/servers-and-cloud-computing/flyte-with-grpc/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/flyte-with-grpc/_index.md @@ -18,9 +18,12 @@ prerequisites: - Basic familiarity with Python - Basic understanding of machine learning pipelines - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML @@ -67,3 +70,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: yes --- + diff --git a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1/_index.md b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1/_index.md index 204faf230a..ecca95dd01 100644 --- a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1/_index.md @@ -23,6 +23,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -31,7 +35,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - .NET SDK - C# @@ -39,7 +43,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Terraform on Azure @@ -54,11 +57,10 @@ further_reading: link: https://learn.microsoft.com/en-us/azure/bastion/bastion-overview type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part2/_index.md b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part2/_index.md index 2d50350cf2..ce1d34f0c8 100644 --- a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part2/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part2/_index.md @@ -13,10 +13,14 @@ learning_objectives: prerequisites: - 'Azure subscription. Use this link to sign up for a free account: https://azure.microsoft.com/en-us/free/.' - - 'Complete the [first learning path](/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1/) of this series.' + - 'Complete the [first learning path](/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1) of this series.' author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -25,7 +29,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - ASP.NET Core - Docker @@ -47,11 +51,10 @@ further_reading: link: https://learn.microsoft.com/en-us/azure/container-instances/ type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part3/_index.md b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part3/_index.md index 9d5ebc5bd0..8a53abbd68 100644 --- a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part3/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part3/_index.md @@ -12,19 +12,23 @@ learning_objectives: prerequisites: - 'Azure subscription. Use this link to sign up for a free account: https://azure.microsoft.com/en-us/free/.' - - 'Complete the [first](/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1/) and [second](/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part2/) learning paths of this series.' - + - 'Complete the [first](/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part1) and [second](/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part2) learning paths of this series.' + author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization cloud_service_providers: - Microsoft Azure - + armips: - Neoverse - + tools_software_languages: - ASP.NET Core - Docker @@ -47,11 +51,10 @@ further_reading: link: https://kubernetes.io/docs/reference/kubectl/cheatsheet/ type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part4/_index.md b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part4/_index.md index 592493d999..c2500a4e40 100644 --- a/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part4/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/from-iot-to-the-cloud-part4/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -28,7 +32,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - TypeScript - Docker @@ -50,11 +54,10 @@ further_reading: link: https://www.terraform.io type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/funasr/_index.md b/content/learning-paths/servers-and-cloud-computing/funasr/_index.md index 8fea725936..9268d26fa5 100644 --- a/content/learning-paths/servers-and-cloud-computing/funasr/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/funasr/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -35,7 +39,6 @@ tools_software_languages: - Generative AI - Python - further_reading: - resource: title: ModelScope GitHub Repository @@ -54,11 +57,10 @@ further_reading: link: https://community.arm.com/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/neoverse-n2-delivers-leading-price-performance-on-asr type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gardener-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/gardener-gcp/_index.md index 2476b5bfd2..5d65d8d52b 100644 --- a/content/learning-paths/servers-and-cloud-computing/gardener-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gardener-gcp/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -63,8 +67,9 @@ further_reading: title: kube-bench security benchmarking tool link: https://github.com/aquasecurity/kube-bench type: documentation - + weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gcc-lto/_index.md b/content/learning-paths/servers-and-cloud-computing/gcc-lto/_index.md index e69f61bcd3..8e60fc0fa1 100644 --- a/content/learning-paths/servers-and-cloud-computing/gcc-lto/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gcc-lto/_index.md @@ -2,7 +2,6 @@ title: Optimize performance using Link-Time Optimization with GCC description: Learn how to apply link-time optimization with the GCC toolchain to improve application performance by optimizing across compilation units. - minutes_to_complete: 15 who_is_this_for: This is an introductory topic for developers who want to improve application performance using link-time optimization (LTO) with the GCC toolchain. @@ -18,6 +17,10 @@ prerequisites: author: Victor Do Nascimento +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -49,3 +52,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/gcp/_index.md index 8f2943f748..a916aa97cc 100644 --- a/content/learning-paths/servers-and-cloud-computing/gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gcp/_index.md @@ -13,11 +13,15 @@ learning_objectives: prerequisites: - A [Google Cloud account](https://console.cloud.google.com/). Create an account if needed. - - A computer with [Terraform](/install-guides/terraform/) installed. - - A computer with [Google Cloud CLI](/install-guides/gcloud/) installed. + - A computer with [Terraform](/install-guides/terraform) installed. + - A computer with [Google Cloud CLI](/install-guides/gcloud) installed. author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -49,8 +53,8 @@ further_reading: link: https://cloud.google.com/solutions/connecting-securely#bastion type: documentation - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/geekbench/_index.md b/content/learning-paths/servers-and-cloud-computing/geekbench/_index.md index e8ed45b0cc..24549092df 100644 --- a/content/learning-paths/servers-and-cloud-computing/geekbench/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/geekbench/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: Performance and Architecture @@ -30,7 +34,6 @@ tools_software_languages: - Geekbench - Runbook - further_reading: - resource: title: Performance Analysis for Arm vs x86 CPUs in the Cloud @@ -51,3 +54,4 @@ weight: 1 layout: learningpathall learning_path_main_page: 'yes' --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gh-runners/_index.md b/content/learning-paths/servers-and-cloud-computing/gh-runners/_index.md index 57758520db..6bfb986582 100644 --- a/content/learning-paths/servers-and-cloud-computing/gh-runners/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gh-runners/_index.md @@ -22,6 +22,10 @@ author: - Pareena Verma - Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: CI-CD @@ -35,7 +39,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Arm64 on GitHub Actions - Powering faster, more efficient build systems @@ -50,11 +53,10 @@ further_reading: link: https://github.blog/enterprise-software/ci-cd/streamlining-your-mlops-pipeline-with-github-actions-and-arm64-runners/ type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/github-actions-runner/_index.md b/content/learning-paths/servers-and-cloud-computing/github-actions-runner/_index.md index fa5bb49430..d1433d5310 100644 --- a/content/learning-paths/servers-and-cloud-computing/github-actions-runner/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/github-actions-runner/_index.md @@ -1,7 +1,7 @@ --- title: Managed, self-hosted Arm runners for GitHub Actions description: Learn how to install RunsOn self-hosted runner manager in your AWS account to execute GitHub Actions workflows on Arm runners. - + minutes_to_complete: 15 who_is_this_for: This Learning Path is for developers who want to use Arm runners offered by AWS to execute GitHub Actions workflows. @@ -16,6 +16,10 @@ prerequisites: author: Cyril Rohr +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: CI-CD @@ -52,7 +56,6 @@ further_reading: link: https://runs-on.com/benchmarks/github-actions-runners/#arm64-runners type: website - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. diff --git a/content/learning-paths/servers-and-cloud-computing/github-on-arm/_index.md b/content/learning-paths/servers-and-cloud-computing/github-on-arm/_index.md index c416bbcbdf..82b08c14b7 100644 --- a/content/learning-paths/servers-and-cloud-computing/github-on-arm/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/github-on-arm/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: CI-CD @@ -57,8 +61,8 @@ further_reading: link: https://cloud.google.com/compute/docs/instances/create-start-instance type: website - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/_index.md index a2bd77f270..a1a204eae0 100644 --- a/content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/_index.md @@ -11,7 +11,7 @@ learning_objectives: - Build and publish multi-architecture images to Artifact Registry using Docker Buildx - Deploy a Kubernetes application on amd64, then migrate to arm64 using Kustomize overlays - Automate builds and rollouts with Cloud Build and Skaffold - + prerequisites: - A [Google Cloud account](https://console.cloud.google.com/) with billing enabled - A local Linux or macOS computer with Docker, Kubernetes CLI (kubectl), Google Cloud CLI (gcloud), and Git installed, or access to Google Cloud Shell @@ -20,6 +20,10 @@ prerequisites: author: - Rani Chowdary Mandepudi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -35,7 +39,6 @@ tools_software_languages: - Skaffold - Cloud Build - further_reading: - resource: title: Google Kubernetes Engine documentation @@ -45,10 +48,6 @@ further_reading: title: Create standard clusters and node pools with Arm nodes link: https://cloud.google.com/kubernetes-engine/docs/how-to/create-arm-clusters-nodes type: documentation - - - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -56,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gke-multi-arch/_index.md b/content/learning-paths/servers-and-cloud-computing/gke-multi-arch/_index.md index ea2b57be07..3d963ffad5 100644 --- a/content/learning-paths/servers-and-cloud-computing/gke-multi-arch/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gke-multi-arch/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pranay Bakre +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -35,7 +39,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Create Arm based clusters and node pools @@ -50,11 +53,10 @@ further_reading: link: https://cloud.google.com/kubernetes-engine/docs type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/gke/_index.md b/content/learning-paths/servers-and-cloud-computing/gke/_index.md index 6695b69ef1..b137494a14 100644 --- a/content/learning-paths/servers-and-cloud-computing/gke/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gke/_index.md @@ -1,7 +1,7 @@ --- title: Create an Arm-based Kubernetes cluster on Google Cloud Platform (GCP) description: Learn how to automate the deployment of an Arm-based Google Kubernetes Engine cluster using Terraform for container orchestration. - + minutes_to_complete: 60 who_is_this_for: This is an advanced topic for software developers who want to deploy an Arm-based Kubernetes cluster using Google Kubernetes Engine (GKE). @@ -15,6 +15,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -48,7 +52,6 @@ further_reading: link: https://cloud.google.com/kubernetes-engine/docs type: documentation - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. diff --git a/content/learning-paths/servers-and-cloud-computing/glibc-with-lse/_index.md b/content/learning-paths/servers-and-cloud-computing/glibc-with-lse/_index.md index 893dca8c60..feb4830ceb 100644 --- a/content/learning-paths/servers-and-cloud-computing/glibc-with-lse/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/glibc-with-lse/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Ying Yu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -24,8 +28,6 @@ subjects: Performance and Architecture armips: - Neoverse - - operatingsystems: - Linux @@ -35,8 +37,6 @@ tools_software_languages: - MongoDB - Runbook - - further_reading: - resource: title: Arm's LSE for atomics and MySQL @@ -47,10 +47,10 @@ further_reading: link: https://www.mongodb.com/docs/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/go-benchmarking-with-sweet/_index.md b/content/learning-paths/servers-and-cloud-computing/go-benchmarking-with-sweet/_index.md index f8ffd3d80d..7fec43575c 100644 --- a/content/learning-paths/servers-and-cloud-computing/go-benchmarking-with-sweet/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/go-benchmarking-with-sweet/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -45,3 +49,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/go-gc-default-settings/_index.md b/content/learning-paths/servers-and-cloud-computing/go-gc-default-settings/_index.md index 744c0369ac..a8610b8410 100644 --- a/content/learning-paths/servers-and-cloud-computing/go-gc-default-settings/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/go-gc-default-settings/_index.md @@ -24,6 +24,10 @@ prerequisites: author: Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture diff --git a/content/learning-paths/servers-and-cloud-computing/golang-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/golang-on-azure/_index.md index 7212cbc2f4..78a2dc8faa 100644 --- a/content/learning-paths/servers-and-cloud-computing/golang-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/golang-on-azure/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -47,10 +51,10 @@ further_reading: link: https://pkg.go.dev/cmd/go#hdr-Testing_flags type: Reference - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/helm-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/helm-on-gcp/_index.md index d8536492a0..39c0d370e2 100644 --- a/content/learning-paths/servers-and-cloud-computing/helm-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/helm-on-gcp/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 60 who_is_this_for: This is an introductory topic intended for developers who want to get hands-on experience using Helm on Linux Arm64 systems, specifically Google Cloud C4A virtual machines powered by Axion processors. - learning_objectives: - Provision an Arm-based SUSE Linux Enterprise Server (SLES) virtual machine on Google Cloud (C4A with Axion processors) - Install and configure Helm and kubectl on a SUSE Arm64 (C4A) instance @@ -21,9 +20,13 @@ prerequisites: - Basic familiarity with [Kubernetes concepts](https://kubernetes.io/docs/concepts/) - Basic understanding of [Helm](https://helm.sh/docs/topics/architecture/) and Kubernetes manifests - Familiarity with basic Linux command-line usage - + author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -41,7 +44,7 @@ tools_software_languages: - PostgreSQL - Redis - NGINX - + operatingsystems: - Linux diff --git a/content/learning-paths/servers-and-cloud-computing/intro/_index.md b/content/learning-paths/servers-and-cloud-computing/intro/_index.md index 50ba7b1075..de8f633252 100644 --- a/content/learning-paths/servers-and-cloud-computing/intro/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/intro/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -25,17 +29,16 @@ operatingsystems: tools_software_languages: - Runbook - further_reading: - resource: title: Ampere Computing link: https://amperecomputing.com/developers/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/_index.md b/content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/_index.md index 11b941193e..75f74c1734 100644 --- a/content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/_index.md @@ -2,7 +2,6 @@ title: Optimize network interrupt handling on Arm servers description: Analyze and optimize interrupt request (IRQ) patterns on Arm Linux servers to improve network workload performance through IRQ distribution strategies. - minutes_to_complete: 20 who_is_this_for: This is an introductory topic for developers and performance engineers who are interested in understanding how network interrupt patterns can impact performance on cloud servers. @@ -19,6 +18,10 @@ prerequisites: author: Kiel Friedt +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -30,7 +33,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Perf for Linux on Arm (LinuxPerf) @@ -59,3 +61,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/_index.md b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/_index.md index fafab92491..174d83d5ed 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -36,7 +40,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: OpenJDK Wiki @@ -47,11 +50,10 @@ further_reading: link: https://www.oracle.com/technical-resources/articles/java/g1gc.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/java-on-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/java-on-axion/_index.md index 893ba4ba07..511fb108a5 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-on-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/java-on-axion/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Joe Stech +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -31,7 +35,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Exploring JVM Tuning Flags @@ -42,11 +45,10 @@ further_reading: link: https://docs.oracle.com/en/java/javase/21/docs/specs/man/java.html type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/java-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/java-on-azure/_index.md index 94b9486329..f9825b9d68 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/java-on-azure/_index.md @@ -14,9 +14,12 @@ learning_objectives: prerequisites: - A [Microsoft Azure](https://azure.microsoft.com/) account with access to Cobalt 100 based instances (Dpsv6) - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -51,10 +54,10 @@ further_reading: link: https://openjdk.org/projects/code-tools/jmh/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/java-perf-flamegraph/_index.md b/content/learning-paths/servers-and-cloud-computing/java-perf-flamegraph/_index.md index c03707d7f9..483cb98c74 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-perf-flamegraph/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/java-perf-flamegraph/_index.md @@ -19,6 +19,10 @@ author: - Ying Yu - Martin Ma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + # Tags skilllevels: Introductory subjects: Performance and Architecture @@ -49,3 +53,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/jenkins/_index.md b/content/learning-paths/servers-and-cloud-computing/jenkins/_index.md index 5139e59e87..1017c4a36b 100644 --- a/content/learning-paths/servers-and-cloud-computing/jenkins/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/jenkins/_index.md @@ -23,6 +23,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Advanced subjects: CI-CD @@ -67,3 +71,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/kafka-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/kafka-azure/_index.md index 6b87e68ecd..d5f607b255 100644 --- a/content/learning-paths/servers-and-cloud-computing/kafka-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/kafka-azure/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Storage @@ -48,10 +52,10 @@ further_reading: link: https://learn.microsoft.com/en-us/samples/azure/azure-quickstart-templates/kafka-ubuntu-multidisks/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/kafka/_index.md b/content/learning-paths/servers-and-cloud-computing/kafka/_index.md index 4bc43b7f9e..5a89973acd 100644 --- a/content/learning-paths/servers-and-cloud-computing/kafka/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/kafka/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Storage @@ -33,7 +37,6 @@ tools_software_languages: - Kafka - ZooKeeper - further_reading: - resource: title: Kafka Manual @@ -52,10 +55,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/apache-kafka-benchmarks-on-aws-graviton2 type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/kedify-http-autoscaling/_index.md b/content/learning-paths/servers-and-cloud-computing/kedify-http-autoscaling/_index.md index 0ed3acc520..553f729b65 100644 --- a/content/learning-paths/servers-and-cloud-computing/kedify-http-autoscaling/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/kedify-http-autoscaling/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Zbynek Roubalik +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -50,10 +54,10 @@ further_reading: link: https://keda.sh/ type: documentation - ### FIXED, DO NOT MODIFY # ============================================================================= weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/keras-core/_index.md b/content/learning-paths/servers-and-cloud-computing/keras-core/_index.md index 0591aeaad6..cf96f759b8 100644 --- a/content/learning-paths/servers-and-cloud-computing/keras-core/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/keras-core/_index.md @@ -21,6 +21,10 @@ author: - Diego Russo - Leandro Nunes +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -40,7 +44,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Keras Documentation @@ -59,11 +62,10 @@ further_reading: link: https://jax.readthedocs.io/en/latest/index.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/kernel-build/_index.md b/content/learning-paths/servers-and-cloud-computing/kernel-build/_index.md index 5b0dea05d8..98ac9bc1d8 100644 --- a/content/learning-paths/servers-and-cloud-computing/kernel-build/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/kernel-build/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -55,3 +59,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/_index.md index dac7bb83f9..37a77e7268 100644 --- a/content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/_index.md @@ -1,6 +1,6 @@ --- title: Deploy Keycloak on Azure Cobalt 100-based Arm64 virtual machines for identity and access management - + description: Learn how to install and configure Keycloak on an Azure Cobalt 100 Arm64 virtual machine, integrate it with PostgreSQL, configure OAuth2/OpenID Connect authentication, and secure applications using centralized identity management. minutes_to_complete: 90 @@ -22,6 +22,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web diff --git a/content/learning-paths/servers-and-cloud-computing/kubearchinspect/_index.md b/content/learning-paths/servers-and-cloud-computing/kubearchinspect/_index.md index 00448a94fd..88bb491bbd 100644 --- a/content/learning-paths/servers-and-cloud-computing/kubearchinspect/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/kubearchinspect/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -35,7 +39,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Kubernetes documentation @@ -54,10 +57,10 @@ further_reading: link: https://cloud.google.com/kubernetes-engine/docs/concepts/arm-on-gke type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/lambda_functions/_index.md b/content/learning-paths/servers-and-cloud-computing/lambda_functions/_index.md index c3d672126d..4ccc9bb5fc 100644 --- a/content/learning-paths/servers-and-cloud-computing/lambda_functions/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/lambda_functions/_index.md @@ -12,9 +12,13 @@ learning_objectives: prerequisites: - A computer with [Terraform](/install-guides/terraform/) and the [AWS CLI](/install-guides/aws-cli/) installed. - + author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -44,11 +48,10 @@ further_reading: link: https://community.aws/content/2juXXgrDDaUdmi902LHwilBhvNU/aws-lambda-performance-with-java-21-x86-vs-arm64-part-1-initial-measurements-and-comparisons?lang=en type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/libhugetlbfs/_index.md b/content/learning-paths/servers-and-cloud-computing/libhugetlbfs/_index.md index e57a4b8c70..b52715c2ee 100644 --- a/content/learning-paths/servers-and-cloud-computing/libhugetlbfs/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/libhugetlbfs/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Bolt Liu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Advanced subjects: Databases cloud_service_providers: @@ -33,7 +37,6 @@ tools_software_languages: - GCC - Runbook - test_images: - ubuntu:latest test_link: null @@ -49,8 +52,8 @@ further_reading: link: https://github.com/libhugetlbfs/libhugetlbfs/blob/master/HOWTO type: documentation - weight: 1 layout: learningpathall learning_path_main_page: 'yes' --- + diff --git a/content/learning-paths/servers-and-cloud-computing/llama-cpu/_index.md b/content/learning-paths/servers-and-cloud-computing/llama-cpu/_index.md index 017889b601..5199907586 100644 --- a/content/learning-paths/servers-and-cloud-computing/llama-cpu/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/llama-cpu/_index.md @@ -19,6 +19,10 @@ author: - Jason Andrews - Zach Lasiuk +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -53,11 +57,10 @@ further_reading: link: https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/llama-vision/_index.md b/content/learning-paths/servers-and-cloud-computing/llama-vision/_index.md index 4717c62d7e..ae7a9b8de0 100644 --- a/content/learning-paths/servers-and-cloud-computing/llama-vision/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/llama-vision/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Nobel Chowdary Mandepudi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced armips: @@ -35,7 +39,7 @@ tools_software_languages: - PyTorch - Streamlit - Google Axion - + further_reading: - resource: title: Getting started with Llama @@ -50,11 +54,10 @@ further_reading: link: https://blogs.oracle.com/ai-and-datascience/post/democratizing-generative-ai-with-cpu-based-inference type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/llama_cpp_streamline/_index.md b/content/learning-paths/servers-and-cloud-computing/llama_cpp_streamline/_index.md index fb87055082..a106f7051a 100644 --- a/content/learning-paths/servers-and-cloud-computing/llama_cpp_streamline/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/llama_cpp_streamline/_index.md @@ -24,6 +24,10 @@ author: - Zenon Zhilong Xiu - Odin Shen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: ML @@ -67,3 +71,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/llamaindex-rag-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/llamaindex-rag-axion/_index.md index cdb1a65496..d0d2bca575 100644 --- a/content/learning-paths/servers-and-cloud-computing/llamaindex-rag-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/llamaindex-rag-axion/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML @@ -60,8 +64,6 @@ further_reading: link: https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/ type: documentation - - # ================================================================================ # FIXED, DO NOT MODIFY # ================================================================================ diff --git a/content/learning-paths/servers-and-cloud-computing/longhorn-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/longhorn-cobalt/_index.md index 35bc96e68e..a16eaab006 100644 --- a/content/learning-paths/servers-and-cloud-computing/longhorn-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/longhorn-cobalt/_index.md @@ -1,6 +1,6 @@ --- title: Use Longhorn to deploy persistent storage for Kubernetes workloads on Arm-based Azure virtual machines - + description: Learn how to install and configure Longhorn on an Arm64 Azure virtual machine powered by Azure Cobalt 100, deploy Kubernetes persistent storage using Longhorn on K3s, create persistent volumes, and benchmark storage performance for cloud-native workloads. minutes_to_complete: 60 @@ -21,6 +21,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization diff --git a/content/learning-paths/servers-and-cloud-computing/lse/_index.md b/content/learning-paths/servers-and-cloud-computing/lse/_index.md index b78e9c0898..543f98a88b 100644 --- a/content/learning-paths/servers-and-cloud-computing/lse/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/lse/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -32,7 +36,6 @@ tools_software_languages: - GCC - Runbook - further_reading: - resource: title: Improving Java performance on Neoverse N1 systems @@ -47,11 +50,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/glibc-with-lse/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mariadb/_index.md b/content/learning-paths/servers-and-cloud-computing/mariadb/_index.md index f7fd16118a..0d250da06a 100644 --- a/content/learning-paths/servers-and-cloud-computing/mariadb/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mariadb/_index.md @@ -18,6 +18,11 @@ prerequisites: - A local computer with [Docker](/install-guides/docker/), [Terraform](/install-guides/terraform/), [AWS CLI](/install-guides/aws-cli/), [Azure CLI](/install-guides/azure-cli/), [Google Cloud CLI](/install-guides/gcloud/), and [Ansible](/install-guides/ansible/) installed author: Jason Andrews + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -36,7 +41,6 @@ tools_software_languages: - Docker - Runbook - further_reading: - resource: title: MariaDB Manual @@ -55,10 +59,10 @@ further_reading: link: https://aws.amazon.com/blogs/database/key-considerations-in-moving-to-graviton2-for-amazon-rds-and-amazon-aurora-databases/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/memcached/_index.md b/content/learning-paths/servers-and-cloud-computing/memcached/_index.md index ecd15889b3..3887145269 100644 --- a/content/learning-paths/servers-and-cloud-computing/memcached/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/memcached/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: https://github.com/armflorentlebeau/arm-learning-paths/actions/runs/4312122327 @@ -45,10 +49,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/accelerating-deep-packet-inspection-with-neon-on-arm-neoverse type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/memcached_cache/_index.md b/content/learning-paths/servers-and-cloud-computing/memcached_cache/_index.md index 72aace2755..6a915554ec 100644 --- a/content/learning-paths/servers-and-cloud-computing/memcached_cache/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/memcached_cache/_index.md @@ -1,7 +1,6 @@ --- title: Deploy Memcached as a cache for MySQL and PostgreSQL on Arm based servers - description: Deploy Memcached as a cache for MySQL and PostgreSQL on Arm servers minutes_to_complete: 60 @@ -16,10 +15,13 @@ prerequisites: - An Amazon Web Services (AWS) [account](https://aws.amazon.com/) - An Azure portal [account](https://azure.microsoft.com/en-in/get-started/azure-portal) - A Google Cloud [account](https://console.cloud.google.com/) -- A machine with [Terraform](/install-guides/terraform/), [AWS CLI](/install-guides/aws-cli/), [Google Cloud CLI](/install-guides/gcloud/), [Azure CLI](/install-guides/azure-cli/), [AWS IAM authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html), and [Ansible](/install-guides/ansible/) installed +- A machine with [Terraform](/install-guides/terraform/), [AWS CLI](/install-guides/aws-cli), [Google Cloud CLI](/install-guides/gcloud), [Azure CLI](/install-guides/azure-cli), [AWS IAM authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html), and [Ansible](/install-guides/ansible/) installed author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false test_images: - ubuntu:latest @@ -49,10 +51,10 @@ further_reading: link: https://github.com/memcached/memcached/wiki type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/memory-subsystem/_index.md b/content/learning-paths/servers-and-cloud-computing/memory-subsystem/_index.md index ecc23c1fa6..3d85b4a9a0 100644 --- a/content/learning-paths/servers-and-cloud-computing/memory-subsystem/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/memory-subsystem/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Advanced subjects: Performance and Architecture armips: @@ -55,3 +59,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/memory_consistency/_index.md b/content/learning-paths/servers-and-cloud-computing/memory_consistency/_index.md index 53ac133551..1e8eba03be 100644 --- a/content/learning-paths/servers-and-cloud-computing/memory_consistency/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/memory_consistency/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Julio Suarez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Advanced subjects: Performance and Architecture armips: @@ -55,3 +59,4 @@ weight: 1 layout: learningpathall learning_path_main_page: 'yes' --- + diff --git a/content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/_index.md b/content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/_index.md index 078aa543ed..18fcd51af2 100644 --- a/content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -43,3 +47,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/migrate-ease/_index.md b/content/learning-paths/servers-and-cloud-computing/migrate-ease/_index.md index 224b2c6ff1..51b056603f 100644 --- a/content/learning-paths/servers-and-cloud-computing/migrate-ease/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/migrate-ease/_index.md @@ -1,7 +1,6 @@ --- title: Migrate applications to Arm servers using migrate-ease - minutes_to_complete: 45 who_is_this_for: This is an introductory topic for developers looking to migrate applications to Arm-based servers using migrate-ease, a code analysis tool that scans source code repositories to identify architecture-specific porting issues before migration. @@ -20,6 +19,10 @@ author: - Odin Shen - Jun He +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Libraries @@ -47,10 +50,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/migration/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/migration/_index.md b/content/learning-paths/servers-and-cloud-computing/migration/_index.md index d8a14d50d5..2198c19d46 100644 --- a/content/learning-paths/servers-and-cloud-computing/migration/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/migration/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Libraries @@ -58,10 +62,10 @@ further_reading: link: https://aws.amazon.com/blogs/compute/making-your-go-workloads-up-to-20-faster-with-go-1-18-and-aws-graviton/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/milvus-rag/_index.md b/content/learning-paths/servers-and-cloud-computing/milvus-rag/_index.md index 675067c389..3af000d60e 100644 --- a/content/learning-paths/servers-and-cloud-computing/milvus-rag/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/milvus-rag/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Chen Zhang +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -37,7 +41,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Zilliz Documentation @@ -52,11 +55,10 @@ further_reading: link: https://github.com/ggerganov/llama.cpp type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/minio-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/minio-cobalt/_index.md index 577587d4f2..20c4afc740 100644 --- a/content/learning-paths/servers-and-cloud-computing/minio-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/minio-cobalt/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -61,3 +65,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/ml-perf/_index.md b/content/learning-paths/servers-and-cloud-computing/ml-perf/_index.md index a4baf68cfa..4f346b2111 100644 --- a/content/learning-paths/servers-and-cloud-computing/ml-perf/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/ml-perf/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: https://github.com/armflorentlebeau/arm-learning-paths/actions/runs/4312122327 @@ -50,10 +54,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/machine-learning-inference-on-aws-graviton3 type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mlflow-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/mlflow-axion/_index.md index 4aff0442a5..1adc1fa098 100644 --- a/content/learning-paths/servers-and-cloud-computing/mlflow-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mlflow-axion/_index.md @@ -1,6 +1,6 @@ --- title: Manage the ML lifecycle with MLflow on Google Cloud C4A Axion VM - + description: Set up MLflow on Google Cloud C4A Axion Arm VMs running SUSE Linux to track ML experiments, version models with the Model Registry, and deploy a trained model as a REST API. minutes_to_complete: 30 @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML diff --git a/content/learning-paths/servers-and-cloud-computing/mongodb-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/mongodb-on-azure/_index.md index cf421025a2..5d75b7ef29 100644 --- a/content/learning-paths/servers-and-cloud-computing/mongodb-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mongodb-on-azure/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -49,10 +53,10 @@ further_reading: link: https://azure.microsoft.com/en-us/solutions/mongodb type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mongodb-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/mongodb-on-gcp/_index.md index 2d6dc48469..f0cf055a37 100644 --- a/content/learning-paths/servers-and-cloud-computing/mongodb-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mongodb-on-gcp/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Annie Tallund +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -50,8 +54,8 @@ further_reading: link: https://github.com/brianfrankcooper/YCSB/wiki/ type: documentation - weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mongodb/_index.md b/content/learning-paths/servers-and-cloud-computing/mongodb/_index.md index ea51b4e610..2a93a6c8f2 100644 --- a/content/learning-paths/servers-and-cloud-computing/mongodb/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mongodb/_index.md @@ -3,6 +3,10 @@ title: Analyze the performance of MongoDB on Arm servers author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for software developers who want to learn how to deploy and measure MongoDB performance on Arm servers. @@ -38,7 +42,6 @@ tools_software_languages: - GCC - Runbook - further_reading: - resource: title: MongoDB Manual @@ -57,6 +60,6 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/mongodb-performance-on-aws-with-the-arm-graviton2 type: blog - weight: 1 --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mpi/_index.md b/content/learning-paths/servers-and-cloud-computing/mpi/_index.md index bb0d8b8b82..c6b091e24f 100644 --- a/content/learning-paths/servers-and-cloud-computing/mpi/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mpi/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Florent Lebeau +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -39,19 +43,16 @@ tools_software_languages: - mpi - Runbook - - further_reading: - resource: title: Parallel Programming for Science Engineering by Victor Eijkhout link: https://theartofhpc.com/pcse/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/multi-accuracy-libamath/_index.md b/content/learning-paths/servers-and-cloud-computing/multi-accuracy-libamath/_index.md index d61e186f0a..20ad058d0b 100644 --- a/content/learning-paths/servers-and-cloud-computing/multi-accuracy-libamath/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/multi-accuracy-libamath/_index.md @@ -2,8 +2,13 @@ title: Control floating-point accuracy modes in Arm Performance Libraries minutes_to_complete: 20 + author: Joana Cruz +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + who_is_this_for: This is an introductory topic for developers who want to use the different accuracy modes for vectorized math functions in Libamath, a component of Arm Performance Libraries. description: Select and apply accuracy modes for vectorized math functions in Libamath to balance performance and precision for your application. @@ -46,11 +51,10 @@ further_reading: link: https://github.com/ARM-software/optimized-routines type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/multiarch_nginx_on_aks/_index.md b/content/learning-paths/servers-and-cloud-computing/multiarch_nginx_on_aks/_index.md index 48c602c4db..c226bff6ac 100644 --- a/content/learning-paths/servers-and-cloud-computing/multiarch_nginx_on_aks/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/multiarch_nginx_on_aks/_index.md @@ -11,22 +11,25 @@ learning_objectives: - Verify nginx deployment and functionality on each architecture - Compare performance between x86 and Arm64 nginx instances - Learn techniques for deploying multi-architecture Kubernetes workloads - prerequisites: - An [Azure account](https://azure.microsoft.com/en-us/free/) - A local machine with [`jq`](https://jqlang.org/download/), [`curl`](https://curl.se/download.html), [`wrk`](https://github.com/wg/wrk), [Azure CLI](/install-guides/azure-cli/), and [`kubectl`](/install-guides/kubectl/) installed - + author: - Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization cloud_service_providers: - Microsoft Azure - + armips: - Neoverse @@ -67,3 +70,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/multiarch_ollama_on_gke/_index.md b/content/learning-paths/servers-and-cloud-computing/multiarch_ollama_on_gke/_index.md index 7865526d64..ce99aca829 100644 --- a/content/learning-paths/servers-and-cloud-computing/multiarch_ollama_on_gke/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/multiarch_ollama_on_gke/_index.md @@ -5,7 +5,6 @@ minutes_to_complete: 30 who_is_this_for: This Learning Path is for developers who want to compare the performance of amd64 and arm64 deployments by running inferences on a hybrid GKE cluster using an Ollama multi-architecture container image. - learning_objectives: - Create a hybrid GKE cluster with amd64 and arm64 nodes. - Deploy Ollama services for amd64 and arm64 architectures using a single multi-architecture container image. @@ -15,18 +14,21 @@ prerequisites: - A [Google Cloud account](https://console.cloud.google.com/). - A local machine with [Google Cloud CLI](/install-guides/gcloud/) and [kubectl](/install-guides/kubectl/) installed. - The [GKE Cloud Plugin](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#gcloud) installed. - author: - Geremy Cohen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization cloud_service_providers: - Google Cloud - + armips: - Neoverse @@ -73,14 +75,10 @@ further_reading: link: https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl type: documentation - - - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mysql-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/mysql-azure/_index.md index f6e8b14479..e040c2123c 100644 --- a/content/learning-paths/servers-and-cloud-computing/mysql-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mysql-azure/_index.md @@ -1,7 +1,6 @@ --- title: Deploy MySQL on Microsoft Azure Cobalt 100 processors - minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers migrating MySQL applications from x86_64 to Arm. @@ -17,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -30,7 +33,7 @@ tools_software_languages: - MySQL - SQL - Docker - + operatingsystems: - Linux @@ -58,3 +61,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mysql-lns-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/mysql-lns-azure/_index.md index bcd33863e2..e528dc6ab3 100644 --- a/content/learning-paths/servers-and-cloud-computing/mysql-lns-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mysql-lns-azure/_index.md @@ -15,10 +15,12 @@ learning_objectives: prerequisites: - A [Microsoft Azure](https://azure.microsoft.com/) account with access to Cobalt 100 based instances (Dpsv6) - Basic familiarity with SSH and MySQL command-line tools - - author: Doug Anson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -56,7 +58,6 @@ further_reading: link: https://github.com/akopytov/sysbench type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/mysql/_index.md b/content/learning-paths/servers-and-cloud-computing/mysql/_index.md index 235b79b0ba..9d0358ded3 100644 --- a/content/learning-paths/servers-and-cloud-computing/mysql/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mysql/_index.md @@ -14,6 +14,11 @@ prerequisites: - If you do not have an Arm node, the next section discusses some options. author: Jason Andrews + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -44,7 +49,6 @@ further_reading: link: https://docs.ansible.com/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/mysql_benchmark/_index.md b/content/learning-paths/servers-and-cloud-computing/mysql_benchmark/_index.md index 51e2c28332..5fc1c3f06b 100644 --- a/content/learning-paths/servers-and-cloud-computing/mysql_benchmark/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mysql_benchmark/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Bolt Liu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Introductory subjects: Databases cloud_service_providers: @@ -49,10 +53,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/mysql/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 layout: learningpathall learning_path_main_page: 'yes' --- + diff --git a/content/learning-paths/servers-and-cloud-computing/mysql_tune/_index.md b/content/learning-paths/servers-and-cloud-computing/mysql_tune/_index.md index 4c66347fb5..48039b70c6 100644 --- a/content/learning-paths/servers-and-cloud-computing/mysql_tune/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/mysql_tune/_index.md @@ -13,6 +13,10 @@ prerequisites: author: Julio Suarez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + skilllevels: Advanced subjects: Databases cloud_service_providers: @@ -30,7 +34,6 @@ tools_software_languages: - InnoDB - Runbook - test_images: - ubuntu:latest test_link: null @@ -52,3 +55,4 @@ weight: 1 layout: learningpathall learning_path_main_page: 'yes' --- + diff --git a/content/learning-paths/servers-and-cloud-computing/neoverse-rdv3-swstack/_index.md b/content/learning-paths/servers-and-cloud-computing/neoverse-rdv3-swstack/_index.md index 833dc52cc3..b7122f6465 100644 --- a/content/learning-paths/servers-and-cloud-computing/neoverse-rdv3-swstack/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/neoverse-rdv3-swstack/_index.md @@ -12,7 +12,7 @@ learning_objectives: - Interpret boot logs to verify bring-up and diagnose boot-stage issues - Modify platform control firmware (for example, SCP/MCP) and validate changes via pre-silicon simulation - Launch a dual-chip RD-V3-R1 simulation and verify AP/MCP coordination - + prerequisites: - Access to an Arm Neoverse-based Linux machine (cloud or local) with at least 80 GB of free storage - Familiarity with Linux command-line tools and basic scripting @@ -23,6 +23,10 @@ author: - Odin Shen - Ann Cheng +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -54,10 +58,10 @@ further_reading: link: https://git.gitlab.arm.com/infra-solutions/reference-design/infra-refdesign-manifests type: gitlab - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/net-aspire/_index.md b/content/learning-paths/servers-and-cloud-computing/net-aspire/_index.md index 96cd0d3c95..acb43668c5 100644 --- a/content/learning-paths/servers-and-cloud-computing/net-aspire/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/net-aspire/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -26,7 +30,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - .NET - C# @@ -36,7 +40,6 @@ operatingsystems: - Windows - Linux - further_reading: - resource: title: .NET Aspire Overview @@ -51,11 +54,10 @@ further_reading: link: https://cloud.google.com/products/compute/ type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/nginx-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/nginx-on-azure/_index.md index 6eba7132e3..b76a93ba4c 100644 --- a/content/learning-paths/servers-and-cloud-computing/nginx-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/nginx-on-azure/_index.md @@ -11,12 +11,15 @@ learning_objectives: - Configure and test a static website with NGINX on the virtual machine - Run baseline NGINX performance tests with ApacheBench (ab) on Ubuntu Pro 24.04 LTS Arm64 - prerequisites: - A [Microsoft Azure](https://azure.microsoft.com/) account with access to Cobalt 100 based instances (Dpsv6) author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -47,10 +50,10 @@ further_reading: link: https://docs.nginx.com/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/nginx/_index.md b/content/learning-paths/servers-and-cloud-computing/nginx/_index.md index 29f14ce283..bd9a49fb20 100644 --- a/content/learning-paths/servers-and-cloud-computing/nginx/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/nginx/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Julio Suarez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -51,10 +55,10 @@ further_reading: link: https://www.nginx.com/blog/deploying-nginx-plus-as-an-api-gateway-part-1/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/nginx_tune/_index.md b/content/learning-paths/servers-and-cloud-computing/nginx_tune/_index.md index 97032c8bf6..5594088d12 100644 --- a/content/learning-paths/servers-and-cloud-computing/nginx_tune/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/nginx_tune/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Julio Suarez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Web @@ -44,8 +48,6 @@ further_reading: title: Nginx Admin Guide link: https://docs.nginx.com/nginx/admin-guide/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -53,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/nlp-hugging-face/_index.md b/content/learning-paths/servers-and-cloud-computing/nlp-hugging-face/_index.md index c7be9fb269..5904b53d1d 100644 --- a/content/learning-paths/servers-and-cloud-computing/nlp-hugging-face/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/nlp-hugging-face/_index.md @@ -14,6 +14,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -30,7 +34,7 @@ tools_software_languages: - Python - PyTorch - Hugging Face - + further_reading: - resource: title: Hugging Face Documentation @@ -49,11 +53,10 @@ further_reading: link: https://pytorch.org/docs/stable/index.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/node-js-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/node-js-gcp/_index.md index fe438b0011..042220c681 100644 --- a/content/learning-paths/servers-and-cloud-computing/node-js-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/node-js-gcp/_index.md @@ -1,26 +1,26 @@ --- title: Deploy Node.js on Google Cloud C4A Arm-based Axion VMs - - minutes_to_complete: 30 who_is_this_for: This is an introductory topic for software developers migrating Node.js workloads from x86_64 to Arm-based servers, specifically on Google Cloud C4A virtual machines built on Axion processors. - learning_objectives: - Provision an Arm-based SUSE Linux Enterprise Server virtual machine on Google Cloud C4A instances with Axion processors - Install and configure Node.js on a SUSE Arm64 (C4A) instance - Validate Node.js functionality with baseline HTTP server tests - Benchmark Node.js performance using Autocannon on Arm64 (AArch64) architecture - prerequisites: - A [Google Cloud Platform (GCP)](https://cloud.google.com/free) account with billing enabled - Familiarity with networking concepts and [Node.js event-driven architecture](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick) author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Web @@ -61,3 +61,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/oci-terraform/_index.md b/content/learning-paths/servers-and-cloud-computing/oci-terraform/_index.md index 531dbb1244..bba9395e5a 100644 --- a/content/learning-paths/servers-and-cloud-computing/oci-terraform/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/oci-terraform/_index.md @@ -14,6 +14,10 @@ prerequisites: author: FrĆ©dĆ©ric -lefred- Descamps +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -29,7 +33,6 @@ operatingsystems: tools_software_languages: - Terraform - further_reading: - resource: title: Terraform docs for OCI @@ -40,11 +43,10 @@ further_reading: link: https://blogs.oracle.com/cloud-infrastructure/post/arm-based-cloud-computing-is-the-next-big-thing-introducing-arm-on-oracle-cloud-infrastructure type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/onnx-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/onnx-on-azure/_index.md index c7de8e0c29..fa345d1b13 100644 --- a/content/learning-paths/servers-and-cloud-computing/onnx-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/onnx-on-azure/_index.md @@ -1,7 +1,6 @@ --- title: Deploy SqueezeNet 1.0 INT8 model with ONNX Runtime on Azure Cobalt 100 - minutes_to_complete: 60 who_is_this_for: This Learning Path is for developers deploying ONNX-based applications on Arm-based machines. @@ -15,7 +14,11 @@ prerequisites: - Basic understanding of Python and machine learning concepts - Familiarity with [ONNX Runtime](https://onnxruntime.ai/docs/) and Azure cloud services -author: Pareena Verma +author: Pareena Verma + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -51,7 +54,6 @@ further_reading: link: https://onnxruntime.ai/docs/performance/tune-performance/profiling-tools.html#in-code-performance-profiling type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/onnx/_index.md b/content/learning-paths/servers-and-cloud-computing/onnx/_index.md index db04a08937..4f1878501f 100644 --- a/content/learning-paths/servers-and-cloud-computing/onnx/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/onnx/_index.md @@ -15,9 +15,12 @@ prerequisites: - Familiarity with ONNX Runtime and Azure cloud services. - Knowledge of Large Language Model (LLM) fundamentals. - author: Nobel Chowdary Mandepudi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced armips: @@ -31,7 +34,6 @@ tools_software_languages: - Python - ONNX Runtime - further_reading: - resource: title: ONNX Runtime Docs @@ -52,3 +54,4 @@ weight: 1 # _index.md always has a weight of 1 to order co layout: "learningpathall" # All files under learning paths use this wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/openbmc-rdv3/_index.md b/content/learning-paths/servers-and-cloud-computing/openbmc-rdv3/_index.md index 0f6122ee73..12564e8751 100644 --- a/content/learning-paths/servers-and-cloud-computing/openbmc-rdv3/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/openbmc-rdv3/_index.md @@ -22,6 +22,10 @@ author: - Odin Shen - Ken Zhang +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -65,3 +69,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/opencv-on-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/opencv-on-axion/_index.md index 96a87432bb..f5074152e4 100644 --- a/content/learning-paths/servers-and-cloud-computing/opencv-on-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/opencv-on-axion/_index.md @@ -1,7 +1,7 @@ --- title: Build computer vision pipelines with OpenCV on a Google Cloud C4A Axion VM description: Deploy and run OpenCV-based computer vision pipelines on Google Cloud Axion C4A Arm-based VMs, covering image processing, video pipelines, browser-based visualization, and integration with machine learning models. - + minutes_to_complete: 45 who_is_this_for: This is an introductory topic for DevOps engineers, software developers, and AI practitioners who want to build and run computer vision pipelines on SUSE Linux Enterprise Server (SLES) Arm64 using OpenCV, process images and videos, visualize outputs in real time, and integrate ML models. @@ -20,6 +20,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML diff --git a/content/learning-paths/servers-and-cloud-computing/openebs-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/openebs-cobalt/_index.md index 0245416aec..1fe928bf9c 100644 --- a/content/learning-paths/servers-and-cloud-computing/openebs-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/openebs-cobalt/_index.md @@ -2,7 +2,7 @@ title: Use OpenEBS for Kubernetes-native persistent storage on Azure Cobalt 100-based Arm64 virtual machines description: Learn how to install and configure OpenEBS LocalPV on an Arm64 virtual machine powered by Azure Cobalt 100 using K3s Kubernetes, provision persistent storage dynamically, deploy stateful applications, and validate persistent storage functionality. - + minutes_to_complete: 60 who_is_this_for: This is an introductory topic for DevOps engineers, platform engineers, cloud-native developers, and Kubernetes administrators who want to deploy lightweight Kubernetes-native persistent storage on Arm-based cloud infrastructure. @@ -21,6 +21,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization diff --git a/content/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/_index.md index f4dcc75cdb..b2b7003fcc 100644 --- a/content/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Doug Anson +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -59,4 +63,4 @@ further_reading: weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. ---- \ No newline at end of file +--- diff --git a/content/learning-paths/servers-and-cloud-computing/openrng-with-performix/_index.md b/content/learning-paths/servers-and-cloud-computing/openrng-with-performix/_index.md index 0d06231e55..f8d0157032 100644 --- a/content/learning-paths/servers-and-cloud-computing/openrng-with-performix/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/openrng-with-performix/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -51,4 +55,5 @@ further_reading: weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. ---- \ No newline at end of file +--- + diff --git a/content/learning-paths/servers-and-cloud-computing/openshift/_index.md b/content/learning-paths/servers-and-cloud-computing/openshift/_index.md index 45e9301f9a..7661d961d5 100644 --- a/content/learning-paths/servers-and-cloud-computing/openshift/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/openshift/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jeff Young +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + # Tags skilllevels: Advanced subjects: CI-CD @@ -57,3 +61,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/openstack-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/openstack-on-azure/_index.md index 05c955e7ca..30d810bf29 100644 --- a/content/learning-paths/servers-and-cloud-computing/openstack-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/openstack-on-azure/_index.md @@ -2,7 +2,6 @@ title: Deploy OpenStack on Azure Cobalt 100 Arm64 Virtual Machine description: Deploy OpenStack on Azure Cobalt 100 Arm64 virtual machines using DevStack for development and Kolla-Ansible for containerized production deployments. - minutes_to_complete: 90 who_is_this_for: This learning path is designed for developers, DevOps engineers, and platform engineers who want to deploy and manage OpenStack on Arm-based cloud environments using Kolla-Ansible and DevStack. @@ -23,6 +22,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -66,3 +69,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/opentelemetry/_index.md b/content/learning-paths/servers-and-cloud-computing/opentelemetry/_index.md index 20b563b6d4..ccfa58e2b2 100644 --- a/content/learning-paths/servers-and-cloud-computing/opentelemetry/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/opentelemetry/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -55,12 +59,12 @@ further_reading: title: Prometheus documentation link: https://prometheus.io/docs/introduction/overview/ type: documentation - + - resource: title: Jaeger documentation link: https://www.jaegertracing.io/docs/ type: documentation - + - resource: title: Docker documentation link: https://docs.docker.com/ @@ -70,3 +74,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: yes --- + diff --git a/content/learning-paths/servers-and-cloud-computing/pac/_index.md b/content/learning-paths/servers-and-cloud-computing/pac/_index.md index f635ab6a56..7db500c381 100644 --- a/content/learning-paths/servers-and-cloud-computing/pac/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/pac/_index.md @@ -13,10 +13,13 @@ learning_objectives: prerequisites: - An Arm based instance from a cloud service provider, or an on-premise Arm server. - If needed, review [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/) to learn how to deploy Arm in the cloud. These learning paths also point to more advanced learning paths that show how to automate the deployment of Arm instances at different cloud providers. - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -32,7 +35,6 @@ operatingsystems: tools_software_languages: - Runbook - further_reading: - resource: title: Learn the architecture - Providing protection for complex software @@ -61,3 +63,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/performix-mcp-agent/_index.md b/content/learning-paths/servers-and-cloud-computing/performix-mcp-agent/_index.md index d60e5915c8..2b6db6eb98 100644 --- a/content/learning-paths/servers-and-cloud-computing/performix-mcp-agent/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/performix-mcp-agent/_index.md @@ -18,8 +18,13 @@ prerequisites: - Access to an Arm-based cloud instance running Linux, such as an AWS Graviton3 instance - Access to Arm Performix configured with the remote Arm target. See the [Arm Performix install guide](/install-guides/performix/) for setup instructions - Basic understanding of C++ + author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -33,8 +38,6 @@ tools_software_languages: operatingsystems: - Linux - - further_reading: - resource: title: Find code hotspots with Arm Performix @@ -57,11 +60,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/performix-microarchitecture/ type: learning-path - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/performix-memory-access/_index.md b/content/learning-paths/servers-and-cloud-computing/performix-memory-access/_index.md index 70da52675d..8aed6223be 100644 --- a/content/learning-paths/servers-and-cloud-computing/performix-memory-access/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/performix-memory-access/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture diff --git a/content/learning-paths/servers-and-cloud-computing/performix-microarchitecture/_index.md b/content/learning-paths/servers-and-cloud-computing/performix-microarchitecture/_index.md index 8e8adb5de5..eb465842cf 100644 --- a/content/learning-paths/servers-and-cloud-computing/performix-microarchitecture/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/performix-microarchitecture/_index.md @@ -1,7 +1,6 @@ --- title: Optimize application performance using Arm Performix CPU microarchitecture analysis - minutes_to_complete: 60 who_is_this_for: This is an introductory topic for software developers who want to learn performance analysis methodologies for Linux applications on Arm Neoverse-based servers. @@ -18,9 +17,13 @@ prerequisites: - Basic understanding of CPU performance concepts author: -- Brendan Long -- Kieran Hejmadi -- Jason Andrews + - Brendan Long + - Kieran Hejmadi + - Jason Andrews + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -55,3 +58,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/performix-system-characterization/_index.md b/content/learning-paths/servers-and-cloud-computing/performix-system-characterization/_index.md index 024bd8c5c6..8218557974 100644 --- a/content/learning-paths/servers-and-cloud-computing/performix-system-characterization/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/performix-system-characterization/_index.md @@ -13,11 +13,15 @@ learning_objectives: - Locate and interpret the generated plots and raw benchmark data in the output directory prerequisites: - - An Arm Linux target machine accessible via SSH to characterize. + - A Arm Linux target machine accessible via SSH to characterize. author: -- Brendan Long -- David Wong + - Brendan Long + - David Wong + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory diff --git a/content/learning-paths/servers-and-cloud-computing/php-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/php-on-gcp/_index.md index d21dfdc3aa..35d8e0755b 100644 --- a/content/learning-paths/servers-and-cloud-computing/php-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/php-on-gcp/_index.md @@ -1,7 +1,6 @@ --- title: Deploy PHP on Google Cloud C4A Arm-based Axion VMs - minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers migrating Hypertext Preprocessor (PHP) workloads from x86_64 to Arm-based servers, specifically on Google Cloud C4A virtual machines (VM) built on Axion processors. @@ -12,12 +11,16 @@ learning_objectives: - Validate PHP functionality by running baseline HTTP server tests - Benchmark PHP performance using PHPBench on Arm64 architecture - prerequisites: - A [Google Cloud Platform (GCP)](https://cloud.google.com/free) account with billing enabled - Basic familiarity with web servers and PHP scripting + author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Web @@ -58,3 +61,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/pinning-threads/_index.md b/content/learning-paths/servers-and-cloud-computing/pinning-threads/_index.md index 9723089cad..92be487ae9 100644 --- a/content/learning-paths/servers-and-cloud-computing/pinning-threads/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/pinning-threads/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -60,11 +64,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/csp/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/_index.md b/content/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/_index.md index 5605a590b1..79c95aa486 100644 --- a/content/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/_index.md @@ -1,5 +1,4 @@ --- - title: Implement Code level Performance Analysis using the PMUv3 plugin minutes_to_complete: 60 @@ -18,6 +17,10 @@ prerequisites: author: Gayathri Narayana Yegna Narayanan +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -32,7 +35,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Arm Neoverse N2 PMU Guide @@ -47,10 +49,10 @@ further_reading: link: https://developer.arm.com/documentation/109215/0200/?lang=en type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/_index.md index e3bf304229..c90ea2d91d 100644 --- a/content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + description: Deploy PostgreSQL on Azure Cobalt 100 Arm64 virtual machines, load a relational schema with transactional data, and benchmark and optimize query performance using pgbench and pg_stat_statements. ### Tags @@ -62,3 +66,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/postgresql/_index.md b/content/learning-paths/servers-and-cloud-computing/postgresql/_index.md index 3937b08cb4..e87d7068c8 100644 --- a/content/learning-paths/servers-and-cloud-computing/postgresql/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/postgresql/_index.md @@ -14,6 +14,11 @@ prerequisites: - If you do not have an Arm node, the next section discusses some options. author: Jason Andrews + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -41,7 +46,6 @@ further_reading: link: https://docs.ansible.com/ type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly @@ -49,5 +53,3 @@ layout: "learningpathall" # All files under learning paths have this same learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- - - diff --git a/content/learning-paths/servers-and-cloud-computing/postgresql_tune/_index.md b/content/learning-paths/servers-and-cloud-computing/postgresql_tune/_index.md index e86f03a5ea..5f82f3de57 100644 --- a/content/learning-paths/servers-and-cloud-computing/postgresql_tune/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/postgresql_tune/_index.md @@ -13,6 +13,10 @@ prerequisites: author: Julio Suarez +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_maintenance: true @@ -35,7 +39,6 @@ tools_software_languages: - HammerDB - Runbook - further_reading: - resource: title: PostgreSQL documentation @@ -46,10 +49,10 @@ further_reading: link: https://dev.to/aws-heroes/postgresql-on-arm-default-page-size-matters-2n7a type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/processwatch/_index.md b/content/learning-paths/servers-and-cloud-computing/processwatch/_index.md index 90e8a303dd..f2ba94c87e 100644 --- a/content/learning-paths/servers-and-cloud-computing/processwatch/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/processwatch/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Graham Woodward +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -32,7 +36,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Perf for Linux on Arm (LinuxPerf) @@ -43,10 +46,10 @@ further_reading: link: https://github.com/capstone-engine/capstone type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/profiling-for-neoverse/_index.md b/content/learning-paths/servers-and-cloud-computing/profiling-for-neoverse/_index.md index 61dafba20a..d33de9e4fa 100644 --- a/content/learning-paths/servers-and-cloud-computing/profiling-for-neoverse/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/profiling-for-neoverse/_index.md @@ -14,6 +14,10 @@ prerequisites: author: Julie Gaskin +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -26,7 +30,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Streamline CLI Tools User Guide @@ -41,11 +44,10 @@ further_reading: link: https://www.arm.com/products/development-tools/performance/streamline-cli type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/_index.md index dffca64bc8..7ca6ce4d0f 100644 --- a/content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/_index.md @@ -10,8 +10,13 @@ learning_objectives: - Install Puppet on a SUSE Arm64 C4A instance - Verify Puppet by applying a test manifest and confirming successful resource creation on Arm64 - Benchmark Puppet by measuring catalog compile time, apply speed, and resource usage on Arm64 + author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + prerequisites: - A [Google Cloud Platform (GCP)](https://cloud.google.com/free) account with billing enabled - Basic familiarity with [Puppet](https://www.puppet.com/) @@ -52,3 +57,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/pytorch-llama/_index.md b/content/learning-paths/servers-and-cloud-computing/pytorch-llama/_index.md index d61d0e6efc..ab3e53096f 100644 --- a/content/learning-paths/servers-and-cloud-computing/pytorch-llama/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/pytorch-llama/_index.md @@ -20,6 +20,10 @@ author: - Pareena Verma - Nobel Chowdary Mandepudi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -57,11 +61,10 @@ further_reading: link: https://pytorch.org/docs/stable/index.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/qdrant-on-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/qdrant-on-axion/_index.md index ed8e0aec57..44ed13f627 100644 --- a/content/learning-paths/servers-and-cloud-computing/qdrant-on-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/qdrant-on-axion/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -63,8 +67,9 @@ further_reading: title: Vector Databases Explained link: https://qdrant.tech/articles/what-is-a-vector-database/ type: documentation - + weight: 1 layout: "learningpathall" learning_path_main_page: yes --- + diff --git a/content/learning-paths/servers-and-cloud-computing/quantlib/_index.md b/content/learning-paths/servers-and-cloud-computing/quantlib/_index.md index 8450e5ce05..50d42304f3 100644 --- a/content/learning-paths/servers-and-cloud-computing/quantlib/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/quantlib/_index.md @@ -1,6 +1,6 @@ --- title: Benchmark QuantLib on Azure Cobalt - + description: Learn how to build QuantLib on an Arm-based Azure Cobalt virtual machine and run benchmark workloads to evaluate performance on Arm64 cloud infrastructure. minutes_to_complete: 60 @@ -21,6 +21,8 @@ prerequisites: author: Chris Moroney generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Advanced diff --git a/content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/_index.md index e413aa9de4..c7802dfb63 100644 --- a/content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -68,3 +72,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/rag/_index.md b/content/learning-paths/servers-and-cloud-computing/rag/_index.md index 530fe9e21b..a71e97e8e1 100644 --- a/content/learning-paths/servers-and-cloud-computing/rag/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/rag/_index.md @@ -21,6 +21,10 @@ prerequisites: author: Nobel Chowdary Mandepudi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced armips: @@ -51,11 +55,10 @@ further_reading: link: https://blogs.oracle.com/ai-and-datascience/post/democratizing-generative-ai-with-cpu-based-inference type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/ran/_index.md b/content/learning-paths/servers-and-cloud-computing/ran/_index.md index 17c923bae1..b67014d269 100644 --- a/content/learning-paths/servers-and-cloud-computing/ran/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/ran/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 15 who_is_this_for: This is an introductory topic for software developers new to the Arm RAN Acceleration Library (ArmRAL). - learning_objectives: - Build and install the Arm RAN Acceleration Library - Test the capabilities of your platform @@ -17,6 +16,10 @@ prerequisites: author: Ronan Synnott +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: null @@ -53,10 +56,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/arm-ral-is-now-open-source type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/ray-on-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/ray-on-axion/_index.md index 29ea132d25..b2475672df 100644 --- a/content/learning-paths/servers-and-cloud-computing/ray-on-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/ray-on-axion/_index.md @@ -1,7 +1,7 @@ --- title: Scale AI workloads with Ray on Google Cloud C4A Axion VM description: Deploy and run distributed AI workloads using Ray on Google Cloud Axion C4A Arm-based VMs, covering parallel tasks, hyperparameter tuning, and model serving with Ray Core, Train, Tune, and Serve. - + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for DevOps engineers, ML engineers, and software developers who want to deploy and run distributed workloads using Ray on SUSE Linux Enterprise Server (SLES) Arm64, execute parallel tasks, perform hyperparameter tuning, and serve models at scale. @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML @@ -59,3 +63,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: yes --- + diff --git a/content/learning-paths/servers-and-cloud-computing/redis-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/redis-cobalt/_index.md index 132629be1d..d2c629b2ec 100644 --- a/content/learning-paths/servers-and-cloud-computing/redis-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/redis-cobalt/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags ### Tags skilllevels: Introductory @@ -61,3 +65,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/redis-data-searching/_index.md b/content/learning-paths/servers-and-cloud-computing/redis-data-searching/_index.md index b979afbda1..4e70415280 100644 --- a/content/learning-paths/servers-and-cloud-computing/redis-data-searching/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/redis-data-searching/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -56,3 +60,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/redis/_index.md b/content/learning-paths/servers-and-cloud-computing/redis/_index.md index 21d2ccff3d..4674cedfe5 100644 --- a/content/learning-paths/servers-and-cloud-computing/redis/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/redis/_index.md @@ -15,6 +15,11 @@ prerequisites: - If you do not have an Arm node, the next section discusses some options. author: Elham Harirpoush + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -31,15 +36,12 @@ tools_software_languages: - Redis - Runbook - further_reading: - resource: title: Redis documentation link: https://redis.io/docs/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/redis_cache/_index.md b/content/learning-paths/servers-and-cloud-computing/redis_cache/_index.md index 3e202dbdfd..8204a21e4b 100644 --- a/content/learning-paths/servers-and-cloud-computing/redis_cache/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/redis_cache/_index.md @@ -13,9 +13,14 @@ prerequisites: - An Amazon Web Services (AWS) [account](https://aws.amazon.com/) - An Azure portal [account](https://azure.microsoft.com/en-in/get-started/azure-portal) - A Google Cloud [account](https://console.cloud.google.com/) - - A machine with [Terraform](/install-guides/terraform/), [AWS CLI](/install-guides/aws-cli/), [Google Cloud CLI](/install-guides/gcloud/), [Azure CLI](/install-guides/azure-cli/), [AWS IAM authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html), and [Ansible](/install-guides/ansible/) installed + - A machine with [Terraform](/install-guides/terraform/), [AWS CLI](/install-guides/aws-cli), [Google Cloud CLI](/install-guides/gcloud), [Azure CLI](/install-guides/azure-cli), [AWS IAM authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html), and [Ansible](/install-guides/ansible/) installed author: Jason Andrews + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Databases @@ -35,18 +40,16 @@ tools_software_languages: - MySQL - Runbook - further_reading: - resource: title: Redis documentation link: https://redis.io/docs/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/redis_tune/_index.md b/content/learning-paths/servers-and-cloud-computing/redis_tune/_index.md index 24b1fb849f..b8ce1f3749 100644 --- a/content/learning-paths/servers-and-cloud-computing/redis_tune/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/redis_tune/_index.md @@ -18,6 +18,10 @@ author: - Elham Harirpoush - Kelsey Steele +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Databases @@ -41,11 +45,10 @@ further_reading: link: https://redis.io/docs/ type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/refinfra-debug/_index.md b/content/learning-paths/servers-and-cloud-computing/refinfra-debug/_index.md index fdea0ad482..7a9ca423b7 100644 --- a/content/learning-paths/servers-and-cloud-computing/refinfra-debug/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/refinfra-debug/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Daniel Nguyen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -41,3 +45,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/refinfra-quick-start/_index.md b/content/learning-paths/servers-and-cloud-computing/refinfra-quick-start/_index.md index 53598fecaa..92b2325b5c 100644 --- a/content/learning-paths/servers-and-cloud-computing/refinfra-quick-start/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/refinfra-quick-start/_index.md @@ -19,6 +19,10 @@ author: - Tom Pilar - Daniel Nguyen +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -33,17 +37,16 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Neoverse Reference Design Platform Software Documentation link: https://neoverse-reference-design.docs.arm.com/en/latest/index.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/reproducible-libamath/_index.md b/content/learning-paths/servers-and-cloud-computing/reproducible-libamath/_index.md index a6eb3bd9a5..74b220e90e 100644 --- a/content/learning-paths/servers-and-cloud-computing/reproducible-libamath/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/reproducible-libamath/_index.md @@ -2,8 +2,13 @@ title: Enable reproducible math functions across vector extensions with Arm Performance Libraries minutes_to_complete: 10 + author: Joana Cruz +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + who_is_this_for: This is an introductory topic for developers who want to produce reproducible code across vector extensions using math functions in Libamath, a component of Arm Performance Libraries. learning_objectives: @@ -43,10 +48,10 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/multi-accuracy-libamath/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/rme-cca-basics/_index.md b/content/learning-paths/servers-and-cloud-computing/rme-cca-basics/_index.md index 78ef4179a6..e68799646c 100644 --- a/content/learning-paths/servers-and-cloud-computing/rme-cca-basics/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/rme-cca-basics/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -30,7 +34,6 @@ tools_software_languages: - CCA - Runbook - further_reading: - resource: title: Arm Confidential Compute Architecture @@ -45,10 +48,10 @@ further_reading: link: https://developer.arm.com/documentation/den0126 type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/rtp-llm/_index.md b/content/learning-paths/servers-and-cloud-computing/rtp-llm/_index.md index d81741888e..44f9a0241b 100644 --- a/content/learning-paths/servers-and-cloud-computing/rtp-llm/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/rtp-llm/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Tianyu Li +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -55,9 +59,6 @@ further_reading: title: Get started with Arm-based cloud instances link: /learning-paths/servers-and-cloud-computing/csp/ type: website - - - ### FIXED, DO NOT MODIFY # ================================================================================ @@ -65,3 +66,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/ruby-on-rails/_index.md b/content/learning-paths/servers-and-cloud-computing/ruby-on-rails/_index.md index 81d7ae18f4..34dc1cbd48 100644 --- a/content/learning-paths/servers-and-cloud-computing/ruby-on-rails/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/ruby-on-rails/_index.md @@ -11,13 +11,16 @@ learning_objectives: - Validate Ruby on Rails functionality using PostgreSQL as the database - Benchmark Rails performance using the built-in Ruby Benchmark library on Arm64 (Aarch64) architecture - prerequisites: - A [Google Cloud Platform (GCP)](https://cloud.google.com/free) account with billing enabled - Basic familiarity with Ruby programming, the Rails framework, and the [PostgreSQL Relational Database](https://www.postgresql.org/) author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -58,3 +61,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/rust-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/rust-on-gcp/_index.md index 50a5485bf6..c16f0a167c 100644 --- a/content/learning-paths/servers-and-cloud-computing/rust-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/rust-on-gcp/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -49,7 +53,7 @@ further_reading: title: Rust documentation link: https://doc.rust-lang.org/stable/ type: documentation - + - resource: title: Cargo bench documentation link: https://doc.rust-lang.org/cargo/commands/cargo-bench.html @@ -59,3 +63,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/sentiment-analysis-eks/_index.md b/content/learning-paths/servers-and-cloud-computing/sentiment-analysis-eks/_index.md index 14432138bc..573fae8c95 100644 --- a/content/learning-paths/servers-and-cloud-computing/sentiment-analysis-eks/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/sentiment-analysis-eks/_index.md @@ -20,6 +20,10 @@ author: - Nobel Chowdary Mandepudi - Na Li +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Containers and Virtualization @@ -33,7 +37,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: EKS documentation @@ -44,12 +47,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/-arm-neoverse-based-kubernetes-clusters type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-intro/_index.md b/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-intro/_index.md index 4f2cf849fb..aa6e3ace2a 100644 --- a/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-intro/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-intro/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -23,7 +27,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - Node.js - Visual Studio Code @@ -31,7 +35,6 @@ tools_software_languages: operatingsystems: - Windows - further_reading: - resource: title: Serverless Framework @@ -46,11 +49,10 @@ further_reading: link: https://aws.amazon.com/lambda/ type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-lambda-dynamodb/_index.md b/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-lambda-dynamodb/_index.md index c637c0ca08..956cbed1cf 100644 --- a/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-lambda-dynamodb/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-lambda-dynamodb/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -24,7 +28,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - Node.js - Visual Studio Code @@ -34,7 +38,6 @@ operatingsystems: - Windows - macOS - further_reading: - resource: title: Terraform on Azure @@ -49,11 +52,10 @@ further_reading: link: https://learn.microsoft.com/en-us/azure/bastion/bastion-overview type: Documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-s3/_index.md b/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-s3/_index.md index ad60326a1d..b0c4159caf 100644 --- a/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-s3/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/serverless-framework-aws-s3/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Dawid Borycki +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Web @@ -24,7 +28,7 @@ cloud_service_providers: armips: - Neoverse - + tools_software_languages: - Node.js - Visual Studio Code @@ -34,7 +38,6 @@ operatingsystems: - Windows - macOS - further_reading: - resource: title: Serverless Framework @@ -49,10 +52,10 @@ further_reading: link: https://aws.amazon.com/lambda/ type: Documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/snappy/_index.md b/content/learning-paths/servers-and-cloud-computing/snappy/_index.md index f1d99399bf..41b2ab982e 100644 --- a/content/learning-paths/servers-and-cloud-computing/snappy/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/snappy/_index.md @@ -6,7 +6,6 @@ minutes_to_complete: 10 who_is_this_for: This is an introductory topic for software developers using compression libraries on Arm servers. - learning_objectives: - Install and run lzbench with snappy and zstd - Measure compression library performance running on 64-bit Arm AWS EC2 instance @@ -17,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: https://github.com/armflorentlebeau/arm-learning-paths/actions/runs/4312122327 @@ -52,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/_index.md b/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/_index.md index fce28125a7..e4a1c0e01e 100644 --- a/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/_index.md @@ -13,10 +13,13 @@ learning_objectives: prerequisites: - An Arm-based instance from a cloud provider, or an Arm server running Ubuntu 20.04 or 22.04. - A basic understanding of Snort's operation and configuration. - author: Preema Merlin Dsouza +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Libraries @@ -45,10 +48,10 @@ further_reading: link: https://files.techmahindra.com/static/img/pdf/next-generation-firewall.pdf type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/spark-on-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/spark-on-azure/_index.md index 59c9669d88..6146482155 100644 --- a/content/learning-paths/servers-and-cloud-computing/spark-on-azure/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/spark-on-azure/_index.md @@ -18,6 +18,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -31,7 +35,7 @@ tools_software_languages: - Apache Spark - Python - Docker - + operatingsystems: - Linux @@ -63,3 +67,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/spark-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/spark-on-gcp/_index.md index f017a4288c..9664ee41dd 100644 --- a/content/learning-paths/servers-and-cloud-computing/spark-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/spark-on-gcp/_index.md @@ -1,6 +1,6 @@ --- title: Deploy Apache Spark on Google Axion processors - + minutes_to_complete: 60 who_is_this_for: This introductory topic is for software developers interested in migrating their Apache Spark workloads from x86_64 platforms to Arm-based platforms, specifically on Google Axion–based C4A virtual machines. @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -57,4 +61,3 @@ layout: "learningpathall" # All files under learning paths have this same learning_path_main_page: "yes" # Indicates this should be surfaced when looking for related content. Only set for _index.md of learning path content. --- - diff --git a/content/learning-paths/servers-and-cloud-computing/spark-velox-cobalt/_index.md b/content/learning-paths/servers-and-cloud-computing/spark-velox-cobalt/_index.md index 51f7af0399..6bd95643b1 100644 --- a/content/learning-paths/servers-and-cloud-computing/spark-velox-cobalt/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/spark-velox-cobalt/_index.md @@ -17,9 +17,12 @@ learning_objectives: prerequisites: - A [Microsoft Azure account](https://azure.microsoft.com/) with access to Cobalt 100 based instances (Dpsv6) - Basic understanding of distributed systems and Apache Spark - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -36,7 +39,6 @@ tools_software_languages: - Gluten - Velox - operatingsystems: - Linux diff --git a/content/learning-paths/servers-and-cloud-computing/spark/_index.md b/content/learning-paths/servers-and-cloud-computing/spark/_index.md index 904a80cf16..fb99da305f 100644 --- a/content/learning-paths/servers-and-cloud-computing/spark/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/spark/_index.md @@ -8,12 +8,17 @@ who_is_this_for: This is an advanced topic for anyone who wants to deploy Spark learning_objectives: - Automate Spark EC2 instance creation using Terraform and Ansible - Deploy a single instance of Spark on AWS Graviton2 - + prerequisites: - An Amazon Web Services (AWS) [account](https://aws.amazon.com/) - A machine with [Terraform](/install-guides/terraform/), [AWS CLI](/install-guides/aws-cli/), [AWS IAM authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html), and [Ansible](/install-guides/ansible/) installed author: Jason Andrews + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Databases @@ -38,7 +43,6 @@ further_reading: link: https://aws.amazon.com/blogs/big-data/achieve-up-to-27-better-price-performance-for-spark-workloads-with-aws-graviton2-on-amazon-emr-serverless/ type: blog - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly @@ -46,5 +50,3 @@ layout: "learningpathall" # All files under learning paths have this same learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- - - diff --git a/content/learning-paths/servers-and-cloud-computing/spe-on-performix/_index.md b/content/learning-paths/servers-and-cloud-computing/spe-on-performix/_index.md index d89d0abdf7..0340cd7628 100644 --- a/content/learning-paths/servers-and-cloud-computing/spe-on-performix/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/spe-on-performix/_index.md @@ -20,6 +20,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -59,8 +63,6 @@ further_reading: link: https://learn.arm.com/learning-paths/servers-and-cloud-computing/false-sharing-arm-spe/ type: learning-path - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/supervisord/_index.md b/content/learning-paths/servers-and-cloud-computing/supervisord/_index.md index 5fbbca7a44..03d3cbd640 100644 --- a/content/learning-paths/servers-and-cloud-computing/supervisord/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/supervisord/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -30,7 +34,7 @@ tools_software_languages: - Docker - Remote.It - Supervisor - + further_reading: - resource: title: Run multiple processes in a container @@ -45,11 +49,10 @@ further_reading: link: https://dev.to/pratapkute/multiple-services-in-a-docker-container-with-supervisord-2g13 type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/sve/_index.md b/content/learning-paths/servers-and-cloud-computing/sve/_index.md index 5a43876fff..f76b88d875 100644 --- a/content/learning-paths/servers-and-cloud-computing/sve/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/sve/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Florent Lebeau +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -63,11 +67,10 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/optimizing-hpcg-for-arm-sve type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/sve2-match/_index.md b/content/learning-paths/servers-and-cloud-computing/sve2-match/_index.md index 8f0adad89a..fdd0e42f31 100644 --- a/content/learning-paths/servers-and-cloud-computing/sve2-match/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/sve2-match/_index.md @@ -1,12 +1,10 @@ --- title: Accelerate search performance with SVE2 MATCH on Arm servers - minutes_to_complete: 20 who_is_this_for: This is an introductory topic for database developers, performance engineers, and anyone optimizing data processing workloads on Arm-based cloud instances. - learning_objectives: - Understand the purpose and function of SVE2 MATCH instructions. - Implement a search algorithm using both scalar and SVE2-based MATCH approaches. @@ -18,6 +16,9 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false ### Tags skilllevels: Introductory @@ -51,3 +52,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/sysreport/_index.md b/content/learning-paths/servers-and-cloud-computing/sysreport/_index.md index a1fa7ec098..7dc4891517 100644 --- a/content/learning-paths/servers-and-cloud-computing/sysreport/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/sysreport/_index.md @@ -15,6 +15,10 @@ prerequisites: author: James Whitaker +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -33,7 +37,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: Perf for Linux on Arm (LinuxPerf) @@ -48,10 +51,10 @@ further_reading: link: /install-guides/ams/ type: website - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/tensorflow-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/tensorflow-gcp/_index.md index 6a16182926..520c0dd8a7 100644 --- a/content/learning-paths/servers-and-cloud-computing/tensorflow-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/tensorflow-gcp/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML @@ -54,3 +58,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/thirdai-sentiment-analysis/_index.md b/content/learning-paths/servers-and-cloud-computing/thirdai-sentiment-analysis/_index.md index a382ac0ed9..10d6fd48e0 100644 --- a/content/learning-paths/servers-and-cloud-computing/thirdai-sentiment-analysis/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/thirdai-sentiment-analysis/_index.md @@ -14,6 +14,10 @@ prerequisites: author: ThirdAI +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -30,7 +34,6 @@ tools_software_languages: operatingsystems: - Linux - further_reading: - resource: title: ThirdAI Demos Repository @@ -41,11 +44,10 @@ further_reading: link: https://www.thirdai.com type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/timescaledb-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/timescaledb-on-gcp/_index.md index 38457558a2..eba5272c64 100644 --- a/content/learning-paths/servers-and-cloud-computing/timescaledb-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/timescaledb-on-gcp/_index.md @@ -1,6 +1,6 @@ --- title: Deploy a live sensor dashboard with TimescaleDB and Grafana on Google Cloud C4A - + minutes_to_complete: 45 who_is_this_for: This is an introductory topic for DevOps engineers, database engineers, and software developers who want to deploy and operate TimescaleDB on SUSE Linux Enterprise Server (SLES) Arm64, ingest live time-series sensor data, and visualize it in Grafana. @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Databases @@ -66,4 +70,3 @@ layout: "learningpathall" learning_path_main_page: yes --- - diff --git a/content/learning-paths/servers-and-cloud-computing/top-down-n1/_index.md b/content/learning-paths/servers-and-cloud-computing/top-down-n1/_index.md index 9edf15ab66..4422e19957 100644 --- a/content/learning-paths/servers-and-cloud-computing/top-down-n1/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/top-down-n1/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -26,7 +30,6 @@ tools_software_languages: - Telemetry - Runbook - operatingsystems: - Linux @@ -48,10 +51,10 @@ further_reading: link: https://www.amazon.com/Computer-Architecture-Quantitative-John-Hennessy/dp/012383872X type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/torchbench/_index.md b/content/learning-paths/servers-and-cloud-computing/torchbench/_index.md index 532d80c30a..d60538f464 100644 --- a/content/learning-paths/servers-and-cloud-computing/torchbench/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/torchbench/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -49,11 +53,10 @@ further_reading: link: https://pytorch.org/docs/stable/index.html type: documentation - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events-2/_index.md b/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events-2/_index.md index af5b873cd0..e4b12c3173 100644 --- a/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events-2/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events-2/_index.md @@ -8,13 +8,17 @@ who_is_this_for: This is an advanced topic for software and hardware engineers t learning_objectives: - Describe common non-cache PMU events. - Understand why specific code triggers specific PMU events on the Neoverse N2 Core. - + prerequisites: - Some familiarity with performance analysis. - The ability to read Arm assembly code. author: Johanna Skinnider +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -27,8 +31,6 @@ tools_software_languages: - Assembly - Runbook - - further_reading: - resource: title: Arm Neoverse N2 PMU Guide @@ -43,12 +45,10 @@ further_reading: link: https://developer.arm.com/documentation/109215/0200/?lang=en type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events/_index.md b/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events/_index.md index 2decd7e628..adac08bd46 100644 --- a/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/triggering-pmu-events/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Johanna Skinnider +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -28,8 +32,6 @@ tools_software_languages: - Assembly - Runbook - - further_reading: - resource: title: Arm Neoverse N2 PMU Guide @@ -44,12 +46,10 @@ further_reading: link: https://developer.arm.com/documentation/109215/0200/?lang=en type: documentation - - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/trivy-on-gcpp/_index.md b/content/learning-paths/servers-and-cloud-computing/trivy-on-gcpp/_index.md index e08910024c..4266a9b27f 100644 --- a/content/learning-paths/servers-and-cloud-computing/trivy-on-gcpp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/trivy-on-gcpp/_index.md @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Containers and Virtualization @@ -65,3 +69,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/tune-network-workloads-on-bare-metal/_index.md b/content/learning-paths/servers-and-cloud-computing/tune-network-workloads-on-bare-metal/_index.md index bb1bd43778..fcd0f88a68 100644 --- a/content/learning-paths/servers-and-cloud-computing/tune-network-workloads-on-bare-metal/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/tune-network-workloads-on-bare-metal/_index.md @@ -22,6 +22,10 @@ author: - Ker Liu - Rui Chang +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Advanced subjects: Performance and Architecture @@ -51,3 +55,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/typescript-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/typescript-on-gcp/_index.md index 8ca2cab57f..afd089e324 100644 --- a/content/learning-paths/servers-and-cloud-computing/typescript-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/typescript-on-gcp/_index.md @@ -1,6 +1,6 @@ --- title: Deploy TypeScript on Google Cloud C4A virtual machines - + minutes_to_complete: 30 who_is_this_for: This is an introductory topic for developers deploying and optimizing TypeScript workloads on Arm64 Linux environments, specifically using Google Cloud C4A virtual machines powered by Axion processors. @@ -15,9 +15,12 @@ prerequisites: - A [Google Cloud Platform (GCP)](https://cloud.google.com/free) account with billing enabled - Basic familiarity with [TypeScript](https://www.typescriptlang.org/) and Node.js runtime environment - author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: Web @@ -58,3 +61,4 @@ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/using-and-porting-performance-libs/_index.md b/content/learning-paths/servers-and-cloud-computing/using-and-porting-performance-libs/_index.md index 92be71c700..25c0540140 100644 --- a/content/learning-paths/servers-and-cloud-computing/using-and-porting-performance-libs/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/using-and-porting-performance-libs/_index.md @@ -15,6 +15,10 @@ prerequisites: author: Kieran Hejmadi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Performance and Architecture @@ -48,3 +52,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/vLLM-quant/_index.md b/content/learning-paths/servers-and-cloud-computing/vLLM-quant/_index.md index 3800c186d8..cdd48d47aa 100644 --- a/content/learning-paths/servers-and-cloud-computing/vLLM-quant/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/vLLM-quant/_index.md @@ -16,16 +16,18 @@ learning_objectives: - Launch a vLLM server to serve the quantized model. - Run single-prompt and batch inference using the vLLM OpenAI-compatible API. - prerequisites: - An Arm-based server or cloud instance running with at least 32 CPU cores, 64 GB RAM, and 32 GB of available disk space. - Familiarity with Python and basic understanding of transformer models and quantization techniques. - An active Hugging Face account with access to the target model. - author: - Rani Chowdary Mandepudi - Phalani Paladugu +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -45,8 +47,6 @@ tools_software_languages: - Python - PyTorch - OpenBLAS - - further_reading: - resource: @@ -66,8 +66,6 @@ further_reading: link: /learning-paths/servers-and-cloud-computing/vllm/ type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/vectorscan/_index.md b/content/learning-paths/servers-and-cloud-computing/vectorscan/_index.md index 722a058137..94b1520d4b 100644 --- a/content/learning-paths/servers-and-cloud-computing/vectorscan/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/vectorscan/_index.md @@ -5,7 +5,6 @@ minutes_to_complete: 15 who_is_this_for: This is an introductory topic for software developers using Hyperscan who want to migrate to Arm. - learning_objectives: - Install and run Vectorscan on an Arm-based instance - Install and run Snort 3 on your instance @@ -16,6 +15,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: Libraries @@ -46,8 +49,6 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/accelerating-deep-packet-inspection-with-neon-on-arm-neoverse type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/vllm-acceleration/_index.md b/content/learning-paths/servers-and-cloud-computing/vllm-acceleration/_index.md index 591fbc0b15..6074db20ca 100644 --- a/content/learning-paths/servers-and-cloud-computing/vllm-acceleration/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/vllm-acceleration/_index.md @@ -1,6 +1,6 @@ --- title: Run vLLM inference with INT4 quantization on Arm servers - + minutes_to_complete: 60 who_is_this_for: This is an introductory topic for developers interested in building and optimizing vLLM for Arm-based servers. This Learning Path shows you how to quantize large language models (LLMs) to INT4, serve them using an OpenAI-compatible API, and benchmark model accuracy with the LM Evaluation Harness. @@ -20,6 +20,10 @@ prerequisites: author: - Nikhil Gupta +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -40,7 +44,7 @@ tools_software_languages: - Python - PyTorch - Hugging Face - + further_reading: - resource: title: vLLM Documentation @@ -63,11 +67,10 @@ further_reading: link: https://github.com/EleutherAI/lm-evaluation-harness type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 layout: "learningpathall" learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/vllm-benchmark-quantisation/_index.md b/content/learning-paths/servers-and-cloud-computing/vllm-benchmark-quantisation/_index.md index 50cd2332a7..41a5ddaf37 100644 --- a/content/learning-paths/servers-and-cloud-computing/vllm-benchmark-quantisation/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/vllm-benchmark-quantisation/_index.md @@ -1,6 +1,6 @@ --- title: Run vLLM inference with quantized models and benchmark on Arm servers - + minutes_to_complete: 60 who_is_this_for: This is an introductory topic for developers interested in running inference on quantized models. In this Learning Path, you'll learn how to run inference on Llama 3.1-8B and Whisper with and without quantization. You'll then benchmark Llama performance and accuracy with vLLM's bench CLI and the LM Evaluation Harness. @@ -21,6 +21,10 @@ author: - Nikhil Gupta - Marek Michałowski +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -34,8 +38,6 @@ tools_software_languages: operatingsystems: - Linux - - further_reading: - resource: title: vLLM Documentation @@ -58,8 +60,6 @@ further_reading: link: https://github.com/EleutherAI/lm-evaluation-harness type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly diff --git a/content/learning-paths/servers-and-cloud-computing/vllm/_index.md b/content/learning-paths/servers-and-cloud-computing/vllm/_index.md index 4231effc49..069912aca1 100644 --- a/content/learning-paths/servers-and-cloud-computing/vllm/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/vllm/_index.md @@ -16,6 +16,10 @@ prerequisites: author: Jason Andrews +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory subjects: ML @@ -49,11 +53,10 @@ further_reading: link: https://huggingface.co/models type: website - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/vvenc/_index.md b/content/learning-paths/servers-and-cloud-computing/vvenc/_index.md index e93891e74a..749a82875f 100644 --- a/content/learning-paths/servers-and-cloud-computing/vvenc/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/vvenc/_index.md @@ -3,6 +3,10 @@ title: Run the vvenc H.266 encoder on Arm servers author: Willen Yang +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + minutes_to_complete: 20 who_is_this_for: This is an introductory topic for software developers who want to build and run the VVenCĀ® (Fraunhofer Versatile Video Encoder) H.266 project on Arm servers and measure the performance. @@ -49,8 +53,8 @@ further_reading: link: https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/oracle-cloud-infrastructure-arm-based-a1 type: blog - weight: 1 layout: learningpathall -learning_path_main_page: "yes" +learning_path_main_page: "yes" --- + diff --git a/content/learning-paths/servers-and-cloud-computing/whisper/_index.md b/content/learning-paths/servers-and-cloud-computing/whisper/_index.md index 2842c87f36..d71128858e 100644 --- a/content/learning-paths/servers-and-cloud-computing/whisper/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/whisper/_index.md @@ -11,7 +11,6 @@ learning_objectives: - Enable performance-enhancing features for running the model on Arm CPUs. - Evaluate transcript generation times using Whisper. - prerequisites: - An [Arm-based compute instance](/learning-paths/servers-and-cloud-computing/intro/) running Ubuntu with 32 cores, 8GB of RAM, and 32GB of disk space. - Basic knowledge of Python. @@ -20,6 +19,10 @@ prerequisites: author: Nobel Chowdary Mandepudi +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ### Tags skilllevels: Introductory armips: @@ -38,18 +41,16 @@ tools_software_languages: - Demo - Hugging Face - - further_reading: - resource: title: Hugging Face Transformers documentation link: https://huggingface.co/transformers/v4.11.3/index.html type: documentation - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/wordpress/_index.md b/content/learning-paths/servers-and-cloud-computing/wordpress/_index.md index 6aa31bd865..575697a4a7 100644 --- a/content/learning-paths/servers-and-cloud-computing/wordpress/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/wordpress/_index.md @@ -9,6 +9,10 @@ prerequisites: author: FrĆ©dĆ©ric -lefred- Descamps +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + who_is_this_for: This is an introductory topic for developers who want to install WordPress on Oracle Cloud Infrastructure (OCI) using always free tier. learning_objectives: @@ -30,7 +34,6 @@ tools_software_languages: - MySQL - WordPress - further_reading: - resource: title: Learn Faster to Grow Faster @@ -41,11 +44,10 @@ further_reading: link: https://blogs.oracle.com/mysql/post/wordpress-with-mysql-on-oci-always-free type: blog - - ### FIXED, DO NOT MODIFY # ================================================================================ weight: 1 # _index.md always has weight of 1 to order correctly layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/content/learning-paths/servers-and-cloud-computing/xgboost-on-axion/_index.md b/content/learning-paths/servers-and-cloud-computing/xgboost-on-axion/_index.md index f6be502b7b..fdd55cbd7a 100644 --- a/content/learning-paths/servers-and-cloud-computing/xgboost-on-axion/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/xgboost-on-axion/_index.md @@ -1,6 +1,6 @@ --- title: Train and deploy XGBoost models on Google Cloud C4A Axion VM - + description: Set up XGBoost on Google Cloud C4A Axion Arm VMs running SUSE Linux to train machine learning models, tune model performance, benchmark large-scale datasets, and deploy trained models as REST APIs. minutes_to_complete: 90 @@ -19,6 +19,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + ##### Tags skilllevels: Introductory subjects: ML diff --git a/content/learning-paths/servers-and-cloud-computing/zlib/_index.md b/content/learning-paths/servers-and-cloud-computing/zlib/_index.md index 1a4f2cb5cd..cc10a6a7f4 100644 --- a/content/learning-paths/servers-and-cloud-computing/zlib/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/zlib/_index.md @@ -17,6 +17,10 @@ prerequisites: author: Pareena Verma +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + test_images: - ubuntu:latest test_link: @@ -48,3 +52,4 @@ weight: 1 # _index.md always has weight of 1 to order corr layout: "learningpathall" # All files under learning paths have this same wrapper learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. --- + diff --git a/generate-summary-faq b/generate-summary-faq new file mode 100755 index 0000000000..9138e9b801 --- /dev/null +++ b/generate-summary-faq @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Team-friendly shortcut for the AI-assisted Learning Path summary/FAQ generator. +# With no arguments, run the normal full generation workflow for all opted-in paths. +# With arguments, pass them through to the full tool for category/path/dry-run control. + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +if [[ $# -eq 0 ]]; then + exec "$SCRIPT_DIR/tools/generate-summary-faq" --all --write +fi + +exec "$SCRIPT_DIR/tools/generate-summary-faq" "$@" diff --git a/reports/generated-summary-faq/README.md b/reports/generated-summary-faq/README.md new file mode 100644 index 0000000000..ebaf04d90a --- /dev/null +++ b/reports/generated-summary-faq/README.md @@ -0,0 +1,38 @@ +# Generated Summary/FAQ Reports + +This folder stores local reports and logs created by: + +```bash +./generate-summary-faq +``` + +For a category or single-path run, expect files such as: + +```text +.txt terminal-style progress log +.yml structured report data +.md Markdown report for human review +``` + +For an all-path run, the tool creates a timestamped folder: + +```text +/ + run.txt aggregate progress log for the whole command + run.yml aggregate structured report for the whole command + run.md aggregate Markdown report for human review + automotive.yml per-category structured report + automotive.md per-category Markdown report + ... +``` + +The tool also refreshes: + +```text +latest-run.yml +latest-run.md +``` + +These point to the most recent local run. Future generation branches can include +the relevant reports and logs in a pull request when they are useful for review +or backtracking. diff --git a/set-summary-faq-flags b/set-summary-faq-flags new file mode 100755 index 0000000000..62b1437760 --- /dev/null +++ b/set-summary-faq-flags @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +exec "$SCRIPT_DIR/tools/set-summary-faq-flags" "$@" diff --git a/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/generated-summary-faq.html b/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/generated-summary-faq.html new file mode 100644 index 0000000000..aee93cec7d --- /dev/null +++ b/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/generated-summary-faq.html @@ -0,0 +1,93 @@ +{{/* +Render a generated summary paragraph and FAQ block for Learning Path introduction pages. + + Expected front-matter shape: + generated_summary_faq: + ai_assisted: true + summary: ... + faqs: + - question: ... + answer: ... +*/}} + +{{ $generated := .Params.generated_summary_faq }} +{{ if $generated }} + {{ $summary := $generated.summary }} + {{ $faqs := $generated.faqs }} + {{ $ai_assisted := $generated.ai_assisted }} + + {{ if or $summary $faqs }} +
+ {{ with $summary }} +
+

Summary

+ {{ if $ai_assisted }} + + AI-assisted + +
+

+ This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. + Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards. +

+
+
+ Close +
+
+ ? +
+
+
+ {{ end }} +
+
+ {{ . | markdownify }} +
+ {{ end }} + + {{ with $faqs }} +
+

Frequently asked questions

+ {{ if $ai_assisted }} + + AI-assisted + +
+

+ These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. + Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards. +

+
+
+ Close +
+
+ ? +
+
+
+ {{ end }} +
+ {{ range . }} + + {{ .question }} +
+ {{ .answer | markdownify }} +
+
+ {{ end }} + {{ end }} + + {{ if $ai_assisted }} + + {{ end }} +
+ {{ end }} +{{ end }} diff --git a/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/introduction.html b/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/introduction.html index ca1d7fa7ae..b6facffe89 100644 --- a/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/introduction.html +++ b/themes/arm-design-system-hugo-theme/layouts/partials/learning-paths/introduction.html @@ -35,4 +35,5 @@

Prerequisites

  • {{. | markdownify}}
  • {{ end }} - \ No newline at end of file + {{ partial "learning-paths/generated-summary-faq.html" . }} + diff --git a/tools/generate-summary-faq b/tools/generate-summary-faq new file mode 100755 index 0000000000..922ca83430 --- /dev/null +++ b/tools/generate-summary-faq @@ -0,0 +1,644 @@ +#!/usr/bin/env bash +set -euo pipefail + +DEFAULT_BASE_URL="https://openai-api-proxy.geo.arm.com/api/providers/openai/v1/responses/" +DEFAULT_MODEL="gpt-5" +DEFAULT_TIMEOUT="180" +DEFAULT_RETRIES="3" +DEFAULT_STEP_LIMIT="5" +DEFAULT_EXCERPT_CHARS="600" +DEFAULT_REPORTS_DIR="reports/generated-summary-faq" + +usage() { + cat <<'EOF' +Generate AI-assisted summary and FAQ content for Arm Learning Paths. + +This is the team-facing wrapper around tools/generate_summary_faq.py. It always +uses the configured LLM endpoint. There is no template/offline generation mode. + +Usage: + tools/generate-summary-faq --category CATEGORY [options] + tools/generate-summary-faq --path PATH [options] + tools/generate-summary-faq --all [options] + tools/generate-summary-faq --list-categories + +Target selection: + --category SLUG Process one top-level Learning Path category. + Example: servers-and-cloud-computing + --path PATH Process one Learning Path directory, _index.md file, or + a comma-separated list of paths. + --all Process all eligible Learning Paths as one parent run, + split internally by category. + --list-categories Print available category slugs and exit. + +Run mode: + --dry-run Generate report/log only. This is the default. + --write Write generated content into matching _index.md files. + --allow-unflagged Include paths even when generate_summary_faq is not true. + +LLM endpoint: + --model MODEL Model exposed by the configured endpoint. + Default: gpt-5, or $OPENAI_MODEL + --base-url URL OpenAI-compatible Responses endpoint. + Default: Arm OpenAI proxy, or $OPENAI_BASE_URL + --timeout SECONDS Seconds to wait for each AI response before retrying. + Default: 180, or $OPENAI_TIMEOUT + --retries COUNT Retries for transient timeout/network errors. + Default: 3, or $OPENAI_RETRIES + --ca-bundle FILE Optional CA bundle for Python TLS verification. + Default: $OPENAI_CA_BUNDLE or $SSL_CERT_FILE + --insecure Skip TLS verification for local testing only. + This wrapper also does this automatically when no + CA bundle is configured. + --verify-tls Require TLS verification even when no CA bundle is set. + +Prompt size: + --step-limit COUNT Maximum step excerpts included in each prompt. + Default: 5, or $SUMMARY_FAQ_PROMPT_STEP_LIMIT + --excerpt-chars N Maximum characters per step excerpt. + Default: 600, or $SUMMARY_FAQ_PROMPT_EXCERPT_CHARS + +Output: + --reports-dir DIR Directory for logs/reports. + Default: reports/generated-summary-faq + --run-name NAME Base filename for category/path runs, or directory name + for --all parent runs. + Default: target slug + timestamp + --log-file FILE Explicit text log path. + --report-file FILE Explicit YAML report path. + --markdown-report FILE + Explicit Markdown table report path. + --quiet-progress Hide per-Learning Path progress output. + +Preflight: + --skip-preflight Skip local checks before running generation. + +Required environment: + OPENAI_API_KEY Arm proxy/OpenAI key. The script never prints it. + +Examples: + tools/generate-summary-faq --category automotive --dry-run + tools/generate-summary-faq --category servers-and-cloud-computing --write + tools/generate-summary-faq --all --write + tools/generate-summary-faq --path content/learning-paths/servers-and-cloud-computing/nginx_tune --write +EOF +} + +die() { + echo "ERROR: $*" >&2 + exit 2 +} + +slugify() { + printf '%s' "$1" | tr '/,[:space:]' '---' | tr -cs 'A-Za-z0-9._-' '-' | sed 's/^-//; s/-$//' +} + +timestamp() { + date -u +"%Y%m%d-%H%M%S" +} + +list_categories() { + find content/learning-paths -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | sort +} + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" +cd "$REPO_ROOT" + +TARGET_KIND="" +PATH_FILTER="" +CATEGORY_FILTER="" +MODE="--dry-run" +ALLOW_UNFLAGGED="false" +MODEL_VALUE="${OPENAI_MODEL:-$DEFAULT_MODEL}" +BASE_URL_VALUE="${OPENAI_BASE_URL:-$DEFAULT_BASE_URL}" +TIMEOUT_VALUE="${OPENAI_TIMEOUT:-$DEFAULT_TIMEOUT}" +RETRIES_VALUE="${OPENAI_RETRIES:-$DEFAULT_RETRIES}" +STEP_LIMIT_VALUE="${SUMMARY_FAQ_PROMPT_STEP_LIMIT:-$DEFAULT_STEP_LIMIT}" +EXCERPT_CHARS_VALUE="${SUMMARY_FAQ_PROMPT_EXCERPT_CHARS:-$DEFAULT_EXCERPT_CHARS}" +CA_BUNDLE_VALUE="${OPENAI_CA_BUNDLE:-${SSL_CERT_FILE:-}}" +TLS_VERIFY_MODE="auto" +REPORTS_DIR="$DEFAULT_REPORTS_DIR" +RUN_NAME="" +LOG_FILE="" +REPORT_FILE="" +MARKDOWN_REPORT_FILE="" +PREFLIGHT="true" +QUIET_PROGRESS="false" +TLS_ARGS=() + +while [[ $# -gt 0 ]]; do + case "$1" in + --all) + [[ -z "$TARGET_KIND" ]] || die "Choose only one target: --all, --category, or --path." + TARGET_KIND="all" + shift + ;; + --category) + [[ -z "$TARGET_KIND" ]] || die "Choose only one target: --all, --category, or --path." + TARGET_KIND="category" + CATEGORY_FILTER="${2:-}" + [[ -n "$CATEGORY_FILTER" ]] || die "--category requires a value." + shift 2 + ;; + --path) + [[ -z "$TARGET_KIND" ]] || die "Choose only one target: --all, --category, or --path." + TARGET_KIND="path" + PATH_FILTER="${2:-}" + [[ -n "$PATH_FILTER" ]] || die "--path requires a value." + shift 2 + ;; + --list-categories) + list_categories + exit 0 + ;; + --dry-run) + MODE="--dry-run" + shift + ;; + --write) + MODE="--write" + shift + ;; + --allow-unflagged) + ALLOW_UNFLAGGED="true" + shift + ;; + --model) + MODEL_VALUE="${2:-}" + [[ -n "$MODEL_VALUE" ]] || die "--model requires a value." + shift 2 + ;; + --base-url) + BASE_URL_VALUE="${2:-}" + [[ -n "$BASE_URL_VALUE" ]] || die "--base-url requires a value." + shift 2 + ;; + --timeout) + TIMEOUT_VALUE="${2:-}" + [[ -n "$TIMEOUT_VALUE" ]] || die "--timeout requires a value." + shift 2 + ;; + --retries) + RETRIES_VALUE="${2:-}" + [[ -n "$RETRIES_VALUE" ]] || die "--retries requires a value." + shift 2 + ;; + --step-limit) + STEP_LIMIT_VALUE="${2:-}" + [[ -n "$STEP_LIMIT_VALUE" ]] || die "--step-limit requires a value." + shift 2 + ;; + --excerpt-chars) + EXCERPT_CHARS_VALUE="${2:-}" + [[ -n "$EXCERPT_CHARS_VALUE" ]] || die "--excerpt-chars requires a value." + shift 2 + ;; + --ca-bundle) + CA_BUNDLE_VALUE="${2:-}" + [[ -n "$CA_BUNDLE_VALUE" ]] || die "--ca-bundle requires a value." + shift 2 + ;; + --insecure) + TLS_VERIFY_MODE="insecure" + TLS_ARGS+=(--openai-insecure-skip-verify) + shift + ;; + --verify-tls) + TLS_VERIFY_MODE="verify" + shift + ;; + --reports-dir) + REPORTS_DIR="${2:-}" + [[ -n "$REPORTS_DIR" ]] || die "--reports-dir requires a value." + shift 2 + ;; + --run-name) + RUN_NAME="${2:-}" + [[ -n "$RUN_NAME" ]] || die "--run-name requires a value." + shift 2 + ;; + --log-file) + LOG_FILE="${2:-}" + [[ -n "$LOG_FILE" ]] || die "--log-file requires a value." + shift 2 + ;; + --report-file) + REPORT_FILE="${2:-}" + [[ -n "$REPORT_FILE" ]] || die "--report-file requires a value." + shift 2 + ;; + --markdown-report) + MARKDOWN_REPORT_FILE="${2:-}" + [[ -n "$MARKDOWN_REPORT_FILE" ]] || die "--markdown-report requires a value." + shift 2 + ;; + --quiet-progress) + QUIET_PROGRESS="true" + shift + ;; + --skip-preflight) + PREFLIGHT="false" + shift + ;; + --help|-h) + usage + exit 0 + ;; + *) + die "Unknown option: $1" + ;; + esac +done + +[[ -n "$TARGET_KIND" ]] || die "Choose a target with --all, --category, or --path. Use --help for examples." +[[ -n "${OPENAI_API_KEY:-}" ]] || die "OPENAI_API_KEY is required. Run: export OPENAI_API_KEY=\"...\"" + +if [[ "$TARGET_KIND" == "category" && ! -d "content/learning-paths/$CATEGORY_FILTER" ]]; then + die "Unknown category: $CATEGORY_FILTER. Run: tools/generate-summary-faq --list-categories" +fi + +if [[ -z "$RUN_NAME" ]]; then + case "$TARGET_KIND" in + all) RUN_NAME="all-learning-paths-$(timestamp)" ;; + category) RUN_NAME="$(slugify "$CATEGORY_FILTER")-$(timestamp)" ;; + path) RUN_NAME="$(slugify "$PATH_FILTER")-$(timestamp)" ;; + esac +fi + +mkdir -p "$REPORTS_DIR" +if [[ "$TARGET_KIND" == "all" ]]; then + RUN_DIR="$REPORTS_DIR/$RUN_NAME" + mkdir -p "$RUN_DIR" + [[ -n "$LOG_FILE" ]] || LOG_FILE="$RUN_DIR/run.txt" + [[ -n "$REPORT_FILE" ]] || REPORT_FILE="$RUN_DIR/run.yml" + [[ -n "$MARKDOWN_REPORT_FILE" ]] || MARKDOWN_REPORT_FILE="$RUN_DIR/run.md" +else + RUN_DIR="" + [[ -n "$LOG_FILE" ]] || LOG_FILE="$REPORTS_DIR/$RUN_NAME.txt" + [[ -n "$REPORT_FILE" ]] || REPORT_FILE="$REPORTS_DIR/$RUN_NAME.yml" + [[ -n "$MARKDOWN_REPORT_FILE" ]] || MARKDOWN_REPORT_FILE="$REPORTS_DIR/$RUN_NAME.md" +fi + +if [[ "$PREFLIGHT" == "true" ]]; then + command -v python3 >/dev/null 2>&1 || die "python3 was not found." + if ! python3 - <<'PY' >/dev/null +import yaml +PY + then + die "Python package PyYAML is required. Install it with: python3 -m pip install --user pyyaml" + fi + [[ -f "tools/generate_summary_faq.py" ]] || die "tools/generate_summary_faq.py was not found." + [[ -f "tools/prompts/summary_faq_system.md" ]] || die "tools/prompts/summary_faq_system.md was not found." + [[ -f "tools/prompts/summary_faq_user.md" ]] || die "tools/prompts/summary_faq_user.md was not found." + if [[ -n "$CA_BUNDLE_VALUE" && ! -f "$CA_BUNDLE_VALUE" ]]; then + die "CA bundle file not found: $CA_BUNDLE_VALUE" + fi +fi + +if [[ "$TLS_VERIFY_MODE" == "auto" && -z "$CA_BUNDLE_VALUE" && "${OPENAI_INSECURE_SKIP_VERIFY:-}" != "true" ]]; then + TLS_ARGS+=(--openai-insecure-skip-verify) +fi + +echo "Learning Path summary/FAQ generation" +echo " target: $TARGET_KIND" +[[ -n "$CATEGORY_FILTER" ]] && echo " category: $CATEGORY_FILTER" +[[ -n "$PATH_FILTER" ]] && echo " path: $PATH_FILTER" +echo " mode: ${MODE#--}" +echo " log_file: $LOG_FILE" +echo " report_file: $REPORT_FILE" +echo " markdown_report: $MARKDOWN_REPORT_FILE" +[[ -n "$RUN_DIR" ]] && echo " run_dir: $RUN_DIR" +echo " openai_base_url: $BASE_URL_VALUE" +echo " openai_model: $MODEL_VALUE" +echo " openai_timeout: $TIMEOUT_VALUE" +echo " openai_retries: $RETRIES_VALUE" +echo " prompt_step_limit: $STEP_LIMIT_VALUE" +echo " prompt_excerpt_chars: $EXCERPT_CHARS_VALUE" +[[ -n "$CA_BUNDLE_VALUE" ]] && echo " openai_ca_bundle: $CA_BUNDLE_VALUE" +if [[ ${#TLS_ARGS[@]} -gt 0 || "${OPENAI_INSECURE_SKIP_VERIFY:-}" == "true" ]]; then + echo " openai_tls_verify: disabled" + if [[ "$TLS_VERIFY_MODE" == "auto" ]]; then + echo " openai_tls_note: no CA bundle configured; local wrapper defaulted to --insecure" + fi +fi +echo + +run_generator() { + local category="$1" + local path_filter="$2" + local log_file="$3" + local report_file="$4" + local markdown_report_file="$5" + local aggregate_log="${6:-}" + + local cmd=( + python3 tools/generate_summary_faq.py + --path-filter "$path_filter" + --category "$category" + --openai-base-url "$BASE_URL_VALUE" + --openai-model "$MODEL_VALUE" + --openai-timeout "$TIMEOUT_VALUE" + --openai-retries "$RETRIES_VALUE" + --openai-ca-bundle "$CA_BUNDLE_VALUE" + --prompt-step-limit "$STEP_LIMIT_VALUE" + --prompt-excerpt-chars "$EXCERPT_CHARS_VALUE" + --report-file "$report_file" + --markdown-report-file "$markdown_report_file" + "$MODE" + ) + + if [[ -n "$log_file" ]]; then + cmd+=(--log-file "$log_file") + fi + + if [[ "$ALLOW_UNFLAGGED" == "true" ]]; then + cmd+=(--allow-unflagged) + fi + + if [[ "$QUIET_PROGRESS" == "true" ]]; then + cmd+=(--quiet-progress) + fi + + if [[ ${#TLS_ARGS[@]} -gt 0 ]]; then + cmd+=("${TLS_ARGS[@]}") + fi + + if [[ -n "$aggregate_log" ]]; then + set +e + "${cmd[@]}" 2>&1 | tee -a "$aggregate_log" + local status=${PIPESTATUS[0]} + set -e + return "$status" + fi + + "${cmd[@]}" +} + +refresh_latest_reports() { + local report_file="$1" + local markdown_report_file="$2" + local latest_yml="$REPORTS_DIR/latest-run.yml" + local latest_md="$REPORTS_DIR/latest-run.md" + + if [[ -f "$report_file" && "$report_file" != "$latest_yml" ]]; then + cp "$report_file" "$latest_yml" + fi + + if [[ -f "$markdown_report_file" && "$markdown_report_file" != "$latest_md" ]]; then + cp "$markdown_report_file" "$latest_md" + fi +} + +write_aggregate_reports() { + local run_dir="$1" + local aggregate_yml="$2" + local aggregate_md="$3" + local aggregate_log="$4" + local run_name="$5" + local mode="$6" + + python3 - "$run_dir" "$aggregate_yml" "$aggregate_md" "$aggregate_log" "$run_name" "$mode" <<'PY' +from __future__ import annotations + +import sys +from datetime import datetime, timezone +from pathlib import Path + +import yaml + +run_dir = Path(sys.argv[1]) +aggregate_yml = Path(sys.argv[2]) +aggregate_md = Path(sys.argv[3]) +aggregate_log = Path(sys.argv[4]) +run_name = sys.argv[5] +mode = sys.argv[6].lstrip("-") + +category_reports = [] +for report_path in sorted(run_dir.glob("*.yml")): + if report_path.resolve() == aggregate_yml.resolve(): + continue + payload = yaml.safe_load(report_path.read_text(encoding="utf-8")) or {} + latest = payload.get("latest_run", {}) + if latest: + category_reports.append((report_path.stem, report_path, latest)) + +totals = { + "processed": 0, + "added": 0, + "updated": 0, + "unchanged": 0, + "drift_detected": 0, + "paths_with_drift": 0, + "skipped": 0, + "errors": 0, + "removed": 0, + "ai_requests": 0, + "summary_changed": 0, + "faq_changed": 0, + "rerun_flags_reset": 0, +} +section_totals = {"summary": {}, "faqs": {}} +reason_totals = {} +paths = [] + +for category, report_path, latest in category_reports: + for key, value in latest.get("totals", {}).items(): + totals[key] = totals.get(key, 0) + (value or 0) + + for section in ("summary", "faqs"): + for action, count in latest.get("section_totals", {}).get(section, {}).items(): + section_totals[section][action] = section_totals[section].get(action, 0) + (count or 0) + + for reason, count in latest.get("reason_totals", {}).items(): + reason_totals[reason] = reason_totals.get(reason, 0) + (count or 0) + + for path_entry in latest.get("paths", []): + copied = dict(path_entry) + copied["category"] = category + paths.append(copied) + +timestamp = datetime.now(timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z") +aggregate = { + "timestamp": timestamp, + "run_name": run_name, + "mode": mode, + "split_by_category": True, + "category_reports": [ + { + "category": category, + "report_file": str(report_path), + "markdown_report_file": str(report_path.with_suffix(".md")), + "totals": latest.get("totals", {}), + } + for category, report_path, latest in category_reports + ], + "totals": totals, + "section_totals": section_totals, + "reason_totals": reason_totals, + "paths": paths, +} + +aggregate_yml.write_text(yaml.safe_dump({"latest_run": aggregate}, sort_keys=False), encoding="utf-8") + +def esc(value): + return str(value if value is not None else "").replace("|", "\\|").replace("\n", "
    ") + +def row(label, value): + return f"| {esc(label)} | {esc(value)} |" + +metric_labels = { + "processed": "Processed", + "added": "Added", + "updated": "Updated", + "drift_detected": "Drift detected", + "paths_with_drift": "Paths with drift", + "skipped": "Skipped", + "unchanged": "Unchanged", + "errors": "Errors", + "ai_requests": "AI requests", + "summary_changed": "Summary changed", + "faq_changed": "FAQs changed", + "rerun_flags_reset": "Rerun flags reset", +} + +lines = [ + "# Generate Summary/FAQ Aggregate Run", + "", + f"Generated at: `{timestamp}`", + "", + "| Field | Value |", + "| --- | --- |", + row("Run name", run_name), + row("Mode", mode), + row("Split by category", True), + row("Category count", len(category_reports)), + "", + "## Run Overview", + "", + "| Metric | Count |", + "| --- | ---: |", +] + +for key in ( + "processed", + "added", + "updated", + "drift_detected", + "paths_with_drift", + "skipped", + "unchanged", + "errors", + "ai_requests", + "summary_changed", + "faq_changed", + "rerun_flags_reset", +): + lines.append(row(metric_labels.get(key, key.replace("_", " ")), totals.get(key, 0))) + +lines.extend(["", "## Category Runs", "", "| Category | Processed | Added | Updated | Drift | Skipped | Unchanged | Errors | AI requests | Report |", "| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |"]) +for category, report_path, latest in category_reports: + category_totals = latest.get("totals", {}) + md_name = report_path.with_suffix(".md").name + lines.append( + "| {category} | {processed} | {added} | {updated} | {drift} | {skipped} | {unchanged} | {errors} | {ai_requests} | [{md}]({md}) |".format( + category=esc(category), + processed=category_totals.get("processed", 0), + added=category_totals.get("added", 0), + updated=category_totals.get("updated", 0), + drift=category_totals.get("drift_detected", 0), + skipped=category_totals.get("skipped", 0), + unchanged=category_totals.get("unchanged", 0), + errors=category_totals.get("errors", 0), + ai_requests=category_totals.get("ai_requests", 0), + md=esc(md_name), + ) + ) + +for section in ("summary", "faqs"): + title = "Summary Actions" if section == "summary" else "FAQ Actions" + lines.extend(["", f"## {title}", "", "| Action | Count |", "| --- | ---: |"]) + for action, count in sorted(section_totals.get(section, {}).items()): + lines.append(row(action, count)) + +nonzero_reasons = [(reason, count) for reason, count in reason_totals.items() if count] +if nonzero_reasons: + lines.extend(["", "## Change Reasons", "", "| Reason | Count |", "| --- | ---: |"]) + for reason, count in sorted(nonzero_reasons): + lines.append(row(reason, count)) + +interesting = [entry for entry in paths if entry.get("status") != "unchanged" or entry.get("change_reasons") or entry.get("status") == "error"] +if interesting: + lines.extend(["", "## Path Details", "", "| Category | Path | Status | Summary | FAQs | Reasons | Notes |", "| --- | --- | --- | --- | --- | --- | --- |"]) + for entry in interesting: + summary = entry.get("summary", {}) + faqs = entry.get("faqs", {}) + reasons = ", ".join(entry.get("change_reasons", [])) or "none" + notes = entry.get("error", "") if entry.get("status") == "error" else "" + lines.append( + "| {category} | `{path}` | {status} | {summary} | {faqs} | {reasons} | {notes} |".format( + category=esc(entry.get("category", "")), + path=esc(entry.get("path", "")), + status=esc(entry.get("status", "")), + summary=esc(summary.get("action", "")), + faqs=esc(faqs.get("action", "")), + reasons=esc(reasons), + notes=esc(notes), + ) + ) + +aggregate_md.write_text("\n".join(lines).rstrip() + "\n", encoding="utf-8") +with aggregate_log.open("a", encoding="utf-8") as log: + log.write(f"\nAggregate report: {aggregate_yml}\n") + log.write(f"Aggregate Markdown report: {aggregate_md}\n") +PY +} + +if [[ "$TARGET_KIND" == "all" ]]; then + : > "$LOG_FILE" + { + echo "Learning Path summary/FAQ aggregate run" + echo "run_name: $RUN_NAME" + echo "mode: ${MODE#--}" + echo "run_dir: $RUN_DIR" + echo + } | tee -a "$LOG_FILE" + + failures=0 + while IFS= read -r category; do + category_report="$RUN_DIR/$category.yml" + category_markdown="$RUN_DIR/$category.md" + + { + echo + echo "=== Category: $category ===" + echo "report_file: $category_report" + echo "markdown_report: $category_markdown" + echo + } | tee -a "$LOG_FILE" + + if ! run_generator "$category" "" "" "$category_report" "$category_markdown" "$LOG_FILE"; then + failures=$((failures + 1)) + echo "Category failed: $category" | tee -a "$LOG_FILE" + fi + done < <(list_categories) + + write_aggregate_reports "$RUN_DIR" "$REPORT_FILE" "$MARKDOWN_REPORT_FILE" "$LOG_FILE" "$RUN_NAME" "$MODE" + refresh_latest_reports "$REPORT_FILE" "$MARKDOWN_REPORT_FILE" + echo "Aggregate report written to $REPORT_FILE" + echo "Aggregate Markdown report written to $MARKDOWN_REPORT_FILE" + echo "Latest report snapshot written to $REPORTS_DIR/latest-run.yml" + echo "Latest Markdown snapshot written to $REPORTS_DIR/latest-run.md" + + if [[ "$failures" -gt 0 ]]; then + exit 1 + fi + exit 0 +fi + +set +e +run_generator "$CATEGORY_FILTER" "$PATH_FILTER" "$LOG_FILE" "$REPORT_FILE" "$MARKDOWN_REPORT_FILE" +status=$? +set -e +refresh_latest_reports "$REPORT_FILE" "$MARKDOWN_REPORT_FILE" +exit "$status" diff --git a/tools/generate-summary-faq.md b/tools/generate-summary-faq.md new file mode 100644 index 0000000000..58d856c0a4 --- /dev/null +++ b/tools/generate-summary-faq.md @@ -0,0 +1,315 @@ +# Generate Summary/FAQ Tool + +Use this tool to generate AI-assisted summary and FAQ content for Arm Learning +Path `_index.md` files. The generated content is stored in each Learning Path +front matter under `generated_summary_faq` and is intended as a reviewed draft, +not as automatically approved content. + +The generator always uses the configured LLM endpoint. There is no offline or +template-only generation mode. + +## What This Tool Does + +The tool can: + +- Generate a summary paragraph and five FAQ entries for selected Learning Paths. +- Store generated content in the matching Learning Path `_index.md`. +- Reset control flags after a successful write run so paths are not regenerated accidentally. +- Produce local `.txt`, `.yml`, and `.md` reports for each run. +- Process all Learning Paths, one category, one path, newly added paths, or edited paths. + +The generated block is labeled AI-assisted in the rendered Learning Path page. +Generated text should still be reviewed by a human contributor before it is +treated as final site content. + +## One-Time Setup + +Set the Arm OpenAI proxy key in your shell before running the generator: + +```bash +export OPENAI_API_KEY="..." +``` + +The wrapper defaults to the Arm proxy endpoint and `gpt-5`, but you can override +them if needed: + +```bash +export OPENAI_BASE_URL="https://openai-api-proxy.geo.arm.com/api/providers/openai/v1/responses/" +export OPENAI_MODEL="gpt-5" +``` + +If Python cannot verify the company TLS certificate locally, prefer a CA bundle: + +```bash +export OPENAI_CA_BUNDLE="/path/to/arm-ca-bundle.pem" +``` + +For local convenience, `tools/generate-summary-faq` automatically bypasses TLS +verification when no CA bundle is configured. This is intended only for local +testing against the Arm proxy. To force certificate verification, use: + +```bash +tools/generate-summary-faq --all --dry-run --verify-tls +``` + +## Quick Start + +Run all currently opted-in Learning Paths and write the generated content: + +```bash +./generate-summary-faq +``` + +That shortcut is equivalent to: + +```bash +tools/generate-summary-faq --all --write +``` + +Run a dry run first if you only want reports and no file edits: + +```bash +tools/generate-summary-faq --all --dry-run +``` + +Run one category: + +```bash +tools/generate-summary-faq --category laptops-and-desktops --write +``` + +Run one Learning Path: + +```bash +tools/generate-summary-faq \ + --path content/learning-paths/laptops-and-desktops/wsl2 \ + --write +``` + +List available categories: + +```bash +tools/generate-summary-faq --list-categories +``` + +## Control Flags + +Each Learning Path uses three front-matter fields: + +```yaml +author: Example Author + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + +### Tags +``` + +Use the fields this way: + +- `generate_summary_faq: true` opts the Learning Path into the next generator run. +- `generate_summary_faq: false` leaves the Learning Path out of normal generator runs. +- `rerun_summary: true` forces the summary to be regenerated. +- `rerun_faqs: true` forces the FAQs to be regenerated. + +After a successful write run, the generator resets all three fields to `false` +for processed Learning Paths. This prevents repeated LLM calls unless a +contributor intentionally opts the path in again. + +New Learning Paths scaffolded from `archetypes/learning-path/_index.md` should +place the fields after `author` and before `### Tags`: + +```yaml +author: PLACEHOLDER NAME + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + +### Tags +``` + +If you create a Learning Path by copying an existing folder, confirm these +fields manually in the copied `_index.md`. + +## Set Flags + +Use `set-summary-faq-flags` to prepare paths for generation without editing +front matter by hand. + +Set all Learning Paths to regenerate both sections: + +```bash +./set-summary-faq-flags --all --all-true +``` + +Reset all Learning Paths back to inactive: + +```bash +./set-summary-faq-flags --all --all-false +``` + +Set one category to regenerate both sections: + +```bash +./set-summary-faq-flags --category laptops-and-desktops --all-true +``` + +Set one Learning Path to regenerate both sections: + +```bash +./set-summary-faq-flags \ + --path content/learning-paths/laptops-and-desktops/wsl2 \ + --all-true +``` + +Regenerate only FAQs for a category: + +```bash +tools/set-summary-faq-flags \ + --category servers-and-cloud-computing \ + --generate-summary-faq true \ + --rerun-summary false \ + --rerun-faqs true +``` + +Regenerate only the summary for a category: + +```bash +tools/set-summary-faq-flags \ + --category laptops-and-desktops \ + --generate-summary-faq true \ + --rerun-summary true \ + --rerun-faqs false +``` + +## New Or Edited Learning Paths + +Most day-to-day use should be branch based. If your feature branch adds new +Learning Paths, compare it against the latest `origin/main`: + +```bash +git fetch origin main +git checkout your-feature-branch +./set-summary-faq-flags --new-since origin/main --all-true +./generate-summary-faq +``` + +If your feature branch edits existing Learning Paths, use `--changed-since`: + +```bash +git fetch origin main +git checkout your-feature-branch +./set-summary-faq-flags --changed-since origin/main --all-true +./generate-summary-faq +``` + +`--new-since` finds Learning Paths that exist on your branch but not on +`origin/main`. `--changed-since` finds Learning Paths changed on your branch +since `origin/main`, including newly added paths. + +## When The LLM Is Called + +The LLM is called only when at least one section needs work: + +```text +generated_summary_faq is missing +summary is missing +FAQs are missing +rerun_summary is true +rerun_faqs is true +existing generated content used a non-AI generator +``` + +If a Learning Path already has generated content and both rerun flags are +`false`, the tool preserves the existing content and does not send that path to +the LLM. + +Draft Learning Paths are skipped. + +## Reports And Logs + +Each run writes local artifacts under: + +```text +reports/generated-summary-faq/ +``` + +For a category or path run, the files are: + +```text +.txt progress log and terminal-style output +.yml structured report with run details +.md Markdown report with review tables +``` + +For an all-path run, the tool creates one run directory: + +```text +reports/generated-summary-faq// +run.txt aggregate progress log for the whole command +run.yml aggregate structured report for the whole command +run.md aggregate Markdown report for the whole command +automotive.yml per-category structured report +automotive.md per-category Markdown report +... +``` + +Start with the aggregate `run.md`. It links to the per-category Markdown reports +when you need a deeper breakdown. + +Each run also refreshes: + +```text +reports/generated-summary-faq/latest-run.yml +reports/generated-summary-faq/latest-run.md +``` + +These files point to the most recent local run, so you do not have to guess +which timestamped folder was produced last. + +Open a Markdown report locally: + +```bash +open reports/generated-summary-faq/latest-run.md +``` + +Use `--run-name` to make report filenames predictable: + +```bash +tools/generate-summary-faq \ + --category servers-and-cloud-computing \ + --run-name servers-and-cloud-computing \ + --write +``` + +## Timeout Tuning + +For larger categories or occasional read timeouts, use smaller prompts and more +retries: + +```bash +tools/generate-summary-faq \ + --category servers-and-cloud-computing \ + --timeout 180 \ + --retries 3 \ + --step-limit 5 \ + --excerpt-chars 600 \ + --write +``` + +## Recommended PR Flow + +For a normal PR that adds or edits Learning Paths: + +1. Update your branch from main. +2. Set flags for new or changed Learning Paths with `set-summary-faq-flags`. +3. Run `./generate-summary-faq`. +4. Review the generated `_index.md` changes and the Markdown report. +5. Edit or remove generated content if human review finds issues. +6. Run the site locally and confirm the generated block renders correctly. + +For the initial bulk rollout, keep generated summary/FAQ content out of the PR. +The PR should include the tool, prompts, rendering, and default flags. The first +fresh generation can happen after the PR lands on main. diff --git a/tools/generate_summary_faq.py b/tools/generate_summary_faq.py new file mode 100644 index 0000000000..864e993583 --- /dev/null +++ b/tools/generate_summary_faq.py @@ -0,0 +1,1763 @@ +#!/usr/bin/env python3 + +""" +Generate summary and FAQ content for Learning Path _index.md files. + +This script uses an OpenAI-compatible endpoint to generate AI-assisted content. + +- selects eligible Learning Paths using a front-matter flag or explicit paths +- manages a `generated_summary_faq` front-matter block +- supports one-shot `rerun_summary` / `rerun_faqs` controls +- auto-repairs missing generated summary/FAQ sections +- reports section-level changes, drift, and reasons in a central YAML file + +Managed front-matter contract: + + generate_summary_faq: true + rerun_summary: false + rerun_faqs: false + + # START generated_summary_faq + generated_summary_faq: + template_version: summary-faq-v3 + generated_at: "2026-05-06T19:40:00Z" + generator: ai + ai_assisted: true + ai_review_required: true + model: "..." + prompt_template: summary-faq-v3 + source_hash: "..." + summary_generated_at: "2026-05-06T19:40:00Z" + summary_source_hash: "..." + faq_generated_at: "2026-05-06T19:40:00Z" + faq_source_hash: "..." + summary: >- + ... + faqs: + - question: What will you accomplish in this Learning Path? + answer: >- + ... + # END generated_summary_faq +""" + +from __future__ import annotations + +import argparse +import copy +import hashlib +import json +import os +import re +import ssl +import sys +import time +import urllib.error +import urllib.request +from dataclasses import dataclass +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Dict, List, Sequence + +import yaml + + +REPO_ROOT = Path(__file__).resolve().parent.parent +LEARNING_PATH_ROOT = REPO_ROOT / "content" / "learning-paths" +DEFAULT_REPORT_PATH = REPO_ROOT / "reports" / "generated-summary-faq" / "latest-run.yml" +DEFAULT_PROMPT_DIR = REPO_ROOT / "tools" / "prompts" +COPILOT_INSTRUCTIONS_PATH = REPO_ROOT / ".github" / "copilot-instructions.md" +LEARNING_PATH_AUTHORING_GUIDE_DIR = LEARNING_PATH_ROOT / "cross-platform" / "_example-learning-path" +DEFAULT_OPENAI_BASE_URL = "https://openai-api-proxy.geo.arm.com/api/providers/openai/v1/responses/" +DEFAULT_OPENAI_MODEL = "gpt-4.1-mini" +DEFAULT_OPENAI_TIMEOUT = 120 +DEFAULT_OPENAI_RETRIES = 2 +DEFAULT_PROMPT_STEP_LIMIT = 8 +DEFAULT_PROMPT_EXCERPT_CHARS = 900 +AUTHORING_GUIDANCE_FILES = ( + (COPILOT_INSTRUCTIONS_PATH, 3200), + (LEARNING_PATH_AUTHORING_GUIDE_DIR / "overview.md", 1800), + (LEARNING_PATH_AUTHORING_GUIDE_DIR / "write-2-metadata.md", 2200), + (LEARNING_PATH_AUTHORING_GUIDE_DIR / "appendix-2-writing-style.md", 2600), +) + +ENABLE_FLAG = "generate_summary_faq" +RERUN_SUMMARY_FLAG = "rerun_summary" +RERUN_FAQS_FLAG = "rerun_faqs" + +GENERATED_KEY = "generated_summary_faq" +MANAGED_START = "# START generated_summary_faq" +MANAGED_END = "# END generated_summary_faq" +CONTROL_CHARACTER_PATTERN = re.compile(r"[\x00-\x08\x0b\x0c\x0e-\x1f]") +SUMMARY_FIRST_PERSON_PATTERN = re.compile(r"(?:\bI\b(?!/)|(?i:\b(?:we|my|our|ours|let's)\b))") + +TEMPLATE_VERSION = "summary-faq-v3" +PROMPT_TEMPLATE_VERSION = "summary-faq-v3" +DEFAULT_HISTORY_LIMIT = 20 + +SUMMARY_SOURCE_HASH_KEY = "summary_source_hash" +SUMMARY_GENERATED_AT_KEY = "summary_generated_at" +FAQ_SOURCE_HASH_KEY = "faq_source_hash" +FAQ_GENERATED_AT_KEY = "faq_generated_at" + +SUMMARY_ACTIONS = ( + "created", + "repaired_missing", + "rerun_requested", + "generator_changed", + "drift_detected_preserved", + "unchanged", +) +FAQ_ACTIONS = SUMMARY_ACTIONS +REASON_ORDER = ( + "initial_generation", + "missing_summary", + "missing_faqs", + "rerun_summary", + "rerun_faqs", + "generator_changed", + "summary_drift_detected", + "faq_drift_detected", + "generation_flags_reset", + "rerun_flags_reset", +) +CHANGE_ACTIONS = {"created", "repaired_missing", "rerun_requested", "generator_changed"} + + +class BlockString(str): + """Marker type so YAML emits readable folded blocks for long prose.""" + + +class ReadableDumper(yaml.SafeDumper): + """YAML dumper that keeps generated prose readable in front matter/report files.""" + + +def _block_string_presenter(dumper: yaml.SafeDumper, data: BlockString) -> yaml.nodes.ScalarNode: + return dumper.represent_scalar("tag:yaml.org,2002:str", str(data), style=">") + + +def _string_presenter(dumper: yaml.SafeDumper, data: str) -> yaml.nodes.ScalarNode: + if "\n" in data: + return dumper.represent_scalar("tag:yaml.org,2002:str", data, style=">") + return dumper.represent_scalar("tag:yaml.org,2002:str", data) + + +ReadableDumper.add_representer(BlockString, _block_string_presenter) +ReadableDumper.add_representer(str, _string_presenter) +ReadableDumper.ignore_aliases = lambda self, data: True + + +@dataclass +class MarkdownDocument: + path: Path + raw_text: str + front_matter_text: str + content: str + metadata: Dict[str, Any] + + +@dataclass +class StepPage: + path: Path + title: str + weight: int + metadata: Dict[str, Any] + content: str + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description="Generate summary/FAQ front matter for Learning Paths.") + parser.add_argument( + "--path-filter", + default="", + help="Optional comma/newline-separated list of Learning Path directories or _index.md files.", + ) + parser.add_argument( + "--category", + default="", + help="Optional top-level Learning Path category slug, for example servers-and-cloud-computing.", + ) + parser.add_argument( + "--limit", + type=int, + default=0, + help="Maximum number of Learning Paths to process when no explicit path filter is provided. 0 means no limit.", + ) + parser.add_argument( + "--allow-unflagged", + action="store_true", + help=f"Process explicit or discovered Learning Paths even when `{ENABLE_FLAG}` is not true.", + ) + parser.add_argument( + "--openai-base-url", + default=os.getenv("OPENAI_BASE_URL", DEFAULT_OPENAI_BASE_URL), + help="OpenAI-compatible Responses endpoint URL. Defaults to Arm's OpenAI proxy.", + ) + parser.add_argument( + "--openai-model", + default=os.getenv("OPENAI_MODEL", DEFAULT_OPENAI_MODEL), + help="Model or deployment name exposed by the configured OpenAI-compatible endpoint.", + ) + parser.add_argument( + "--openai-timeout", + type=int, + default=int(os.getenv("OPENAI_TIMEOUT", DEFAULT_OPENAI_TIMEOUT)), + help="Seconds to wait for each AI endpoint response before retrying.", + ) + parser.add_argument( + "--openai-retries", + type=int, + default=int(os.getenv("OPENAI_RETRIES", DEFAULT_OPENAI_RETRIES)), + help="Number of retries for transient AI endpoint timeout/network errors.", + ) + parser.add_argument( + "--openai-ca-bundle", + default=os.getenv("OPENAI_CA_BUNDLE", os.getenv("SSL_CERT_FILE", "")), + help="Optional CA bundle file for the OpenAI-compatible endpoint.", + ) + parser.add_argument( + "--openai-insecure-skip-verify", + action="store_true", + default=as_bool(os.getenv("OPENAI_INSECURE_SKIP_VERIFY", "")), + help="Skip TLS certificate verification for local endpoint testing only.", + ) + parser.add_argument( + "--prompt-dir", + default=str(DEFAULT_PROMPT_DIR), + help="Directory containing summary/FAQ system and user prompt templates.", + ) + parser.add_argument( + "--prompt-step-limit", + type=int, + default=int(os.getenv("SUMMARY_FAQ_PROMPT_STEP_LIMIT", DEFAULT_PROMPT_STEP_LIMIT)), + help="Maximum number of Learning Path step excerpts included in each AI prompt.", + ) + parser.add_argument( + "--prompt-excerpt-chars", + type=int, + default=int(os.getenv("SUMMARY_FAQ_PROMPT_EXCERPT_CHARS", DEFAULT_PROMPT_EXCERPT_CHARS)), + help="Maximum characters included from each step excerpt in each AI prompt.", + ) + parser.add_argument( + "--write", + action="store_true", + help="Persist generated front-matter updates back to each _index.md file.", + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="Compute results and print a summary without writing Learning Path files.", + ) + parser.add_argument( + "--report-file", + default=str(DEFAULT_REPORT_PATH), + help="Path to the central run report YAML file.", + ) + parser.add_argument( + "--markdown-report-file", + default="", + help="Optional Markdown report file with tables for local review.", + ) + parser.add_argument( + "--log-file", + default="", + help="Optional text file that captures progress, errors, and summary output for this run.", + ) + parser.add_argument( + "--no-write-report", + action="store_true", + help="Skip writing the central report file.", + ) + parser.add_argument( + "--history-limit", + type=int, + default=DEFAULT_HISTORY_LIMIT, + help="Maximum number of historical run entries to retain in the central report file.", + ) + parser.add_argument("--run-url", default="", help="Optional run URL to store in the report.") + parser.add_argument("--git-ref", default="", help="Optional Git ref or branch name to store in the report.") + parser.add_argument("--git-sha", default="", help="Optional commit SHA to store in the report.") + parser.add_argument("--actor", default="", help="Optional run actor to store in the report.") + parser.add_argument( + "--quiet-progress", + action="store_true", + help="Hide per-Learning Path progress output.", + ) + + args = parser.parse_args() + + if args.write and args.dry_run: + parser.error("Use either --write or --dry-run, not both.") + if args.path_filter and args.category: + parser.error("Use either --path-filter or --category, not both.") + if not args.write and not args.dry_run: + args.dry_run = True + + return args + + +def append_log_line(log_file: str, message: str) -> None: + if not log_file: + return + + path = Path(log_file) + path.parent.mkdir(parents=True, exist_ok=True) + with path.open("a", encoding="utf-8") as log: + log.write(message + "\n") + + +def emit(args: argparse.Namespace, message: str, flush: bool = False) -> None: + print(message, flush=flush) + append_log_line(args.log_file, message) + + +def initialize_log(args: argparse.Namespace) -> None: + if not args.log_file: + return + + path = Path(args.log_file) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text( + "\n".join( + [ + "Generate summary/FAQ local run", + f"timestamp: {current_timestamp()}", + f"mode: {'write' if args.write else 'dry-run'}", + f"openai_base_url: {args.openai_base_url}", + f"openai_model: {args.openai_model}", + f"category: {args.category or ''}", + f"path_filter: {args.path_filter or ''}", + "", + ] + ), + encoding="utf-8", + ) + + +def current_timestamp() -> str: + return datetime.now(timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z") + + +def read_markdown_document(path: Path, require_front_matter: bool = True) -> MarkdownDocument: + raw_text = path.read_text(encoding="utf-8") + match = re.match(r"\A---\s*\n(.*?)\n---\s*\n?(.*)\Z", raw_text, re.DOTALL) + if not match: + if require_front_matter: + raise ValueError(f"{path} does not contain valid YAML front matter.") + return MarkdownDocument( + path=path, + raw_text=raw_text, + front_matter_text="", + content=raw_text, + metadata={}, + ) + + front_matter_text = match.group(1) + content = match.group(2) + metadata = yaml.safe_load(front_matter_text) or {} + if not isinstance(metadata, dict): + raise ValueError(f"{path} front matter did not parse as a mapping.") + + return MarkdownDocument( + path=path, + raw_text=raw_text, + front_matter_text=front_matter_text, + content=content, + metadata=metadata, + ) + + +def fallback_title_from_content(content: str, path: Path) -> str: + for line in content.splitlines(): + stripped = line.strip() + if not stripped: + continue + heading_match = re.match(r"^#{1,6}\s+(.*)$", stripped) + if heading_match: + return compact_whitespace(heading_match.group(1)) + return compact_whitespace(path.stem.replace("-", " ").replace("_", " ").title()) + + +def normalize_path_filter(path_filter: str) -> List[Path]: + raw_items = [item.strip() for item in re.split(r"[\n,]+", path_filter) if item.strip()] + resolved: List[Path] = [] + + for item in raw_items: + candidate = Path(item) + if not candidate.is_absolute(): + candidate = (REPO_ROOT / candidate).resolve() + + if candidate.is_dir(): + candidate = candidate / "_index.md" + + if candidate.name != "_index.md" or not candidate.exists(): + raise FileNotFoundError(f"Could not resolve Learning Path index from '{item}'.") + + resolved.append(candidate) + + return resolved + + +def discover_learning_path_indexes() -> List[Path]: + indexes = sorted(LEARNING_PATH_ROOT.glob("*/*/_index.md")) + return [path for path in indexes if path.is_file()] + + +def discover_category_indexes(category: str) -> List[Path]: + category_slug = category.strip().strip("/") + if not category_slug: + return [] + + category_path = LEARNING_PATH_ROOT / category_slug + if not category_path.is_dir(): + raise FileNotFoundError(f"Could not resolve Learning Path category from '{category}'.") + + indexes = sorted(category_path.glob("*/_index.md")) + return [path for path in indexes if path.is_file()] + + +def as_bool(value: Any) -> bool: + if isinstance(value, bool): + return value + if isinstance(value, str): + return value.strip().lower() in {"1", "true", "yes", "on"} + return bool(value) + + +def has_enable_flag(doc: MarkdownDocument) -> bool: + return as_bool(doc.metadata.get(ENABLE_FLAG)) + + +def is_draft(doc: MarkdownDocument) -> bool: + return as_bool(doc.metadata.get("draft", False)) + + +def load_steps(index_path: Path) -> List[StepPage]: + steps: List[StepPage] = [] + for md_path in index_path.parent.glob("*.md"): + doc = read_markdown_document(md_path, require_front_matter=False) + weight = doc.metadata.get("weight", 99999) + if not isinstance(weight, int): + try: + weight = int(weight) + except Exception: + weight = 99999 + + title = str(doc.metadata.get("title", "")).strip() or fallback_title_from_content(doc.content, md_path) + steps.append( + StepPage( + path=md_path, + title=title, + weight=weight, + metadata=doc.metadata, + content=doc.content, + ) + ) + + steps.sort(key=lambda step: (step.weight, step.path.name)) + return steps + + +def compact_whitespace(value: str) -> str: + return re.sub(r"\s+", " ", value).strip() + + +def sanitize_generated_text(value: str) -> str: + def replacement(match: re.Match[str]) -> str: + if match.group(0) == "\x0b": + return r"\v" + return " " + + return CONTROL_CHARACTER_PATTERN.sub(replacement, value) + + +def strip_markdown_links(text: str) -> str: + text = re.sub(r"\[([^\]]+)\]\([^)]+\)", r"\1", text) + text = re.sub(r"`([^`]+)`", r"\1", text) + return compact_whitespace(text) + + +def preview_text(value: str, limit: int = 200) -> str: + preview = compact_whitespace(strip_markdown_links(str(value or ""))) + if len(preview) > limit: + preview = preview[:limit] + "..." + return preview + + +def prompt_metadata(metadata: Dict[str, Any]) -> Dict[str, Any]: + keys = ( + "title", + "description", + "who_is_this_for", + "learning_objectives", + "prerequisites", + "skilllevels", + "subjects", + "tools_software_languages", + "operatingsystems", + "armips", + "cloud_service_providers", + "minutes_to_complete", + ) + return {key: metadata.get(key) for key in keys if metadata.get(key) not in (None, "", [])} + + +def prompt_steps( + steps: Sequence[StepPage], + step_limit: int = DEFAULT_PROMPT_STEP_LIMIT, + excerpt_chars: int = DEFAULT_PROMPT_EXCERPT_CHARS, +) -> List[Dict[str, Any]]: + prompt_pages: List[Dict[str, Any]] = [] + safe_step_limit = max(1, step_limit) + safe_excerpt_chars = max(200, excerpt_chars) + + for step in steps: + if step.path.name in {"_index.md", "_next-steps.md", "_review.md", "_demo.md"}: + continue + if as_bool(step.metadata.get("hide_from_navpane", False)): + continue + + excerpt = compact_whitespace(strip_markdown_links(step.content)) + prompt_pages.append( + { + "file": step.path.name, + "title": step.title, + "weight": step.weight, + "excerpt": excerpt[:safe_excerpt_chars], + } + ) + + return prompt_pages[:safe_step_limit] + + +def strip_front_matter_for_guidance(text: str) -> str: + match = re.match(r"\A---\s*\n.*?\n---\s*\n?(.*)\Z", text, re.DOTALL) + return match.group(1) if match else text + + +def guidance_excerpt(path: Path, char_limit: int) -> Dict[str, str]: + if not path.exists(): + return { + "path": report_path_for_output(path), + "excerpt": "", + } + + text = strip_front_matter_for_guidance(path.read_text(encoding="utf-8")) + text = re.sub(r"{{%[^%]*%}}", "", text) + excerpt = compact_whitespace(strip_markdown_links(text)) + if len(excerpt) > char_limit: + excerpt = excerpt[:char_limit].rstrip() + "..." + + return { + "path": report_path_for_output(path), + "excerpt": excerpt, + } + + +def build_authoring_guidance_context() -> List[Dict[str, str]]: + return [ + guidance_excerpt(path, char_limit) + for path, char_limit in AUTHORING_GUIDANCE_FILES + ] + + +def build_learning_path_prompt_context( + metadata: Dict[str, Any], + steps: Sequence[StepPage], + args: argparse.Namespace, +) -> Dict[str, Any]: + return { + "authoring_guidance": build_authoring_guidance_context(), + "metadata": prompt_metadata(metadata), + "steps": prompt_steps( + steps, + step_limit=args.prompt_step_limit, + excerpt_chars=args.prompt_excerpt_chars, + ), + "output_requirements": { + "summary": "One concise paragraph, approximately 70-120 words.", + "faqs": "Exactly 5 FAQs. Each answer should be 1-3 sentences.", + "voice": "Clear, specific, technically accurate, and aligned with Arm developer education content.", + "review": "Output will be reviewed by human contributors before publication.", + }, + } + + +def read_prompt_template(prompt_dir: Path, filename: str) -> str: + path = prompt_dir / filename + if not path.exists(): + raise FileNotFoundError(f"Prompt template not found: {path}") + return path.read_text(encoding="utf-8").strip() + + +def render_user_prompt(template: str, context: Dict[str, Any]) -> str: + context_json = json.dumps(context, ensure_ascii=False, indent=2, sort_keys=True) + return template.replace("{{ learning_path_context }}", context_json) + + +def extract_json_object(text: str) -> Dict[str, Any]: + cleaned = text.strip() + fenced_match = re.search(r"```(?:json)?\s*(.*?)\s*```", cleaned, re.DOTALL) + if fenced_match: + cleaned = fenced_match.group(1).strip() + + try: + payload = json.loads(cleaned) + except json.JSONDecodeError: + start = cleaned.find("{") + end = cleaned.rfind("}") + if start == -1 or end == -1 or end <= start: + raise + payload = json.loads(cleaned[start : end + 1]) + + if not isinstance(payload, dict): + raise ValueError("AI response must be a JSON object.") + return payload + + +def validate_ai_summary_faq(payload: Dict[str, Any]) -> Dict[str, Any]: + summary = compact_whitespace(sanitize_generated_text(str(payload.get("summary", "")))) + raw_faqs = payload.get("faqs") + + if not summary: + raise ValueError("AI response did not include a non-empty summary.") + first_person_match = SUMMARY_FIRST_PERSON_PATTERN.search(summary) + if first_person_match: + raise ValueError( + f"AI summary used first-person wording ({first_person_match.group(0)!r}); " + "summaries must use an editorial Learning Path voice." + ) + if not isinstance(raw_faqs, list) or not raw_faqs: + raise ValueError("AI response did not include a non-empty faqs list.") + + faqs: List[Dict[str, str]] = [] + for raw_faq in raw_faqs: + if not isinstance(raw_faq, dict): + continue + question = compact_whitespace(sanitize_generated_text(str(raw_faq.get("question", "")))) + answer = compact_whitespace(sanitize_generated_text(str(raw_faq.get("answer", "")))) + if question and answer: + faqs.append({"question": question, "answer": answer}) + + if len(faqs) != 5: + raise ValueError(f"AI response must include exactly 5 valid FAQs; received {len(faqs)}.") + + return { + "summary": summary, + "faqs": faqs, + } + + +def extract_response_text(response_payload: Dict[str, Any]) -> str: + output_text = response_payload.get("output_text") + if isinstance(output_text, str) and output_text.strip(): + return output_text + + output = response_payload.get("output") + if isinstance(output, list): + chunks: List[str] = [] + for item in output: + if not isinstance(item, dict): + continue + content = item.get("content") + if not isinstance(content, list): + continue + for content_item in content: + if not isinstance(content_item, dict): + continue + text = content_item.get("text") + if isinstance(text, str): + chunks.append(text) + if chunks: + return "\n".join(chunks) + + choices = response_payload.get("choices") + if isinstance(choices, list) and choices: + message = choices[0].get("message") if isinstance(choices[0], dict) else None + if isinstance(message, dict) and isinstance(message.get("content"), str): + return message["content"] + + raise ValueError("Could not find text output in AI response.") + + +def build_ssl_context(ca_bundle: str = "", insecure_skip_verify: bool = False) -> ssl.SSLContext: + if insecure_skip_verify: + return ssl._create_unverified_context() + if ca_bundle: + return ssl.create_default_context(cafile=ca_bundle) + return ssl.create_default_context() + + +def post_responses_request( + endpoint: str, + api_key: str, + payload: Dict[str, Any], + ca_bundle: str = "", + insecure_skip_verify: bool = False, + timeout: int = DEFAULT_OPENAI_TIMEOUT, + retries: int = DEFAULT_OPENAI_RETRIES, +) -> Dict[str, Any]: + request = urllib.request.Request( + endpoint, + data=json.dumps(payload).encode("utf-8"), + headers={ + "Authorization": f"Bearer {api_key}", + "Content-Type": "application/json", + }, + method="POST", + ) + + ssl_context = build_ssl_context(ca_bundle=ca_bundle, insecure_skip_verify=insecure_skip_verify) + max_attempts = max(1, retries + 1) + last_error: Exception | None = None + + for attempt in range(1, max_attempts + 1): + try: + with urllib.request.urlopen(request, timeout=timeout, context=ssl_context) as response: + body = response.read().decode("utf-8") + break + except urllib.error.HTTPError as exc: + error_body = exc.read().decode("utf-8", errors="replace") + if exc.code not in {408, 429, 500, 502, 503, 504} or attempt == max_attempts: + raise RuntimeError(f"AI endpoint returned HTTP {exc.code}: {error_body}") from exc + last_error = RuntimeError(f"AI endpoint returned HTTP {exc.code}: {error_body}") + except TimeoutError as exc: + if attempt == max_attempts: + raise RuntimeError(f"AI endpoint timed out after {timeout} seconds.") from exc + last_error = exc + except urllib.error.URLError as exc: + reason = str(exc.reason) + if "CERTIFICATE_VERIFY_FAILED" in reason: + raise RuntimeError( + "Could not verify the AI endpoint TLS certificate. " + "Set OPENAI_CA_BUNDLE to your Arm corporate CA bundle, or use " + "OPENAI_INSECURE_SKIP_VERIFY=true for local testing only. " + f"Original error: {reason}" + ) from exc + if attempt == max_attempts: + raise RuntimeError(f"Could not reach AI endpoint: {exc.reason}") from exc + last_error = exc + + sleep_seconds = min(20, 2 ** (attempt - 1)) + time.sleep(sleep_seconds) + else: + raise RuntimeError(f"AI endpoint failed after {max_attempts} attempts: {last_error}") + + try: + parsed = json.loads(body) + except json.JSONDecodeError as exc: + raise ValueError(f"AI endpoint returned non-JSON response: {body[:500]}") from exc + + if not isinstance(parsed, dict): + raise ValueError("AI endpoint response must be a JSON object.") + + return parsed + + +def generate_ai_summary_faq(metadata: Dict[str, Any], steps: Sequence[StepPage], args: argparse.Namespace) -> Dict[str, Any]: + api_key = os.getenv("OPENAI_API_KEY", "").strip() + if not api_key: + raise RuntimeError("OPENAI_API_KEY is required for AI-assisted summary/FAQ generation.") + + prompt_dir = Path(args.prompt_dir) + system_prompt = read_prompt_template(prompt_dir, "summary_faq_system.md") + user_template = read_prompt_template(prompt_dir, "summary_faq_user.md") + user_prompt = render_user_prompt( + user_template, + build_learning_path_prompt_context(metadata, steps, args), + ) + + prompt_input = ( + f"{system_prompt}\n\n" + "Use the following Learning Path context to produce the required JSON response.\n\n" + f"{user_prompt}" + ) + + response_payload = post_responses_request( + endpoint=args.openai_base_url, + api_key=api_key, + payload={ + "model": args.openai_model, + "input": prompt_input, + }, + ca_bundle=args.openai_ca_bundle, + insecure_skip_verify=args.openai_insecure_skip_verify, + timeout=args.openai_timeout, + retries=args.openai_retries, + ) + + content = extract_response_text(response_payload) + return validate_ai_summary_faq(extract_json_object(content)) + + +def build_desired_summary_faq( + metadata: Dict[str, Any], + steps: Sequence[StepPage], + args: argparse.Namespace, +) -> Dict[str, Any]: + return generate_ai_summary_faq(metadata, steps, args) + + +def build_source_hash(metadata: Dict[str, Any], steps: Sequence[StepPage]) -> str: + relevant = { + "title": metadata.get("title"), + "description": metadata.get("description"), + "who_is_this_for": metadata.get("who_is_this_for"), + "learning_objectives": metadata.get("learning_objectives"), + "prerequisites": metadata.get("prerequisites"), + "tools_software_languages": metadata.get("tools_software_languages"), + "operatingsystems": metadata.get("operatingsystems"), + "armips": metadata.get("armips"), + "cloud_service_providers": metadata.get("cloud_service_providers"), + "step_titles": [ + { + "file": step.path.name, + "title": step.title, + "weight": step.weight, + "hidden": bool(step.metadata.get("hide_from_navpane", False)), + } + for step in steps + ], + } + payload = json.dumps(relevant, sort_keys=True, ensure_ascii=False) + return hashlib.sha256(payload.encode("utf-8")).hexdigest() + + +def extract_existing_summary(existing_generated: Dict[str, Any] | None) -> str: + if not isinstance(existing_generated, dict): + return "" + value = existing_generated.get("summary", "") + if value is None: + return "" + return str(value).strip() + + +def extract_existing_faqs(existing_generated: Dict[str, Any] | None) -> List[Dict[str, str]]: + if not isinstance(existing_generated, dict): + return [] + + raw_faqs = existing_generated.get("faqs") + if not isinstance(raw_faqs, list): + return [] + + normalized: List[Dict[str, str]] = [] + for raw_faq in raw_faqs: + if not isinstance(raw_faq, dict): + continue + question = str(raw_faq.get("question", "")).strip() + answer = str(raw_faq.get("answer", "")).strip() + if question and answer: + normalized.append({"question": question, "answer": answer}) + return normalized + + +def summaries_differ(existing: str, new: str) -> bool: + return compact_whitespace(existing) != compact_whitespace(new) + + +def faq_mapping(faqs: Sequence[Dict[str, Any]]) -> Dict[str, str]: + mapping: Dict[str, str] = {} + for faq in faqs: + if not isinstance(faq, dict): + continue + question = compact_whitespace(str(faq.get("question", ""))) + answer = compact_whitespace(str(faq.get("answer", ""))) + if question: + mapping[question] = answer + return mapping + + +def classify_faq_changes(existing_faqs: Sequence[Dict[str, Any]], new_faqs: Sequence[Dict[str, Any]]) -> Dict[str, Any]: + existing_by_question = faq_mapping(existing_faqs) + new_by_question = faq_mapping(new_faqs) + + added_questions = [question for question in new_by_question if question not in existing_by_question] + removed_questions = [question for question in existing_by_question if question not in new_by_question] + updated_questions = [ + question + for question in new_by_question + if question in existing_by_question and new_by_question[question] != existing_by_question[question] + ] + + return { + "before_count": len(existing_by_question), + "after_count": len(new_by_question), + "added_questions": added_questions, + "removed_questions": removed_questions, + "updated_questions": updated_questions, + } + + +def faq_differences_exist(change_details: Dict[str, Any]) -> bool: + return bool( + change_details["added_questions"] + or change_details["removed_questions"] + or change_details["updated_questions"] + or change_details["before_count"] != change_details["after_count"] + ) + + +def get_existing_section_source_hash(existing_generated: Dict[str, Any] | None, section: str) -> str: + if not isinstance(existing_generated, dict): + return "" + + key = SUMMARY_SOURCE_HASH_KEY if section == "summary" else FAQ_SOURCE_HASH_KEY + value = compact_whitespace(str(existing_generated.get(key, ""))) + if value: + return value + + return compact_whitespace(str(existing_generated.get("source_hash", ""))) + + +def get_existing_section_generated_at(existing_generated: Dict[str, Any] | None, section: str) -> str: + if not isinstance(existing_generated, dict): + return "" + + key = SUMMARY_GENERATED_AT_KEY if section == "summary" else FAQ_GENERATED_AT_KEY + value = compact_whitespace(str(existing_generated.get(key, ""))) + if value: + return value + + return compact_whitespace(str(existing_generated.get("generated_at", ""))) + + +def normalize_faqs_for_output(faqs: Sequence[Dict[str, Any]]) -> List[Dict[str, Any]]: + wrapped_faqs: List[Dict[str, Any]] = [] + for faq in faqs: + question = str(faq.get("question", "")).strip() + answer = str(faq.get("answer", "")).strip() + if not question or not answer: + continue + wrapped_faqs.append({"question": question, "answer": BlockString(answer)}) + return wrapped_faqs + + +def make_managed_yaml_block(generated_block: Dict[str, Any]) -> str: + serializable = {GENERATED_KEY: copy.deepcopy(generated_block)} + yaml_block = yaml.dump( + serializable, + Dumper=ReadableDumper, + sort_keys=False, + allow_unicode=True, + width=92, + default_flow_style=False, + ).rstrip() + + lines = [MANAGED_START, yaml_block, MANAGED_END] + return "\n".join(lines) + + +def insert_or_replace_managed_block(front_matter_text: str, generated_block: Dict[str, Any]) -> str: + managed_block = make_managed_yaml_block(generated_block) + marker_pattern = re.compile( + rf"(?ms)^[ \t]*{re.escape(MANAGED_START)}\n.*?^[ \t]*{re.escape(MANAGED_END)}[ \t]*\n?" + ) + + if marker_pattern.search(front_matter_text): + updated = marker_pattern.sub(managed_block + "\n", front_matter_text).rstrip() + return updated + + insertion_patterns = [ + re.compile(r"(?m)^author:\s"), + re.compile(r"(?m)^### Tags\s*$"), + re.compile(r"(?m)^### FIXED, DO NOT MODIFY\s*$"), + ] + + for pattern in insertion_patterns: + match = pattern.search(front_matter_text) + if match: + insert_at = match.start() + prefix = front_matter_text[:insert_at].rstrip() + suffix = front_matter_text[insert_at:].lstrip("\n") + parts = [part for part in [prefix, managed_block, suffix] if part] + return "\n\n".join(parts).rstrip() + + return (front_matter_text.rstrip() + "\n\n" + managed_block).rstrip() + + +def replace_top_level_scalar_line(front_matter_text: str, key: str, new_value: str) -> str: + pattern = re.compile(rf"(?m)^{re.escape(key)}:\s*.*$") + if not pattern.search(front_matter_text): + return front_matter_text + return pattern.sub(f"{key}: {new_value}", front_matter_text, count=1) + + +def rebuild_markdown(doc: MarkdownDocument, updated_front_matter_text: str) -> str: + content = doc.content.lstrip("\n") + return f"---\n{updated_front_matter_text.rstrip()}\n---\n\n{content}" + + +def report_path_for_output(path: Path) -> str: + try: + return str(path.relative_to(REPO_ROOT)) + except ValueError: + return str(path) + + +def build_section_output_metadata( + existing_generated: Dict[str, Any] | None, + current_source_hash: str, + generated_at: str, + section: str, + action: str, + section_matches_current: bool, +) -> Dict[str, str]: + existing_source_hash = get_existing_section_source_hash(existing_generated, section) + existing_generated_at = get_existing_section_generated_at(existing_generated, section) + + if action in CHANGE_ACTIONS: + return { + "source_hash": current_source_hash, + "generated_at": generated_at, + } + + if existing_source_hash: + source_hash = existing_source_hash + elif section_matches_current: + source_hash = current_source_hash + else: + source_hash = "" + + if existing_generated_at: + section_generated_at = existing_generated_at + elif section_matches_current: + section_generated_at = generated_at + else: + section_generated_at = "" + + return { + "source_hash": source_hash, + "generated_at": section_generated_at, + } + + +def build_updated_generated_block( + existing_generated: Dict[str, Any] | None, + summary_after: str, + faqs_after: Sequence[Dict[str, Any]], + desired_summary: str, + desired_faqs: Sequence[Dict[str, Any]], + current_source_hash: str, + generated_at: str, + summary_action: str, + faq_action: str, + model: str, +) -> Dict[str, Any]: + summary_matches_current = not summaries_differ(summary_after, desired_summary) + faqs_match_current = not faq_differences_exist(classify_faq_changes(faqs_after, desired_faqs)) + + summary_meta = build_section_output_metadata( + existing_generated=existing_generated, + current_source_hash=current_source_hash, + generated_at=generated_at, + section="summary", + action=summary_action, + section_matches_current=summary_matches_current, + ) + faq_meta = build_section_output_metadata( + existing_generated=existing_generated, + current_source_hash=current_source_hash, + generated_at=generated_at, + section="faqs", + action=faq_action, + section_matches_current=faqs_match_current, + ) + + if summary_matches_current and faqs_match_current: + top_level_source_hash = current_source_hash + else: + top_level_source_hash = compact_whitespace(str((existing_generated or {}).get("source_hash", ""))) or current_source_hash + + return { + "template_version": TEMPLATE_VERSION, + "generated_at": generated_at, + "generator": "ai", + "ai_assisted": True, + "ai_review_required": True, + "model": model, + "prompt_template": PROMPT_TEMPLATE_VERSION, + "source_hash": top_level_source_hash, + SUMMARY_GENERATED_AT_KEY: summary_meta["generated_at"], + SUMMARY_SOURCE_HASH_KEY: summary_meta["source_hash"], + FAQ_GENERATED_AT_KEY: faq_meta["generated_at"], + FAQ_SOURCE_HASH_KEY: faq_meta["source_hash"], + "summary": BlockString(summary_after), + "faqs": normalize_faqs_for_output(faqs_after), + } + + +def build_result_status( + existing_generated: Dict[str, Any] | None, + changed_on_disk: bool, + summary_drift_detected: bool, + faq_drift_detected: bool, +) -> str: + if existing_generated is None and changed_on_disk: + return "added" + if changed_on_disk: + return "updated" + if summary_drift_detected or faq_drift_detected: + return "drift_detected" + return "unchanged" + + +def zeroed_action_counts(actions: Sequence[str]) -> Dict[str, int]: + return {action: 0 for action in actions} + + +def build_run_report( + args: argparse.Namespace, + processed_paths: Sequence[Path], + per_path_results: Sequence[Dict[str, Any]], +) -> Dict[str, Any]: + totals = { + "processed": len(processed_paths), + "added": 0, + "updated": 0, + "unchanged": 0, + "drift_detected": 0, + "paths_with_drift": 0, + "skipped": 0, + "errors": 0, + "removed": 0, + "ai_requests": 0, + "summary_changed": 0, + "faq_changed": 0, + "generation_flags_reset": 0, + "rerun_flags_reset": 0, + } + section_totals = { + "summary": zeroed_action_counts(SUMMARY_ACTIONS), + "faqs": zeroed_action_counts(FAQ_ACTIONS), + } + reason_totals = {reason: 0 for reason in REASON_ORDER} + + for result in per_path_results: + status = result.get("status", "error") + totals_key = "errors" if status == "error" else status + if totals_key in totals: + totals[totals_key] += 1 + + summary_result = result.get("summary", {}) + if summary_result.get("changed"): + totals["summary_changed"] += 1 + summary_action = summary_result.get("action") + if summary_action in section_totals["summary"]: + section_totals["summary"][summary_action] += 1 + + faq_result = result.get("faqs", {}) + if faq_result.get("changed"): + totals["faq_changed"] += 1 + faq_action = faq_result.get("action") + if faq_action in section_totals["faqs"]: + section_totals["faqs"][faq_action] += 1 + + if summary_result.get("drift_detected") or faq_result.get("drift_detected"): + totals["paths_with_drift"] += 1 + + if result.get("ai_requested"): + totals["ai_requests"] += 1 + + generation_flags_reset = result.get("generation_flags_reset", []) + if generation_flags_reset: + totals["generation_flags_reset"] += 1 + + rerun_flags_reset = result.get("rerun_flags_reset", []) + if rerun_flags_reset: + totals["rerun_flags_reset"] += 1 + + for reason in result.get("change_reasons", []): + if reason not in reason_totals: + reason_totals[reason] = 0 + reason_totals[reason] += 1 + + return { + "timestamp": current_timestamp(), + "mode": "write" if args.write else "dry-run", + "require_enable_flag": not args.allow_unflagged, + "path_filter": args.path_filter or "", + "category": args.category or "", + "limit": args.limit, + "run_url": args.run_url or "", + "git_ref": args.git_ref or "", + "git_sha": args.git_sha or "", + "actor": args.actor or "", + "template_version": TEMPLATE_VERSION, + "openai_base_url": args.openai_base_url, + "openai_model": args.openai_model, + "prompt_template": PROMPT_TEMPLATE_VERSION, + "markdown_report_file": args.markdown_report_file or "", + "totals": totals, + "section_totals": section_totals, + "reason_totals": reason_totals, + "paths": per_path_results, + } + + +def write_report(report_file: Path, run_report: Dict[str, Any], history_limit: int) -> None: + report_file.parent.mkdir(parents=True, exist_ok=True) + + existing_history: List[Dict[str, Any]] = [] + if report_file.exists(): + try: + current = yaml.safe_load(report_file.read_text(encoding="utf-8")) or {} + existing_history = current.get("history", []) or [] + except Exception: + existing_history = [] + + history = [copy.deepcopy(run_report)] + existing_history + history = history[:history_limit] + + payload = { + "latest_run": copy.deepcopy(run_report), + "history": history, + } + + report_text = yaml.dump( + payload, + Dumper=ReadableDumper, + sort_keys=False, + allow_unicode=True, + width=100, + default_flow_style=False, + ) + report_file.write_text(report_text, encoding="utf-8") + + +def markdown_escape(value: Any) -> str: + text = str(value if value is not None else "") + return text.replace("|", "\\|").replace("\n", "
    ") + + +def markdown_metric_row(label: str, value: Any) -> str: + return f"| {markdown_escape(label)} | {markdown_escape(value)} |" + + +def render_markdown_report(run_report: Dict[str, Any]) -> str: + totals = run_report.get("totals", {}) + section_totals = run_report.get("section_totals", {}) + reason_totals = run_report.get("reason_totals", {}) + paths = run_report.get("paths", []) + + lines: List[str] = [ + "# Generate Summary/FAQ Report", + "", + f"Generated at: `{markdown_escape(run_report.get('timestamp', ''))}`", + "", + "| Field | Value |", + "| --- | --- |", + markdown_metric_row("Mode", run_report.get("mode", "")), + markdown_metric_row("Require enable flag", run_report.get("require_enable_flag", "")), + markdown_metric_row("Category", run_report.get("category", "") or "all"), + markdown_metric_row("Path filter", run_report.get("path_filter", "") or "none"), + markdown_metric_row("Limit", run_report.get("limit", 0)), + markdown_metric_row("Model", run_report.get("openai_model", "")), + markdown_metric_row("Prompt template", run_report.get("prompt_template", "")), + "", + "## Run Overview", + "", + "| Metric | Count |", + "| --- | ---: |", + markdown_metric_row("Processed", totals.get("processed", 0)), + markdown_metric_row("Added", totals.get("added", 0)), + markdown_metric_row("Updated", totals.get("updated", 0)), + markdown_metric_row("Drift detected", totals.get("drift_detected", 0)), + markdown_metric_row("Paths with drift", totals.get("paths_with_drift", 0)), + markdown_metric_row("Skipped", totals.get("skipped", 0)), + markdown_metric_row("Unchanged", totals.get("unchanged", 0)), + markdown_metric_row("Errors", totals.get("errors", 0)), + markdown_metric_row("AI requests", totals.get("ai_requests", 0)), + markdown_metric_row("Summary changed", totals.get("summary_changed", 0)), + markdown_metric_row("FAQs changed", totals.get("faq_changed", 0)), + markdown_metric_row("Generation flags reset", totals.get("generation_flags_reset", 0)), + markdown_metric_row("Rerun flags reset", totals.get("rerun_flags_reset", 0)), + "", + ] + + for section_name, title in (("summary", "Summary Actions"), ("faqs", "FAQ Actions")): + actions = section_totals.get(section_name, {}) + lines.extend( + [ + f"## {title}", + "", + "| Action | Count |", + "| --- | ---: |", + ] + ) + for action in SUMMARY_ACTIONS: + lines.append(markdown_metric_row(action, actions.get(action, 0))) + lines.append("") + + nonzero_reasons = [(reason, count) for reason, count in reason_totals.items() if count] + if nonzero_reasons: + lines.extend(["## Change Reasons", "", "| Reason | Count |", "| --- | ---: |"]) + for reason, count in nonzero_reasons: + lines.append(markdown_metric_row(reason, count)) + lines.append("") + + interesting_paths = [ + entry + for entry in paths + if entry.get("status") != "unchanged" or entry.get("change_reasons") or entry.get("status") == "error" + ] + + if interesting_paths: + lines.extend( + [ + "## Path Details", + "", + "| Path | Status | Summary | FAQs | Reasons | Notes |", + "| --- | --- | --- | --- | --- | --- |", + ] + ) + for entry in interesting_paths: + summary = entry.get("summary", {}) + faqs = entry.get("faqs", {}) + reasons = ", ".join(entry.get("change_reasons", [])) or "none" + notes = "" + if entry.get("status") == "error": + notes = entry.get("error", "") + elif entry.get("status") == "skipped": + notes = entry.get("skip_reason", "") + elif faqs: + notes = f"FAQs {faqs.get('before_count', 0)} -> {faqs.get('after_count', 0)}" + + lines.append( + "| `{path}` | {status} | {summary_action} | {faq_action} | {reasons} | {notes} |".format( + path=markdown_escape(entry.get("path", "")), + status=markdown_escape(entry.get("status", "")), + summary_action=markdown_escape(summary.get("action", "")), + faq_action=markdown_escape(faqs.get("action", "")), + reasons=markdown_escape(reasons), + notes=markdown_escape(notes), + ) + ) + lines.append("") + else: + lines.extend(["## Path Details", "", "All processed Learning Paths were unchanged.", ""]) + + changed_previews = [ + entry + for entry in interesting_paths + if entry.get("summary", {}).get("changed") or entry.get("faqs", {}).get("changed") + ] + if changed_previews: + lines.extend( + [ + "## Changed Content Preview", + "", + "| Path | Summary Preview | FAQ Change Details |", + "| --- | --- | --- |", + ] + ) + for entry in changed_previews: + summary = entry.get("summary", {}) + faqs = entry.get("faqs", {}) + details = faqs.get("change_details", {}) + faq_details = ( + f"before={details.get('before_count', 0)}, " + f"after={details.get('after_count', 0)}, " + f"added={len(details.get('added_questions', []))}, " + f"removed={len(details.get('removed_questions', []))}, " + f"updated={len(details.get('updated_questions', []))}" + ) + lines.append( + "| `{path}` | {summary_preview} | {faq_details} |".format( + path=markdown_escape(entry.get("path", "")), + summary_preview=markdown_escape(summary.get("preview_after", "")), + faq_details=markdown_escape(faq_details), + ) + ) + lines.append("") + + return "\n".join(lines).rstrip() + "\n" + + +def write_markdown_report(markdown_report_file: Path, run_report: Dict[str, Any]) -> None: + markdown_report_file.parent.mkdir(parents=True, exist_ok=True) + markdown_report_file.write_text(render_markdown_report(run_report), encoding="utf-8") + + +def print_result_summary(args: argparse.Namespace, run_report: Dict[str, Any]) -> None: + totals = run_report["totals"] + emit( + args, + "Processed {processed} Learning Paths: " + "{added} added, {updated} updated, {drift_detected} drift detected, " + "{paths_with_drift} paths with drift, " + "{skipped} skipped, {unchanged} unchanged, {errors} errors, {ai_requests} AI requests.".format(**totals) + ) + + summary_actions = run_report["section_totals"]["summary"] + faq_actions = run_report["section_totals"]["faqs"] + emit( + args, + "Summary actions: " + f"{summary_actions['created']} created, " + f"{summary_actions['repaired_missing']} repaired_missing, " + f"{summary_actions['rerun_requested']} rerun_requested, " + f"{summary_actions['generator_changed']} generator_changed, " + f"{summary_actions['drift_detected_preserved']} drift_detected_preserved." + ) + emit( + args, + "FAQ actions: " + f"{faq_actions['created']} created, " + f"{faq_actions['repaired_missing']} repaired_missing, " + f"{faq_actions['rerun_requested']} rerun_requested, " + f"{faq_actions['generator_changed']} generator_changed, " + f"{faq_actions['drift_detected_preserved']} drift_detected_preserved." + ) + emit( + args, + "Flag resets: " + f"{totals.get('generation_flags_reset', 0)} generation flag sets reset, " + f"{totals.get('rerun_flags_reset', 0)} rerun flag sets reset." + ) + + for result in run_report["paths"]: + status = result["status"] + summary_action = result.get("summary", {}).get("action", "") + faq_action = result.get("faqs", {}).get("action", "") + reasons = ", ".join(result.get("change_reasons", [])) or "none" + line = f"- {status.upper():14s} {result['path']} | summary={summary_action} | faqs={faq_action} | reasons={reasons}" + if status == "error": + line += f" | error={result.get('error', 'Unknown error')}" + if status == "skipped": + line += f" | skip_reason={result.get('skip_reason', 'unknown')}" + emit(args, line) + + +def candidate_learning_paths(args: argparse.Namespace) -> tuple[List[Path], bool]: + explicit_paths = normalize_path_filter(args.path_filter) if args.path_filter else [] + if explicit_paths: + return explicit_paths, True + elif args.category: + return discover_category_indexes(args.category), False + return discover_learning_path_indexes(), False + + +def skipped_result(index_path: Path, reason: str) -> Dict[str, Any]: + return { + "path": report_path_for_output(index_path), + "status": "skipped", + "skip_reason": reason, + "change_reasons": [reason], + "ai_requested": False, + "summary": {"action": "skipped"}, + "faqs": {"action": "skipped"}, + } + + +def selection_plan(args: argparse.Namespace) -> tuple[List[Path], List[Path], Dict[Path, Dict[str, Any]]]: + candidates, explicit = candidate_learning_paths(args) + selected: List[Path] = [] + skipped: Dict[Path, Dict[str, Any]] = {} + + for index_path in candidates: + doc = read_markdown_document(index_path) + if is_draft(doc): + skipped[index_path] = skipped_result(index_path, "draft") + continue + if not args.allow_unflagged and not has_enable_flag(doc): + skipped[index_path] = skipped_result(index_path, f"{ENABLE_FLAG}_false") + continue + selected.append(index_path) + + if not explicit and args.limit > 0 and len(selected) > args.limit: + limited = set(selected[: args.limit]) + for index_path in selected[args.limit :]: + skipped[index_path] = skipped_result(index_path, "limit") + selected = [path for path in selected if path in limited] + + return candidates, selected, skipped + + +def select_learning_paths(args: argparse.Namespace) -> List[Path]: + _, selected, _ = selection_plan(args) + return selected + + +def process_learning_path(index_path: Path, args: argparse.Namespace) -> Dict[str, Any]: + ai_requested = False + try: + doc = read_markdown_document(index_path) + steps = load_steps(index_path) + + existing_generated = doc.metadata.get(GENERATED_KEY) + if existing_generated is not None and not isinstance(existing_generated, dict): + raise ValueError(f"{GENERATED_KEY} in {index_path} must be a mapping when present.") + + rerun_summary_requested = as_bool(doc.metadata.get(RERUN_SUMMARY_FLAG)) + rerun_faqs_requested = as_bool(doc.metadata.get(RERUN_FAQS_FLAG)) + + generated_at = current_timestamp() + current_source_hash = build_source_hash(doc.metadata, steps) + + existing_summary = extract_existing_summary(existing_generated) + existing_faqs = extract_existing_faqs(existing_generated) + existing_generator = compact_whitespace(str((existing_generated or {}).get("generator", ""))) + generator_changed = bool(existing_generated is not None and existing_generator != "ai") + + summary_missing_before = existing_generated is not None and not compact_whitespace(existing_summary) + faqs_missing_before = existing_generated is not None and not existing_faqs + summary_needs_generation = bool( + existing_generated is None + or generator_changed + or summary_missing_before + or rerun_summary_requested + ) + faqs_needs_generation = bool( + existing_generated is None + or generator_changed + or faqs_missing_before + or rerun_faqs_requested + ) + ai_requested = summary_needs_generation or faqs_needs_generation + + if ai_requested: + desired_content = build_desired_summary_faq(doc.metadata, steps, args) + desired_summary = desired_content["summary"] + desired_faqs = desired_content["faqs"] + else: + desired_summary = existing_summary + desired_faqs = existing_faqs + + change_reasons: List[str] = [] + if existing_generated is None: + change_reasons.append("initial_generation") + + if summary_missing_before: + change_reasons.append("missing_summary") + if faqs_missing_before: + change_reasons.append("missing_faqs") + + if rerun_summary_requested: + change_reasons.append("rerun_summary") + if rerun_faqs_requested: + change_reasons.append("rerun_faqs") + if generator_changed: + change_reasons.append("generator_changed") + + if existing_generated is None: + summary_action = "created" + summary_after = desired_summary + elif generator_changed: + summary_action = "generator_changed" + summary_after = desired_summary + elif summary_missing_before: + summary_action = "repaired_missing" + summary_after = desired_summary + elif rerun_summary_requested: + summary_action = "rerun_requested" + summary_after = desired_summary + else: + summary_action = "unchanged" + summary_after = existing_summary + + if existing_generated is None: + faq_action = "created" + faqs_after = desired_faqs + elif generator_changed: + faq_action = "generator_changed" + faqs_after = desired_faqs + elif faqs_missing_before: + faq_action = "repaired_missing" + faqs_after = desired_faqs + elif rerun_faqs_requested: + faq_action = "rerun_requested" + faqs_after = desired_faqs + else: + faq_action = "unchanged" + faqs_after = existing_faqs + + summary_changed = summaries_differ(existing_summary, summary_after) + faq_change_details = classify_faq_changes(existing_faqs, faqs_after) + faq_changed = faq_differences_exist(faq_change_details) + + summary_drift_detected = summary_action == "drift_detected_preserved" + faq_generated_diff = classify_faq_changes(existing_faqs, desired_faqs) if ai_requested else {} + faq_drift_detected = faq_action == "drift_detected_preserved" + + managed_block_updated = existing_generated is None or summary_action in CHANGE_ACTIONS or faq_action in CHANGE_ACTIONS + generation_flags_reset = [] + if as_bool(doc.metadata.get(ENABLE_FLAG)): + generation_flags_reset.append(ENABLE_FLAG) + if rerun_summary_requested: + generation_flags_reset.append(RERUN_SUMMARY_FLAG) + if rerun_faqs_requested: + generation_flags_reset.append(RERUN_FAQS_FLAG) + rerun_flags_reset = [ + flag for flag in generation_flags_reset if flag in {RERUN_SUMMARY_FLAG, RERUN_FAQS_FLAG} + ] + if generation_flags_reset: + change_reasons.append("generation_flags_reset") + if rerun_flags_reset: + change_reasons.append("rerun_flags_reset") + + updated_front_matter = doc.front_matter_text + summary_source_hash_after = get_existing_section_source_hash(existing_generated, "summary") + summary_generated_at_after = get_existing_section_generated_at(existing_generated, "summary") + faq_source_hash_after = get_existing_section_source_hash(existing_generated, "faqs") + faq_generated_at_after = get_existing_section_generated_at(existing_generated, "faqs") + template_version_after = compact_whitespace(str((existing_generated or {}).get("template_version", ""))) + + if managed_block_updated: + updated_generated = build_updated_generated_block( + existing_generated=existing_generated, + summary_after=summary_after, + faqs_after=faqs_after, + desired_summary=desired_summary, + desired_faqs=desired_faqs, + current_source_hash=current_source_hash, + generated_at=generated_at, + summary_action=summary_action, + faq_action=faq_action, + model=args.openai_model, + ) + updated_front_matter = insert_or_replace_managed_block(updated_front_matter, updated_generated) + summary_source_hash_after = compact_whitespace(str(updated_generated.get(SUMMARY_SOURCE_HASH_KEY, ""))) + summary_generated_at_after = compact_whitespace(str(updated_generated.get(SUMMARY_GENERATED_AT_KEY, ""))) + faq_source_hash_after = compact_whitespace(str(updated_generated.get(FAQ_SOURCE_HASH_KEY, ""))) + faq_generated_at_after = compact_whitespace(str(updated_generated.get(FAQ_GENERATED_AT_KEY, ""))) + template_version_after = compact_whitespace(str(updated_generated.get("template_version", ""))) + + for flag in generation_flags_reset: + updated_front_matter = replace_top_level_scalar_line(updated_front_matter, flag, "false") + + updated_markdown = rebuild_markdown(doc, updated_front_matter) + changed_on_disk = updated_markdown != doc.raw_text + + if args.write and changed_on_disk: + index_path.write_text(updated_markdown, encoding="utf-8") + + result_status = build_result_status( + existing_generated=existing_generated, + changed_on_disk=changed_on_disk, + summary_drift_detected=summary_drift_detected, + faq_drift_detected=faq_drift_detected, + ) + + return { + "path": report_path_for_output(index_path), + "status": result_status, + "changed_on_disk": changed_on_disk, + "managed_block_updated": managed_block_updated, + "ai_requested": ai_requested, + "generation_flags_reset": generation_flags_reset, + "rerun_flags_reset": rerun_flags_reset, + "change_reasons": change_reasons, + "template_version_before": compact_whitespace(str((existing_generated or {}).get("template_version", ""))), + "template_version_after": template_version_after, + "summary": { + "action": summary_action, + "missing_before": summary_missing_before, + "rerun_requested": rerun_summary_requested, + "changed": summary_changed, + "drift_detected": summary_drift_detected, + "source_hash_before": get_existing_section_source_hash(existing_generated, "summary"), + "source_hash_after": summary_source_hash_after, + "current_source_hash": current_source_hash, + "generated_at_before": get_existing_section_generated_at(existing_generated, "summary"), + "generated_at_after": summary_generated_at_after, + "preview_before": preview_text(existing_summary), + "preview_after": preview_text(summary_after), + "preview_generated": preview_text(desired_summary), + }, + "faqs": { + "action": faq_action, + "missing_before": faqs_missing_before, + "rerun_requested": rerun_faqs_requested, + "changed": faq_changed, + "drift_detected": faq_drift_detected, + "source_hash_before": get_existing_section_source_hash(existing_generated, "faqs"), + "source_hash_after": faq_source_hash_after, + "current_source_hash": current_source_hash, + "generated_at_before": get_existing_section_generated_at(existing_generated, "faqs"), + "generated_at_after": faq_generated_at_after, + "before_count": len(existing_faqs), + "after_count": len(faqs_after), + "generated_count": len(desired_faqs), + "change_details": faq_change_details, + "generated_diff": faq_generated_diff, + }, + } + except Exception as exc: + return { + "path": report_path_for_output(index_path), + "status": "error", + "ai_requested": ai_requested, + "error": str(exc), + } + + +def main() -> int: + args = parse_args() + initialize_log(args) + candidate_paths, selected_paths, skipped_results = selection_plan(args) + + if not args.quiet_progress: + emit( + args, + "Selection summary: " + f"{len(selected_paths)} selected, {len(skipped_results)} skipped, " + f"{len(candidate_paths)} candidates.", + flush=True, + ) + + if not selected_paths: + emit(args, "No Learning Paths matched the current selection rules.") + run_report = build_run_report(args, [], list(skipped_results.values())) + if not args.no_write_report: + write_report(Path(args.report_file), run_report, args.history_limit) + emit(args, f"Wrote report to {report_path_for_output(Path(args.report_file))}") + if args.markdown_report_file: + write_markdown_report(Path(args.markdown_report_file), run_report) + emit(args, f"Wrote Markdown report to {report_path_for_output(Path(args.markdown_report_file))}") + return 0 + + results = [] + selected_set = set(selected_paths) + total_paths = len(candidate_paths) + for index, path in enumerate(candidate_paths, start=1): + if path in skipped_results: + result = skipped_results[path] + results.append(result) + if not args.quiet_progress: + emit( + args, + f"[{index}/{total_paths}] Skipping {report_path_for_output(path)} " + f"({result.get('skip_reason', 'unknown')})", + flush=True, + ) + continue + + if path not in selected_set: + continue + + if not args.quiet_progress: + emit(args, f"[{index}/{total_paths}] Processing {report_path_for_output(path)}", flush=True) + result = process_learning_path(path, args) + results.append(result) + if not args.quiet_progress and result.get("status") == "error": + emit(args, f"[{index}/{total_paths}] ERROR {result.get('error', 'Unknown error')}", flush=True) + + run_report = build_run_report(args, selected_paths, results) + + if not args.no_write_report: + write_report(Path(args.report_file), run_report, args.history_limit) + emit(args, f"Wrote report to {report_path_for_output(Path(args.report_file))}") + + if args.markdown_report_file: + write_markdown_report(Path(args.markdown_report_file), run_report) + emit(args, f"Wrote Markdown report to {report_path_for_output(Path(args.markdown_report_file))}") + + print_result_summary(args, run_report) + + if run_report["totals"]["errors"] > 0: + return 1 + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/prompts/summary_faq_system.md b/tools/prompts/summary_faq_system.md new file mode 100644 index 0000000000..aaf7235add --- /dev/null +++ b/tools/prompts/summary_faq_system.md @@ -0,0 +1,49 @@ +You are an expert technical editor for Arm Learning Paths. + +Create AI-assisted draft content for Arm Learning Path pages in `content/learning-paths`. The content must be accurate to the supplied Learning Path context, specific to Arm developer education, concise, and ready for human technical review. + +Authoring rules: +- Use only the supplied context. Do not invent products, prerequisites, tools, claims, performance numbers, compatibility details, or outcomes. +- Treat the supplied Learning Path as the source of truth. If a detail is not present, either omit it or state that it is not explicitly listed. +- Preserve the intent of the Learning Path author. Do not rewrite the path into a different task, audience, platform, toolchain, or level of difficulty. +- Follow the supplied authoring guidance from `.github/copilot-instructions.md` and `content/learning-paths/cross-platform/_example-learning-path/`. +- Treat existing page fields and sections as already visible to the learner. Do not repeat information that is already covered by the title, description, objectives, "What will you learn?", prerequisites, tool/install lists, or setup sections. +- Use prerequisites, objectives, tags, and metadata only to understand the path and avoid contradictions. Do not restate prerequisites in the summary or FAQ unless the question addresses a specific action or blocker that occurs while following the steps. +- Prefer concrete verbs such as install, configure, build, deploy, benchmark, profile, debug, validate, or compare when those actions are supported by the context. +- Do not overstate outcomes. Avoid claims such as "optimize performance" or "ensure compatibility" unless the context shows how the learner does that. +- Keep the tone clear, practical, and engineering-focused. +- Do not use marketing language, hype, or vague filler. +- Do not mention that you are an AI model. +- Do not include citations, markdown headings, YAML, or explanatory notes. + +Summary rules: +- Write one paragraph in an editorial Learning Path summary voice, not as the learner and not as a conversational assistant. +- Never use first-person wording in the summary, including "I", "we", "my", "our", or phrases such as "I will" or "we will". +- Use second person sparingly in the summary. One or two uses of "you" are acceptable only when it improves clarity; prefer neutral phrasing such as "This Learning Path shows...", "The path guides learners through...", or "Learners configure...". +- Focus on the main hands-on activity, the decisions learners make, and the result they should be able to recognize after completing the path. +- Do not summarize prerequisites, audience, tags, or "what you will learn" as a list in prose. If those facts are already explicit elsewhere, avoid them unless they are necessary to explain the hands-on work. +- Avoid repeating the title unless it is needed for clarity. + +FAQ rules: +- Create questions a real developer might ask while actively doing the Learning Path or immediately after completing a step. +- Favor practical in-the-moment questions about setup choices, command results, validation steps, expected artifacts, configuration decisions, interpreting output, and what to check before moving to the next step. +- Avoid questions whose answer is just a restatement of the prerequisites, title, description, objectives, audience, or "What will you learn?" content. +- A before-you-start question is allowed only when it prevents a concrete blocker not already obvious from the prerequisites section. +- Avoid basic or filler questions such as "What is this Learning Path about?", "Who is this for?", "What will I learn?", "What prerequisites do I need?", or "Do I need prior experience?" when the context supports more useful workflow-focused questions. +- Prefer questions that begin with phrases a learner might actually think during the path, such as "How do I know...", "What should I check if...", "Which option should I use...", "What do I need before running...", or "What result should I expect...". +- Do not create corner-case questions, speculative limitations, security guidance, pricing details, or unsupported troubleshooting advice. +- Every answer must be grounded in the supplied context and should help the reader take the next step. + +Return only a JSON object with this exact shape: + +{ + "summary": "One paragraph summary.", + "faqs": [ + { + "question": "Question text?", + "answer": "Answer text." + } + ] +} + +The summary must be one paragraph of approximately 70-120 words. The FAQ list must contain exactly five question/answer pairs. Each FAQ answer must be one to three sentences. diff --git a/tools/prompts/summary_faq_user.md b/tools/prompts/summary_faq_user.md new file mode 100644 index 0000000000..fe6f277e68 --- /dev/null +++ b/tools/prompts/summary_faq_user.md @@ -0,0 +1,38 @@ +Generate an AI-assisted summary paragraph and FAQ section for this Arm Learning Path. + +Use the Learning Path title, description, audience, objectives, prerequisites, tags, platform metadata, step excerpts, and supplied authoring guidance to understand the learner journey and produce useful draft content for a developer following the path. + +Important: the generated block appears on the same page as the existing Learning Path metadata and introduction. Do not repeat information that the learner can already see in existing fields or sections, especially prerequisites, objectives, audience, tags, descriptions, "What will you learn?", installation/setup lists, or other front-matter-driven content. + +Assume these rules while writing: +- Use only the Learning Path context below. Do not add facts, tools, commands, prerequisites, performance claims, compatibility claims, or outcomes that are not present. +- Write as an Arm Learning Path author by following the supplied guidance from `.github/copilot-instructions.md` and `content/learning-paths/cross-platform/_example-learning-path/`. +- Keep the content useful for human review. The draft should be specific enough to evaluate, but not so detailed that it replaces the Learning Path steps. +- If the context is thin, be honest and stay high-level rather than filling gaps. +- Match the complexity of the Learning Path. Introductory paths should stay approachable; advanced paths can use more precise technical language from the context. +- Treat prerequisites and objectives as background context, not content to rewrite. Only mention them if doing so helps answer a specific step-level concern that is not already obvious from the page. + +Summary guidance: +- Write the summary as an Arm Learning Path overview, not from the learner's first-person point of view. +- Never use first-person wording in the summary, including "I", "we", "my", "our", or "let's". +- Use "you" sparingly in the summary. Prefer neutral phrasing such as "This Learning Path shows...", "The path guides learners through...", or "Learners configure..." unless second person is clearly more direct. +- Say what learners build, configure, measure, deploy, debug, validate, or compare as they work through the steps. +- Mention Arm technologies, tools, operating systems, and cloud platforms only when they appear in the context. +- Avoid restating prerequisites, audience, objectives, or title text. The summary should add orientation around the workflow, not duplicate the surrounding page content. +- If prerequisites are absent, do not comment on that absence unless the steps make a setup dependency unclear. +- Do not make the summary sound promotional; make it sound like a useful technical overview. + +FAQ guidance: +- Write questions that a real reader would ask while moving through the Learning Path steps or checking their work after a step. +- Prioritize questions that help a learner complete the work: tool or platform choices, command outcomes, what gets created, how to validate success, which file or service to inspect, what decision to make during the procedure, and what to check before continuing. +- Do not use the FAQ to repeat prerequisites. Avoid questions like "What prerequisites do I need?", "Do I need prior experience?", or "What should I install first?" unless the answer gives specific step-level guidance that is not already covered by the prerequisites or install sections. +- Include before-you-start questions only when they are genuinely useful for preventing a blocker that is not already clearly covered elsewhere on the page. +- Avoid generic questions like "What will I learn?", "Who is this for?", or "What is this Learning Path about?" when the context supports more practical workflow questions. +- Good FAQ questions should feel like something a learner might ask with the Learning Path open in another tab. +- Good FAQ answers should point the learner toward the next useful check or decision without repeating entire paragraphs from the Learning Path. +- Avoid far-fetched edge cases. Stay close to common developer concerns raised by the actual steps and metadata. +- Answer each question directly using only information from the context. + +Learning Path context: + +{{ learning_path_context }} diff --git a/tools/set-summary-faq-flags b/tools/set-summary-faq-flags new file mode 100755 index 0000000000..b795c9349c --- /dev/null +++ b/tools/set-summary-faq-flags @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +exec python3 "$SCRIPT_DIR/set_summary_faq_flags.py" "$@" diff --git a/tools/set_summary_faq_flags.py b/tools/set_summary_faq_flags.py new file mode 100644 index 0000000000..55eeffca3a --- /dev/null +++ b/tools/set_summary_faq_flags.py @@ -0,0 +1,215 @@ +#!/usr/bin/env python3 +"""Set generated summary/FAQ front-matter flags for Learning Paths.""" + +from __future__ import annotations + +import argparse +import re +import subprocess +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[1] +LEARNING_PATH_ROOT = REPO_ROOT / "content" / "learning-paths" +FLAGS = ("generate_summary_faq", "rerun_summary", "rerun_faqs") +FRONT_MATTER_PATTERN = re.compile(r"\A---\r?\n(.*?)\r?\n---\r?\n", re.DOTALL) + + +def parse_bool(value: str) -> bool: + normalized = value.strip().lower() + if normalized in {"true", "t", "yes", "y", "1"}: + return True + if normalized in {"false", "f", "no", "n", "0"}: + return False + raise argparse.ArgumentTypeError(f"Expected true or false, got {value!r}.") + + +def bool_text(value: bool) -> str: + return "true" if value else "false" + + +def run_git_lines(args: list[str]) -> list[str]: + result = subprocess.run( + ["git", *args], + cwd=REPO_ROOT, + check=True, + capture_output=True, + text=True, + ) + return [line.strip() for line in result.stdout.splitlines() if line.strip()] + + +def learning_path_index_for_repo_path(repo_path: str) -> Path | None: + try: + relative_path = Path(repo_path).relative_to("content/learning-paths") + except ValueError: + return None + + if len(relative_path.parts) < 2: + return None + + category, slug = relative_path.parts[:2] + index_path = LEARNING_PATH_ROOT / category / slug / "_index.md" + return index_path if index_path.exists() else None + + +def untracked_learning_path_files() -> list[str]: + return run_git_lines(["ls-files", "--others", "--exclude-standard", "--", "content/learning-paths"]) + + +def changed_learning_path_files(base_ref: str, diff_filter: str) -> list[str]: + return run_git_lines( + ["diff", "--name-only", f"--diff-filter={diff_filter}", base_ref, "--", "content/learning-paths"] + ) + + +def find_index_files_since(base_ref: str, diff_filter: str, include_untracked: bool) -> list[Path]: + changed_files = changed_learning_path_files(base_ref, diff_filter) + if include_untracked: + changed_files.extend(untracked_learning_path_files()) + + paths = { + index_path + for changed_file in changed_files + if (index_path := learning_path_index_for_repo_path(changed_file)) is not None + } + return sorted(paths) + + +def find_index_files(args: argparse.Namespace) -> list[Path]: + if args.all: + return sorted(LEARNING_PATH_ROOT.glob("*/*/_index.md")) + + if args.category: + category_dir = LEARNING_PATH_ROOT / args.category + if not category_dir.is_dir(): + raise SystemExit(f"Category not found: {args.category}") + return sorted(category_dir.glob("*/_index.md")) + + if args.new_since: + return find_index_files_since(args.new_since, "A", include_untracked=True) + + if args.changed_since: + return find_index_files_since(args.changed_since, "ACMR", include_untracked=True) + + paths: list[Path] = [] + for raw_path in args.path.split(","): + path = Path(raw_path.strip()) + if not path: + continue + if not path.is_absolute(): + path = REPO_ROOT / path + if path.is_dir(): + path = path / "_index.md" + if not path.exists(): + raise SystemExit(f"Path not found: {path.relative_to(REPO_ROOT)}") + if path.name != "_index.md": + raise SystemExit(f"Path is not a Learning Path _index.md file: {path.relative_to(REPO_ROOT)}") + paths.append(path) + return sorted(set(paths)) + + +def replacement_flags(args: argparse.Namespace) -> dict[str, bool]: + values = { + "generate_summary_faq": args.generate_summary_faq, + "rerun_summary": args.rerun_summary, + "rerun_faqs": args.rerun_faqs, + } + + if args.all_true: + values = {flag: True for flag in FLAGS} + elif args.all_false: + values = {flag: False for flag in FLAGS} + + selected = {flag: value for flag, value in values.items() if value is not None} + if not selected: + raise SystemExit("Choose --all-true, --all-false, or at least one individual flag value.") + return selected + + +def set_front_matter_flag(front_matter: str, flag: str, value: bool) -> tuple[str, bool]: + line_pattern = re.compile(rf"^#?[ \t]*{re.escape(flag)}[ \t]*:[ \t]*(?:true|false)[ \t]*$", re.MULTILINE) + replacement = f"{flag}: {bool_text(value)}" + + if line_pattern.search(front_matter): + updated = line_pattern.sub(replacement, front_matter, count=1) + return updated, updated != front_matter + + lines = front_matter.splitlines() + insert_at = len(lines) + for index, line in enumerate(lines): + if re.match(r"^author\s*:", line): + insert_at = index + 1 + while insert_at < len(lines): + next_line = lines[insert_at] + if re.match(r"^(generate_summary_faq|rerun_summary|rerun_faqs)\s*:", next_line): + insert_at += 1 + continue + if not next_line.strip() or not next_line.startswith((" ", "\t")): + break + insert_at += 1 + break + lines.insert(insert_at, replacement) + return "\n".join(lines), True + + +def update_file(path: Path, values: dict[str, bool], dry_run: bool) -> bool: + text = path.read_text(encoding="utf-8") + match = FRONT_MATTER_PATTERN.match(text) + if not match: + raise SystemExit(f"Missing YAML front matter: {path.relative_to(REPO_ROOT)}") + + front_matter = match.group(1) + changed = False + for flag, value in values.items(): + front_matter, flag_changed = set_front_matter_flag(front_matter, flag, value) + changed = changed or flag_changed + + if changed and not dry_run: + updated_text = f"---\n{front_matter}\n---\n{text[match.end():]}" + path.write_text(updated_text, encoding="utf-8") + + return changed + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Set generated summary/FAQ control flags in Learning Path _index.md files." + ) + target = parser.add_mutually_exclusive_group(required=True) + target.add_argument("--all", action="store_true", help="Update all Learning Paths.") + target.add_argument("--category", help="Update one top-level Learning Path category.") + target.add_argument("--path", help="Update one path, _index.md file, or comma-separated path list.") + target.add_argument("--new-since", metavar="REF", help="Update Learning Paths added since a git ref.") + target.add_argument("--changed-since", metavar="REF", help="Update Learning Paths changed since a git ref.") + + preset = parser.add_mutually_exclusive_group() + preset.add_argument("--all-true", action="store_true", help="Set generate/rerun flags to true.") + preset.add_argument("--all-false", action="store_true", help="Set generate/rerun flags to false.") + + parser.add_argument("--generate-summary-faq", type=parse_bool, help="Set generate_summary_faq.") + parser.add_argument("--rerun-summary", type=parse_bool, help="Set rerun_summary.") + parser.add_argument("--rerun-faqs", type=parse_bool, help="Set rerun_faqs.") + parser.add_argument("--dry-run", action="store_true", help="Show what would change without editing files.") + + args = parser.parse_args() + values = replacement_flags(args) + paths = find_index_files(args) + changed = 0 + + for path in paths: + did_change = update_file(path, values, args.dry_run) + changed += int(did_change) + status = "would update" if args.dry_run and did_change else "updated" if did_change else "unchanged" + print(f"{status:12} {path.relative_to(REPO_ROOT)}") + + print( + f"\nProcessed {len(paths)} Learning Paths: {changed} " + f"{'would change' if args.dry_run else 'changed'}, {len(paths) - changed} unchanged." + ) + print("Set values: " + ", ".join(f"{flag}={bool_text(value)}" for flag, value in values.items())) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/test_summary_faq_ai_local.sh b/tools/test_summary_faq_ai_local.sh new file mode 100755 index 0000000000..1d3245a324 --- /dev/null +++ b/tools/test_summary_faq_ai_local.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +echo "tools/test_summary_faq_ai_local.sh is deprecated." >&2 +echo "Use tools/generate-summary-faq instead." >&2 +echo >&2 + +exec "$SCRIPT_DIR/generate-summary-faq" "$@"