xref: /aosp_15_r20/external/intel-media-driver/Tools/MediaDriverTools/UMDPerfProfiler/Readme.txt (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
1*ba62d9d3SAndroid Build Coastguard WorkerIntroduction
2*ba62d9d3SAndroid Build Coastguard Worker    The purpose of UMD Perf Profiler is to collect the performance data of media tasks, which can help us to know the workloads on GPU side. You can get the media tasks' timing, FPS and concurrency between GPU engines.
3*ba62d9d3SAndroid Build Coastguard Worker
4*ba62d9d3SAndroid Build Coastguard WorkerUsage
5*ba62d9d3SAndroid Build Coastguard Worker• Step1: Build and install the latest internal-release version driver
6*ba62d9d3SAndroid Build Coastguard Worker
7*ba62d9d3SAndroid Build Coastguard Worker• Step2: Update igfx_user_feature_next file(before device-based driver use igfx_user_feature file)
8*ba62d9d3SAndroid Build Coastguard Worker    Copy the igfx_user_feature_next.txt/igfx_user_feature.txt into /etc/ directory.
9*ba62d9d3SAndroid Build Coastguard Worker    You will see some keys with default values in igfx_user_feature.txt.
10*ba62d9d3SAndroid Build Coastguard Worker    -    Perf Profiler Buffer Size – Size of Perf profiler buffer, if not set will use the default value.
11*ba62d9d3SAndroid Build Coastguard Worker    -    Perf Profiler Enable  - Enable/Disable UMD Perf Profiler, 1 – Enable, 0 – Disable
12*ba62d9d3SAndroid Build Coastguard Worker    -    Perf Profiler Output File Name – The name of Perf Profiler output, if not set will use the default value.
13*ba62d9d3SAndroid Build Coastguard Worker    -    Perf Profiler Multi Process Support  - Enable/Disable multi session data capture, 1 – Enable, 0 – Disable
14*ba62d9d3SAndroid Build Coastguard Worker
15*ba62d9d3SAndroid Build Coastguard Worker• Step3: Run your test case
16*ba62d9d3SAndroid Build Coastguard Worker    When finish your test case, you will see a bin file under your working directory which is named as set by “Perf Profiler Output File Name” in igfx_user_feature. If you didn’t set this key, the default name should be “linux_perf_out.bin17*ba62d9d3SAndroid Build Coastguard Worker
18*ba62d9d3SAndroid Build Coastguard Worker• Step4: Parser you bin file using MediaPerfParser
19*ba62d9d3SAndroid Build Coastguard Worker    You will get the performance report by running ./MediaPerfParser linux_perf_out.bin.
20*ba62d9d3SAndroid Build Coastguard Worker    Two csv files will be generated. You will see the per-frame data in raw data file. In the result.csv, you can get the kernel timing and tasks on each function/engine. Also you can get the total timing of this test case, FPS of encoding/decoding, and concurrency between engines.