Skip to content

Commit 30ff617

Browse files
authored
Merge pull request #2845 from JoeStech/actions-agent
re-focus section 3 on the Arm Cloud Migration Agent in GitHub Copilot
2 parents 09d4032 + dc0c0ef commit 30ff617

4 files changed

Lines changed: 26 additions & 21 deletions

File tree

content/learning-paths/servers-and-cloud-computing/arm-mcp-server/2-docker-check.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,4 +91,4 @@ The AI assistant uses the `check_image` or `skopeo` tool to inspect the base ima
9191

9292
In this section, you've used direct AI chat with the Arm MCP Server to check Docker base images for Arm compatibility. You've seen how a simple natural language prompt can quickly identify compatibility issues without manually inspecting image manifests.
9393

94-
In the next section, you'll migrate x86 SIMD code to Arm using a fully agentic workflow with prompt files.
94+
In the next section, you'll set up the Arm Cloud Migration Agent in GitHub Copilot and use it to migrate x86 SIMD code to Arm.

content/learning-paths/servers-and-cloud-computing/arm-mcp-server/3-simd-migration.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
---
2-
title: Automate x86 code migration to Arm using AI prompt files
2+
title: Arm Cloud Migration Agent in GitHub Copilot
33
weight: 4
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
8-
## Migrating SIMD code with AI assistance
8+
## The Arm Cloud Migration Agent
99

1010
{{% notice Note %}} This section uses Visual Studio Code with GitHub Copilot. If you're using a different AI assistant, skip to the next section, where you'll configure the same migration workflow using other agentic systems.{{% /notice %}}
1111

12-
When migrating applications from x86 to Arm, you might encounter SIMD (Single Instruction, Multiple Data) code that is written using architecture-specific intrinsics. On x86 platforms, SIMD is commonly implemented with SSE, AVX, or AVX2 intrinsics, while Arm platforms use NEON and SVE intrinsics to provide similar vectorized capabilities. Updating this code manually can be time-consuming and challenging. By combining the Arm MCP Server with a well-defined prompt file, you can automate much of this work and guide an AI assistant through a structured, architecture-aware migration of your codebase.
12+
When migrating applications from x86 to Arm, you might encounter SIMD (Single Instruction, Multiple Data) code that is written using architecture-specific intrinsics. On x86 platforms, SIMD is commonly implemented with SSE, AVX, or AVX2 intrinsics, while Arm platforms use NEON and SVE intrinsics to provide similar vectorized capabilities. Updating this code manually can be time-consuming and challenging. By combining the Arm MCP Server with a well-defined prompt file, you can create an Arm Cloud Migration Agent in GitHub Copilot that automates much of this work and guides the AI assistant through a structured, architecture-aware migration of your codebase.
13+
14+
This section walks through creating the agent prompt file and using it to migrate a sample x86 application with AVX2 SIMD code to Arm NEON.
1315

1416
## Sample x86 code with AVX2 intrinsics
1517

@@ -173,13 +175,11 @@ int main() {
173175
}
174176
```
175177

176-
Prompt files act as executable migration playbooks. They encode a repeatable process that the AI can follow reliably, rather than relying on one-off instructions or guesswork.
177-
178178
## The Arm migration prompt file
179179

180-
To automate migration, you can define a prompt file that instructs the AI assistant how to analyze and transform the project using the Arm MCP Server. Prompt files encode best practices, tool usage, and migration strategy, allowing the AI assistant to operate fully autonomously through complex multi-step workflows.
180+
To automate migration, you can define a prompt file that instructs the AI assistant how to analyze and transform the project using the Arm MCP Server. Prompt files act as executable migration playbooks. They encode best practices, tool usage, and migration strategy, allowing the AI assistant to operate fully autonomously through complex multi-step workflows.
181181

182-
Create the following example prompt file to use with GitHub Copilot at `.github/prompts/arm-migration.prompt.md`:
182+
Create the following prompt file at `.github/prompts/arm-migration.prompt.md`:
183183
```markdown
184184
---
185185
tools: ['search/codebase', 'edit/editFiles', 'arm-mcp/skopeo', 'arm-mcp/check_image', 'arm-mcp/knowledge_base_search', 'arm-mcp/migrate_ease_scan', 'arm-mcp/mca', 'arm-mcp/sysreport_instructions']
@@ -201,6 +201,8 @@ Pitfalls to avoid:
201201

202202
* Don't confuse a software version with a language wrapper package version. For example, when checking the Python Redis client, check the Python package name "redis" rather than the Redis server version. Setting the Python Redis package version to the Redis server version in requirements.txt will fail.
203203
* NEON lane indices must be compile-time constants, not variables.
204+
* If you're unsure about Arm equivalents, use knowledge_base_search to find documentation.
205+
* Be sure to find out from the user or system what the target machine is, and use the appropriate intrinsics. For instance, if neoverse (Graviton, Axion, Cobalt) is targeted, use the latest SME/SME2.
204206

205207
If you have good versions to update for the Dockerfile, requirements.txt, and other files, change them immediately without asking for confirmation.
206208

@@ -220,7 +222,7 @@ The assistant will:
220222
* Rewrite SIMD code using NEON
221223
* Remove architecture-specific build flags
222224
* Update container and dependency configurations as needed
223-
225+
224226
## Verify the migration
225227

226228
After reviewing and accepting the changes, build and run the application on an Arm system:
@@ -247,7 +249,6 @@ If compilation or runtime issues occur, feed the errors back to the AI assistant
247249

248250
## What you've accomplished and what's next
249251

250-
In this section, you've used a prompt file to guide an AI assistant through a fully automated migration of x86 AVX2 SIMD code to Arm NEON. You've seen how structured instructions enable the assistant to analyze, transform, and verify architecture-specific code.
251-
252-
In the next section, you'll learn how to configure different agentic AI systems with similar migration workflows.
252+
In this section, you've created an Arm Cloud Migration Agent in GitHub Copilot using a prompt file and used it to perform a fully automated migration of x86 AVX2 SIMD code to Arm NEON. You've seen how structured instructions enable the assistant to analyze, transform, and verify architecture-specific code.
253253

254+
In the next section, you'll learn how to configure other agentic AI systems with the same migration workflow.

content/learning-paths/servers-and-cloud-computing/arm-mcp-server/4-agentic-systems.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
2-
title: Configure AI agents to automate Arm migration workflows
2+
title: Configure other AI agents to automate Arm migration workflows
33
weight: 5
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
## Set up an agent workflow
9+
## Set up other agent workflows
1010

11-
Different AI coding tools provide different mechanisms for defining persistent instructions, such as prompt files or configuration documents. While the configuration details vary by tool, the goal remains the same: provide the AI with clear, structured instructions so it can use the Arm MCP Server effectively and carry out multi-step migration workflows autonomously.
11+
In the previous section, you configured an Arm Cloud Migration Agent in GitHub Copilot. Other AI coding tools provide their own mechanisms for defining persistent instructions, such as steering documents or prompt files. While the configuration details vary by tool, the goal remains the same: provide the AI with clear, structured instructions so it can use the Arm MCP Server effectively and carry out multi-step migration workflows autonomously.
1212

13-
This section shows how to set up Arm migration workflows in popular agentic AI systems. You'll see that the core migration logic stays consistent across platforms, but each tool has its own format for defining these instructions.
13+
This section shows how to set up the same Arm migration workflow in other popular agentic AI systems. The core migration logic stays consistent across platforms, but each tool has its own format for defining these instructions.
1414

1515
{{% notice Note %}}The migration instructions below implement the same workflow shown in the previous section. If you skipped that section, you can start here directly. Each AI tool simply wraps the same core instructions in a different format.{{% /notice %}}
1616

@@ -42,6 +42,8 @@ Pitfalls to avoid:
4242

4343
* Don't confuse a software version with a language wrapper package version. For example, when checking the Python Redis client, check the Python package name "redis" rather than the Redis server version.
4444
* NEON lane indices must be compile-time constants, not variables.
45+
* If you're unsure about Arm equivalents, use knowledge_base_search to find documentation.
46+
* Be sure to find out from the user or system what the target machine is, and use the appropriate intrinsics. For instance, if neoverse (Graviton, Axion, Cobalt) is targeted, use the latest SME/SME2.
4547

4648
If you have good versions to update for the Dockerfile, requirements.txt, and other files, change them immediately without asking for confirmation.
4749

@@ -78,6 +80,8 @@ Pitfalls to avoid:
7880

7981
* Don't confuse a software version with a language wrapper package version. For example, when checking the Python Redis client, check the Python package name "redis" rather than the Redis server version.
8082
* NEON lane indices must be compile-time constants, not variables.
83+
* If you're unsure about Arm equivalents, use knowledge_base_search to find documentation.
84+
* Be sure to find out from the user or system what the target machine is, and use the appropriate intrinsics. For instance, if neoverse (Graviton, Axion, Cobalt) is targeted, use the latest SME/SME2.
8185

8286
If you have good versions to update for the Dockerfile, requirements.txt, and other files, change them immediately without asking for confirmation.
8387

@@ -92,12 +96,12 @@ Invoke the prompt with:
9296
codex /prompts:arm-migrate
9397
```
9498

95-
## Other AI assistants
99+
## Additional AI assistants
96100

97-
You now have a general understanding of how agentic systems support persistent migration instructions. For other AI coding assistants, consult their documentation to learn how to define equivalent prompt files or configuration mechanisms and adapt the same Arm migration workflow.
101+
You now have a general understanding of how agentic systems support persistent migration instructions. For AI coding assistants beyond GitHub Copilot, Kiro, and OpenAI Codex, consult their documentation to learn how to define equivalent prompt files or configuration mechanisms and adapt the same Arm migration workflow.
98102

99103
## What you've accomplished and what's next
100104

101-
In this section, you've learned how to configure Arm migration workflows in different agentic AI systems including Kiro and OpenAI Codex. You've seen how the core migration logic remains consistent across platforms while each tool uses its own format for defining persistent instructions.
105+
In this section, you've learned how to configure Arm migration workflows in other agentic AI systems beyond GitHub Copilot, including Kiro and OpenAI Codex. You've seen how the core migration logic remains consistent across platforms while each tool uses its own format for defining persistent instructions.
102106

103107
You're now equipped to use the Arm MCP Server with your preferred AI coding assistant to automate the migration of x86 applications to Arm-based cloud instances.

content/learning-paths/servers-and-cloud-computing/arm-mcp-server/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ who_is_this_for: This is an advanced topic for developers who want to use AI-pow
99
learning_objectives:
1010
- Explain how the Arm MCP Server enables AI-driven x86-to-Arm migration workflows
1111
- Use AI-assisted checks to inspect Docker images for Arm compatibility
12-
- Automate the migration of x86-specific C++ code to Arm using structured prompt files
12+
- Set up and use the Arm Cloud Migration Agent in GitHub Copilot to automate x86-to-Arm code migration
1313
- Validate and run a migrated C++ application using Docker on Arm-based systems
14-
- Configure AI agents to reuse the same migration workflow across different tools
14+
- Configure other AI agents to reuse the same migration workflow across different tools
1515

1616
prerequisites:
1717
- An AI-powered IDE such as VS Code, Copilot in VS Code, Kiro (IDE or CLI) or Codex

0 commit comments

Comments
 (0)