|
1 | | -# `HWCPipe 2.0` |
| 1 | +# About |
2 | 2 |
|
3 | | -## Introduction |
| 3 | +HWCPipe is a utility that allows applications to sample performance counters from Arm® Immortalis™ |
| 4 | +and Arm Mali™ GPUs. This information allows developers to profile and optimize their application |
| 5 | +workload using their existing in-house performance tooling, and gives the ability to display |
| 6 | +performance data live in the application user interface. |
4 | 7 |
|
5 | | -Currently access to Hardware Counters is exposed via ioctl interfaces. That requires some knowledge |
6 | | -about driver internals and sometimes about hardware itself. Software that needs to access Mali |
7 | | -counters needs to interface with internals somwehow. |
| 8 | +The HWCPipe 2.x series is a major rewrite of the library, capable of exposing all of the public |
| 9 | +performance counters accessible in the Arm Streamline profiler. This version of the library |
| 10 | +is not API compatible with the 1.x series, and no longer supports Arm CPU performance counters. |
8 | 11 |
|
9 | | -HWCPipe 2.0 is a second version of a currently existing open source solution maintained by Arm. |
10 | | -Its aim is to support an up-to-date way to interface with the latest drivers. The library is |
11 | | -intended to be more modular than its predecessor and support different use-cases while still |
12 | | -exposing a simple API to access GPU counters. |
| 12 | +## Supported devices |
13 | 13 |
|
14 | | -## Building the Library |
| 14 | +This library aims to support all Arm GPU products from the Mali-T700 series onwards, ensuring |
| 15 | +developers have coverage of the vast majority of smartphones with Arm GPUs that are in use today. |
| 16 | +If you find a device with an Arm GPU which does not work, or gives inaccurate results, please open |
| 17 | +an Issue on the GitHub issue tracker. |
15 | 18 |
|
16 | | -The library is designed to be embedded into your existing CMake build process. Clone the GitHub |
| 19 | +This library only supports devices using the Arm commercial driver. |
| 20 | + |
| 21 | +## License |
| 22 | + |
| 23 | +This project is licensed under the MIT license. By downloading any component from this repository |
| 24 | +you acknowledge that you accept terms specified in the [LICENSE.md](LICENSE.md) file. |
| 25 | + |
| 26 | +# Building |
| 27 | + |
| 28 | +The HWCPipe library is designed to be embedded into existing CMake build process. Clone the GitHub |
17 | 29 | repository and add it as a subdirectory to your CMakeLists.txt. A single library target, called |
18 | 30 | `hwcpipe`, is made available for you to link to your project. |
19 | 31 |
|
20 | | -For example, your CMakeLists.txt could contain: |
| 32 | +For example, your `CMakeLists.txt` could contain: |
| 33 | + |
21 | 34 | ``` |
22 | 35 | add_subdirectory(external/hwcpipe) |
23 | 36 | target_link_libraries(my_project hwcpipe) |
24 | 37 | ``` |
25 | 38 |
|
26 | | -## Building the Examples |
| 39 | +## Building the example |
| 40 | + |
| 41 | +A small example demonstrating the API usage is provided in the `examples` folder. To build the |
| 42 | +example enable the `HWCPIPE_BUILD_EXAMPLES` CMake build option. |
| 43 | + |
| 44 | +``` |
| 45 | +cmake -DHWCPIPE_BUILD_EXAMPLES=ON -B build . |
| 46 | +``` |
| 47 | + |
| 48 | +# Support |
| 49 | + |
| 50 | +If you have issues with the library itself, please raise them in the project's GitHub issue tracker. |
| 51 | + |
| 52 | +If you have any questions about Arm GPUs, application development for Arm GPUs, or general mobile |
| 53 | +graphics development or technology please submit them on the [Arm Community graphics forums][1]. |
27 | 54 |
|
28 | | -A short example of the API usage is provided in the `examples` folder. Enable the |
29 | | -HWCPIPE_BUILD_EXAMPLES CMake option to build the example program with the library. |
30 | 55 |
|
31 | | -Run CMake from the root of the repository: |
| 56 | +- - - |
32 | 57 |
|
33 | | -```cmake -DHWCPIPE_BUILD_EXAMPLES=ON -B build .``` |
| 58 | +_Copyright © 2023, Arm Limited and contributors. All rights reserved._ |
34 | 59 |
|
| 60 | +[1]: https://community.arm.com/support-forums/f/graphics-gaming-and-vr-forum/ |
0 commit comments