Skip to content

Update APS LP and install guide #1820

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 92 additions & 17 deletions content/install-guides/ams.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ additional_search_terms:
- mali
- immortalis
- cortex-a
- Install Arm Mobile Studio


### Estimated completion time in minutes (please use integer multiple of 5)
Expand All @@ -32,41 +33,115 @@ test_maintenance: true
test_images:
- ubuntu:latest
---
[Arm Performance Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio%20for%20Mobile) (formally known as `Arm Mobile Studio`) is a performance analysis tool suite for various application developers:

* Android application developers
* Linux application developers in Embedded and Cloud segments
[Arm Performance Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio) is a performance analysis tool suite for Android and Linux application developers

It comprises of a suite of easy-to-use tools that show you how well your game or app performs on production devices, so that you can identify problems that might cause slow performance, overheat the device, or drain the battery.

[Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) is available in `2023.5` and later.

[RenderDoc for Arm GPUs](https://community.arm.com/arm-community-blogs/b/graphics-gaming-and-vr-blog/posts/beyond-mobile-arm-mobile-studio-is-now-arm-performance-studio) is available in `2024.0` and later.
| Component | Functionality |
|----------|-------------|
| [Streamline](https://developer.arm.com/Tools%20and%20Software/Streamline%20Performance%20Analyzer) | Capture a performance profile that shows all the performance counter activity from the device. |
| [Performance Advisor](https://developer.arm.com/Tools%20and%20Software/Performance%20Advisor) | Generate an easy-to-read performance summary from an annotated Streamline capture, and get actionable advice about where you should optimize. |
| [Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) | Capture the API calls and rendering from a problem frame and get comprehensive geometry metrics to discover what might be slowing down your application. |
| [Mali Offline Compiler](https://developer.arm.com/Tools%20and%20Software/Mali%20Offline%20Compiler) | Analyze how efficiently your shader programs perform on a range of Mali GPUs. |
| [RenderDoc for Arm GPUs](https://developer.arm.com/Tools%20and%20Software/RenderDoc%20for%20Arm%20GPUs) | The industry-standard tool for debugging Vulkan graphics applications, including early support for Arm GPU extensions and Android features. |

[Graphics Analyzer](https://developer.arm.com/Tools%20and%20Software/Graphics%20Analyzer) is no longer provided. The final release was provided in the `2024.2` release.

All features of Arm Performance Studio are available free of charge without any additional license as of the `2022.4` release.
All features of Arm Performance Studio are available free of charge without any additional license.

## Installation

Arm Performance Studio is supported on Windows, Linux, and macOS hosts. Download the appropriate installer from [Arm Performance Studio Downloads](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio#Downloads).

Full installation and application launch instructions are given in the Arm Performance Studio [Release Notes](https://developer.arm.com/documentation/107649).
Full details about the supported OS and Android versions are given in the Arm Performance Studio [Release Notes](https://developer.arm.com/documentation/107649).

### Windows

Run the supplied `Arm_Performance_Studio_<version>_windows_x86-64.exe` installer, and follow on-screen instructions.
Run the supplied `Arm_Performance_Studio_<version>_windows_x86-64.exe` installer, and follow the on-screen instructions.

To open Streamline, Frame Advisor or RenderDoc for Arm GPUs, go to the Windows Start menu and search for the name of the tool you want to open.

Performance Advisor is a feature of the Streamline command-line application. To generate a performance report, you must first run the provided Python script to enable Streamline to collect frame data from the device. This process is described in detail in the [Get started with Performance Advisor tutorial](https://developer.arm.com/documentation/102478/latest). After you have captured a profile with Streamline, run the `Streamline-cli -pa` command on the Streamline capture file. This command is added to your `PATH` environment variable during installation, so it can be used from anywhere.

```console
Streamline-cli.exe -pa <options> my_capture.apc
```

To run Mali Offline Compiler, open a command terminal, navigate to your work directory, and run the `malioc` command on a shader program. The malioc command is added to your `PATH` environment variable during installation, so can be used from anywhere

```console
malioc.exe <options> my_shader.frag
```

### macOS

Arm Performance Studio is provided as a `.dmg` package. To mount it, double-click the `.dmg` package and follow the instructions. The Arm Performance Studio directory tree is copied to the Applications directory on your local file system for easy access.

Arm recommends that you set the permissions for the installation directory to prevent other users from writing to it. This is typically achieved with the `chmod` command. For example,

```
chmod go-w <dest_dir>
```

Open Streamline, Frame Advisor or RenderDoc for Arm GPUs directly from the Arm Performance Studio directory in your Applications directory. For example, to open Streamline, go to the `<installation_directory>/streamline directory` and open the `Streamline.app` file.

To run Performance Advisor, go to the `<installation_directory>/streamline` directory, and double-click the `Streamline-cli-launcher` file. Your computer will ask you to allow Streamline to control the Terminal application. Allow this. The Performance Advisor launcher opens the Terminal application and updates your `PATH` environment variable so you can run Performance Advisor from any directory.

Performance Advisor is a feature of the Streamline command-line application. To generate a performance report, you must first run the provided Python script to enable Streamline to collect frame data from the device. This process is described in detail in the [Get started with Performance Advisor tutorial](https://developer.arm.com/documentation/102478/latest) tutorial. After you have captured a profile with Streamline, run the `Streamline-cli -pa` command on the Streamline capture file to generate a performance report:

```
Streamline-cli -pa <options> my_capture.apc
```

To run Mali Offline Compiler, go to the `<installation_directory>/mali_offline_compiler` directory, and double-click the `mali_offline_compiler_launcher` file. The Mali Offline Compiler launcher opens the Terminal application and updates your `PATH` environment variable so you can run the `malioc` command from any directory. To generate a shader analysis report, run the `malioc` command on a shader program:

```
malioc <options> my_shader.frag
```

On some versions of macOS, you might see a message that Mali Offline Compiler is not recognized as an application from an identified developer. To enable Mali Offline Compiler, cancel this message, then open **System Preferences > Security and Privacy** and select **Allow Anyway** for the `malioc` application.

### Linux

Unpack the supplied `Arm Performance Studio` bundle to the desired location. For example:
```console
tar -xf Arm_Performance_Studio_2024.3_linux_x86-64.tgz
Arm Performance Studio is provided as a gzipped tar archive. Extract this tar archive to your preferred location, using a recent version (1.13 or later) of GNU tar:

```
tar xvzf Arm_Performance_Studio_2025.1_linux.tgz
```

Arm recommends that you set the permissions for the installation directory to prevent other users from writing to it. This is typically achieved with the `chmod` command. For example:

```
chmod go-w <dest_dir>
```

You might find it useful to edit your `PATH` environment variable to add the paths to the `Streamline-cli` and `malioc` executables so that you can run them from any directory. Add the following commands to the .bashrc file in your home directory, so that they are set whenever you initialize a shell session:

```
PATH=$PATH:/<installation_directory>/streamline
PATH=$PATH:/<installation_directory>/mali_offline_compiler
```
### macOS

Run the supplied `Arm_Performance_Studio_<version>_macos_x86-64.dmg` installer, and follow on-screen instructions.
To open Streamline, Frame Advisor or RenderDoc for Arm GPUs, go to the installation directory, open the folder for the tool you want to open and run the application file. For example:

```
cd <installation_directory>/streamline
./Streamline
```

Performance Advisor is a feature of the Streamline command-line application. To use it to generate a performance report, you must first run the provided Python script to enable Streamline to collect frame data from the device. This process is described in detail in the Get started with Performance Advisor tutorial. After you have captured a profile with Streamline, go to the `installation_directory>/streamline` directory and run the `Streamline-cli -pa` command on the Streamline capture file to generate a performance report:

```
cd <installation_directory>/performance_advisor
./Streamline-cli -pa <options> my_capture.apc
```

To run Mali Offline Compiler, go to the `installation_directory>/mali_offline_compiler` directory and run the `malioc` command on a shader program:

```
cd <installation_directory>/mali_offline_compiler
./malioc <options> my_shader.frag
```

## Get started

See the [Get started with Arm Performance Studio for Mobile](/learning-paths/mobile-graphics-and-gaming/ams/) learning path for a collection of tutorials for each component of Performance Studio.
See the [Get started with Arm Performance Studio](/learning-paths/mobile-graphics-and-gaming/ams/) learning path for an overview of how to run each tool in Arm Performance Studio.
16 changes: 9 additions & 7 deletions content/learning-paths/mobile-graphics-and-gaming/ams/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Get started with Arm Performance Studio for mobile
title: Get started with Arm Performance Studio

description: Learn how to use each of the tools supplied with Arm Performance Studio (formerly known as Arm Mobile Studio).

Expand All @@ -12,10 +12,12 @@ learning_objectives:
- Get started profiling and optimizing your application.

prerequisites:
- An appropriate Android device. These [devices](https://developer.arm.com/Tools%20and%20Software/Arm%20Mobile%20Studio#Supported-Devices) have been tested internally within Arm, and confirmed to work with Arm Performance Studio.
- Arm Performance Studio supports applications built with OpenGL ES versions 2.0 to 3.2, or Vulkan versions 1.0 to 1.2. For OpenGL ES applications, your device must be running Android 10 or later. For Vulkan applications, your device must be running Android 9 or later.
- An Android device.
- Arm Performance Studio supports applications built with OpenGL ES versions 2.0 to 3.2, or Vulkan versions 1.0 to 1.2.
- For OpenGL ES applications, your device must be running Android 10 or later.
- For Vulkan applications, your device must be running Android 9 or later.
- A debuggable build of your application.
- Download and install Arm Performance Studio from [Product Download Hub](https://developer.arm.com/downloads/view/MOBST-PRO0). It is supported on Windows, Linux, and macOS host platforms.
- Download [Arm Performance Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio#Downloads) and install it, following the [Install Guide](/install-guides/ams). It is supported on Windows, Linux, and macOS host platforms.
- Download and install [Android SDK Platform tools](https://developer.android.com/studio/releases/platform-tools.html). Required for [Android Debug bridge (adb)](https://developer.android.com/studio/command-line/adb).

author: Ronan Synnott
Expand Down Expand Up @@ -44,9 +46,9 @@ further_reading:
link: https://developer.arm.com/documentation/102478
type: documentation
- resource:
title: Graphics Analyzer video tutorial
link: https://www.youtube.com/watch?v=6j68rtcTYRc
type: website
title: Frame Advisor video tutorial
link: https://developer.arm.com/Additional%20Resources/Video%20Tutorials/Capture%20and%20analyze%20a%20problem%20frame%20with%20Frame%20Advisor
type: video
- resource:
title: Get started with Mali Offline Compiler Tutorial
link: https://developer.arm.com/documentation/102468
Expand Down
3 changes: 1 addition & 2 deletions content/learning-paths/mobile-graphics-and-gaming/ams/ams.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ layout: "learningpathall"
| [Streamline](https://developer.arm.com/Tools%20and%20Software/Streamline%20Performance%20Analyzer) | Capture a performance profile that shows all the performance counter activity from the device. |
| [Performance Advisor](https://developer.arm.com/Tools%20and%20Software/Performance%20Advisor) | Generate an easy-to-read performance summary from an annotated Streamline capture, and get actionable advice about where you should optimize. |
| [Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) | Capture the API calls and rendering from a problem frame and get comprehensive geometry metrics to discover what might be slowing down your application. |
| [Graphics Analyzer](https://developer.arm.com/Tools%20and%20Software/Graphics%20Analyzer) | Analyze OpenGL ES and Vulkan API calls in your application, to identify rendering defects and investigate problem scenes. |
| [Mali Offline Compiler](https://developer.arm.com/Tools%20and%20Software/Mali%20Offline%20Compiler) | Analyze how efficiently your shader programs perform on a range of Mali GPUs. |
| [RenderDoc for Arm GPUs](https://renderdoc.org) | The industry-standard tool for debugging Vulkan graphics applications, including early support for Arm GPU extensions and Android features. |
| [RenderDoc for Arm GPUs](https://developer.arm.com/Tools%20and%20Software/RenderDoc%20for%20Arm%20GPUs) | The industry-standard tool for debugging Vulkan graphics applications, including early support for Arm GPU extensions and Android features. |

Arm Performance Studio is supported on Windows, Linux, and macOS hosts. See the [Install Guide](/install-guides/ams) for installation instructions.
6 changes: 3 additions & 3 deletions content/learning-paths/mobile-graphics-and-gaming/ams/fa.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ weight: 8 # 1 is first, 2 is second, etc.
# Do not modify these elements
layout: "learningpathall"
---
[Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) is a developer tool designed to offer in-depth frame-based analysis for mobile graphics in Android applications. By capturing the API calls and rendering processes of a specific frame, you can identify potential performance bottlenecks that may be causing slowdowns in your application.
[Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) offers in-depth frame-based analysis for mobile graphics in Android applications. By capturing the API calls and rendering processes of a specific frame, you can identify potential performance bottlenecks that may be causing slowdowns in your application.

## Prerequisites

Build your application, and setup the Android device as described in the [Streamline](/learning-paths/mobile-graphics-and-gaming/ams/streamline/) instructions.
Build your application, and setup the Android device as described in [Setup tasks](/learning-paths/mobile-graphics-and-gaming/ams/setup_tasks/).

## Connect to the device

1. When Frame Advisor opens, select `New trace` to start a new trace.
1. Open Frame Advisor and select `New trace` to start a new trace.

![Frame Advisor launch screen](images/fa_launch_screen.png)

Expand Down
43 changes: 0 additions & 43 deletions content/learning-paths/mobile-graphics-and-gaming/ams/ga.md

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions content/learning-paths/mobile-graphics-and-gaming/ams/malioc.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,29 @@ layout: "learningpathall"
---
Mali Offline Compiler is a command-line tool that you can use to compile all shaders and kernels from OpenGL ES and Vulkan, and generate a performance report for the GPU of interest.

In a terminal, test that Mali Offline Compiler is installed correctly, by typing:

```
malioc --help
```

The `--help` option returns usage instructions and the full list of available options for the malioc command.
Note

{{% notice %}}
On macOS, Mali Offline Compiler might not be recognised as an application from an identified developer. To enable Mali Offline Compiler, open **System Preferences > Security & Privacy**, and select **Allow Anyway** for the `malioc` item.
{{% /notice %}}

## Supported GPUs

To see the full list of [supported GPUs](https://developer.arm.com/documentation/101863/latest/Platform-support/GPU-support) use:

```console
malioc --list
```

To get information on [API support](https://developer.arm.com/documentation/101863/latest/Platform-support/API-support) for a given GPU, use:

```console
malioc --info --core <GPU_name>
```
Expand Down
Loading
Loading