Updated README and CHANGELOG to contain information about --no-serialization flag option

Change-Id: I5a4ea5cba34a33ed27a784bcea07db0e212839d9


[ROCm/rocprofiler commit: 348c547039]
Этот коммит содержится в:
itrowbri
2024-09-12 09:45:03 -05:00
родитель 10e9800220
Коммит 887e107fb1
2 изменённых файлов: 20 добавлений и 1 удалений
+2 -1
Просмотреть файл
@@ -339,4 +339,5 @@ Example for file plugin output:
### Added
- JSON output plugin for rocprofv2, the JSON file matches Google Trace Format, so it should be easily loaded to perfetto, chrome tracing or speedscope. For Speedscope, `--disable-json-data-flows` option will be needed as speedscope doesn't work with data flows.
- JSON output plugin for rocprofv2, the JSON file matches Google Trace Format, so it should be easily loaded to perfetto, chrome tracing or speedscope. For Speedscope, `--disable-json-data-flows` option will be needed as speedscope doesn't work with data flows.
- Added `--no-serialization` flag to disable kernel serialization when rocprofv2 is in counter-collection mode. This change was added to allow rocprofv2 to avoid deadlock when profiling certain programs in counter-collection mode.
+18
Просмотреть файл
@@ -255,6 +255,24 @@ input.txt content Example (Details of what is needed inside input.txt will be me
`pmc: SQ_WAVES GRBM_COUNT GRBM_GUI_ACTIVE SQ_INSTS_VALU`
By default, rocprofv2 runs counter-collection mode with kernel serialization enabled. With serialization enabled, there is a possibility of deadlock occurring if a program that is being profiled attempts to launch two kernels that rely on each other to progress (e.g. kernel A waits in a while-loop until kernel B modifies a location in memory, but, due to kernel serialization, kernel B will not be launched until kernel A finishes executing). When encountering this issue, kernel serialization can be disabled with the following option:
```bash
rocprofv2 -ns -i samples/input.txt <app_relative_path>
```
or
```bash
rocprofv2 --no-serialization -i samples/input.txt <app_relative_path>
```
Alternatively, an environment variable can be set as follows:
```bash
export ROCPROFILER_NO_SERIALIZATION = 1
```
### Application Trace Support
Different trace options are available while profiling an app: