Commit Graph

8920 Commits

Author SHA1 Message Date
Tony Tye 48f4c82685 Merge "Add doxygen to roctracer.h" into amd-staging 2022-05-03 20:00:10 -04:00
Elena Sakhnovitch be66d67ef2 Revert "rocm_smi.py: Don't try to print absent clock files"
This reverts commit b931380f02.
DRM device id  does not always match GPU ID in the rocm_smi.py. This leads to cases where wrong device is checked by os.path.isfile().

Change-Id: Ib6f2b9be123b7eb64334d3feec57f63d7eb37d6f
2022-05-03 16:42:42 -04:00
Elena Sakhnovitch 9d7fd34d2b [rocm_smi.py] Hide unsupported clocks under debug
Signed-off-by: Elena Sakhnovitch <elena.sakhnovitch@amd.com>
Change-Id: I1f2c7b93d9a81f2735c76e8d441f9e298288f5c0
2022-05-03 16:38:22 -04:00
Philip Yang c05c66e756 kfdtest: SVM mGPU tests skip GPUs prior to gfx9
Otherwise the test failed because KFD returns failure to map or prefetch
the SVM range to those GPUs which don't support SVM.

Change-Id: Ideaec2a686bfabb2fd6ae41b1a690da144121a89
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2022-05-02 16:42:03 -04:00
Jonathan R. Madsen 1f66e23fdd Reorganize source/lib/omnitrace (#51)
- Got rid of `source/lib/omnitrace/include` and `source/lib/omnitrace/src` and merged into `source/lib/omnitrace`
- Updated perfetto submodule to v25.0
- Updated papi submodule
2022-05-02 13:08:51 -05:00
David Francis 4b041a8ad9 kfdtest: Use correct isa buffer in GPU coherency test
In the LLVM rework, a line was accidentally changed from
isaBuffer1 to isaBuffer, causing VramCacheCoherenceWithRemoteGPU
to fail. Change it back.

Signed-off-by: David Francis <David.Francis@amd.com>
Change-Id: Ie1f3465b5c46556f18682d1b3d1f086bb790c648
2022-05-02 09:13:20 -04:00
Tony Tye 1f630a9291 Add doxygen to roctracer.h
Change-Id: Ie542399e990e02482ed740d99c6afe4b95b1f6f4
2022-04-30 00:33:05 +00:00
Yifan Zhang 54c8b7900d add gfx1036 support
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Change-Id: Ifc1b3cf2e46cf753f57470ebc6b034c1a349d3d2
2022-04-29 17:52:22 -04:00
Kiumars Sabeti 94004e592c Merge "SWDEV-320429: wrapping the comma-containing names in the .csv in double quotes at the time the .csv is generated" into amd-staging 2022-04-29 17:37:41 -04:00
Laurent Morichetti 200e27f12d Add a trace_buffer directed test
This test stresses the concurrent writing of trace buffer records while
frequently allocating new storage to hold the records.

Due to race conditions, this test fails with the current trace buffer
implementation.

Change-Id: I0b77c64005e776319bf21f1ee1e6d7c99ddccfff
2022-04-29 08:52:13 -07:00
Shweta Khatri 1b0440e7b3 Assemble trap handler at build time.
Eliminates the need for manually assembling the source of the
second level trap handler to produce the shader binary.  Also
separated blit shaders' binary source and version one second
level trap handler binary sources into different header files.

Change-Id: If29a18ee06dc083ec880ea962f234c6b5cac806a
2022-04-28 20:14:14 -04:00
Jonathan Kim 658b053943 Bypass HDP flush during SDMA copies on A+A GPU-CPU xGMI connections
Host to device SDMA copies do not require an HDP cache flush when
connected by xGMI since data copies over the data fabric and not HDP.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Reviewed-by: Sean Keely <sean.keely@amd.com>
Change-Id: I78d73a47edcc1a9c0ba59f33cf91485f13f1c45b
2022-04-27 21:45:26 -04:00
Kiumars Sabeti 4d99f8d8e5 SWDEV-320429: wrapping the comma-containing names in the .csv in double quotes at the time the .csv is generated
Change-Id: I62f94a1cf8895eb324080f8aacac3f13c02d7050
2022-04-27 20:45:51 -04:00
Jonathan R. Madsen 6b7b6e46cf perfetto mpi + mpi example (#49) 2022-04-27 16:58:45 -05:00
Jonathan R. Madsen 9b25d4b3b5 Misc updates (#48)
- reworked `add_critical_trace`
- `get_use_thread_sampling` / `"OMNITRACE_USE_THREAD_SAMPLING"` option
- `get_cpu_cid_stack_lock`
- reworked finalization messaging
- significant updates to pthread_gotcha
  - shutdown stability
  - `"start_thread"` entries
- `rocm_smi` stability 
- roctracer_callbacks add critical trace entries on the callback thread
- reworked CPU CID initialization
- thread_sampler stability
2022-04-27 16:56:38 -05:00
Alex Sierra b9e8bc1f52 kfdtest: add log message to KFDExceptionTest
[WHY]
These tests force HW exceptions in the GPU driver. Some of these
exceptions might print page fault error messages at kernel level.
These are expected errors due to the nature of the tests, but still
might cause confusion to users.

[HOW]
Add log message to warn the user about these kernel error messages.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: I8eef87b83939e37230da0c374c2f77d2d484baa9
2022-04-27 15:38:11 -05:00
Bill(Shuzhou) Liu 2cd7f66154 Update RDC document
Update README.md to refer to document portal.

Change-Id: I427122751fec5a27936b345a3ac76c96478be164
2022-04-27 14:38:48 -04:00
Laurent Morichetti 5963363484 Fix assertions
Replace EXC_ABORT() checks with assertions.

Rewrite the exception class to use std::runtime_error (as it
already handles the std::string/char* message argument).

Change-Id: I48e31924f3aea1328e6562ab6bb06ec373fd5d5e
2022-04-27 11:24:26 -07:00
Laurent Morichetti 0d7d56eea5 Fix a SEGV when running --roctx-trace
There's a typo in RegisterApiCallback, roctx::cb_table.Get should be
roctx::cb_table.Set.

Change-Id: I47ec8ac666f783ff4e03f35d13e375e645899900
2022-04-27 12:14:32 -04:00
Ranjith Ramakrishnan 7f05496a87 Merge "Populate roctracer.h wrapper file with orginal file contents as dead code" into amd-staging 2022-04-27 02:20:26 -04:00
Jonathan R. Madsen 29220cba58 GOTCHA + Kokkos + tasking + more (#47)
* GOTCHA + Kokkos + tasking + more

- update gotcha with fix for dlsym(RTLD_NEXT, ...)
- support for standalone KOKKOS_PROFILE_LIBRARY
- remove extra flags for omnitrace-user
- roctracer and critical_trace namespaces in tasking
- generic tasking functions, e.g. join(), shutdown(), etc.
- omnitrace_init_tooling_hidden in api.hpp
- ompt.cpp uses OMNITRACE_USE_OMPT
- kokkosp uses user_region instead of omnitrace component
- re-enable recycling thread ids
- more generic _{push,pop}_perfetto functors
- fix for thread_data::instance(construct_on_init, ...)
- fix for omnitrace-headers interface target
- omnitrace_watch_for_change
2022-04-26 22:08:51 -05:00
Sean Keely 64dae113b1 Minor typo fixes.
Declare the type of HSA_AMD_AGENT_INFO_COOPERATIVE_COMPUTE_UNIT_COUNT
and add a missing break statement.

Change-Id: I86ce8a2e620438e046b60cee991ce1fbe07a3e88
2022-04-26 15:51:22 -04:00
Laurent Morichetti 18f60efe05 Fix typos/spelling errors
Change-Id: Idec1cb8fab91c30f99563bc7dd4db1faeb2db954
2022-04-26 12:39:38 -07:00
Sean Keely 2eedf953f3 Handle scratch interleave per SE for gfx10+
On gfx10+ we need to issue a minimum count of active lanes or
groups before ADC moves on.  Ensure that scratch allocations
attempt to reach this limit.

Occupancy throttling due to OOM condition may still drop below this
limit.

Change-Id: I0edf2e40fbe1a95e9a262564cebd2b6a82501a0b
2022-04-26 15:32:03 -04:00
Laurent Morichetti 6b06322578 Remove unused proxy utilities
The proxy queue implements packet interception to enable timestamps
collection. As it is, the roctracer is not intercepting packets, and
instead relies on the rocprofiler tool to collect the timestamps for
kernel dispatches.

This is an issue as the roctracer API does not implement HSA_OPS
activities for kernel dispatches. This will be addressed in a future
commit.

Change-Id: Ib6a778a513410bec4579f223a9d9e9fd9b6054df
2022-04-26 15:26:26 -04:00
Laurent Morichetti b352eedac6 Fix the static library build
Building with -DLIBRARY_TYPE=STATIC fails with 3 undefined symbols.
Add weak symbols to satisfy the linker (mirror what is done for the
other Loader symbols).

Change-Id: I8a2878def21d5f500b0764ceacb4e5255e1111c5
2022-04-26 15:26:10 -04:00
Harish Kasiviswanathan b9651d3118 Merge branch 'sp3-llvm-transistion' into amd-staging
Transistion KFDTest to use open source LLVM compiler instead of SP3
compiler

Change-Id: I26fff6a958bc48cb1f5509a11ec194d2ececf0ce
2022-04-26 13:15:59 -04:00
Graham Sider 7eeba830f8 kfdtest: Add KFDASMTest
Includes a simple AssembleShader test which loops through all shaders
for all supported targets, dispatching a RunAssemble call for each
shader.

Also adds extra safety on a couple shaders that only work on
gfx9/gfx90a.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I3ca1c92136f3871eb62fcb9645694f22287aaeec
2022-04-26 13:14:33 -04:00
Graham Sider 025c6146d9 kfdtest: Remove TEMP_GFX10_BLACKLIST
With LLVM-based assembly these shaders are now valid for GFX10, with the
exception of KFDSVMEvictTest.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Idc872139176bbc1cc8d7ae61a8e4572360ecb5d5
2022-04-26 13:14:33 -04:00
Graham Sider e6e498abf3 kfdtest: Remove SP3/IsaGen
- Remove SP3 lib directory
- Remove IsaGenerator* files
- Update CMakeLists accordingly

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I280161b0b238839ab318c18d6038cdd64fa66208
2022-04-26 13:14:33 -04:00
Graham Sider ffaa3d9246 kfdtest: Remove IsaGen from KFDIPCTest
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I3194e6a6bdab846da9cf346f47a7d7580e2def4d
2022-04-26 13:14:33 -04:00
Graham Sider ac48163885 kfdtest: Remove IsaGen from KFDDBGTest
KFDDBGTest is deprecated, so just removing references to IsaGen.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I9f094d847a8ae43cb3793253b34a7d7ed2179ac1
2022-04-26 13:14:33 -04:00
Graham Sider 4c7cf6e7d2 kfdtest: Remove IsaGen from KFDExceptionTest
Replace with LLVM-based Assembler.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Ia64b8cc77382773b48de576d350bbed3c1efdb74
2022-04-26 13:14:33 -04:00
Graham Sider 780f0b618c kfdtest: Remove IsaGen from KFDHWSTest
Replace with LLVM-based Assembler.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Ibbc4103d9498321b87feadf14a523b0d44d1851c
2022-04-26 13:14:33 -04:00
Graham Sider 8a6743aef4 kfdtest: Remove IsaGen from RDMATest
Replace with LLVM-based Assembler.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I5dff1b9402e294af33cec78a24e2e2decfb5b6d3
2022-04-26 13:14:33 -04:00
Graham Sider 469d5e67d2 kfdtest: Remove IsaGen from KFDSVMRangeTest
Replace with LLVM-based Assembler.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Id05f8a18a188d0ad354b711c1c196b71dffcc756
2022-04-26 13:14:33 -04:00
Graham Sider 549f7cdce2 kfdtest: Remove IsaGen from KFDLocalMemoryTest
Replace with LLVM-based Assembler.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Ie83d27b6a93ac1b5169a830a7f274e360a31023e
2022-04-26 13:14:33 -04:00
Graham Sider 097b11abad kfdtest: Remove KFDSVMEvictTest ReadMemory shader
Use ReadMemoryIsa transferred and updated from KFDEvictTest.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I566f9ec36398bc4d08ab90231688600356df4d6a
2022-04-26 13:14:33 -04:00
Graham Sider 5ceb35f428 kfdtest: Add macros to simplify instr differences
Makes use of macros to simplify shader code with instruction-level
differences depending on GFX version. These macros are extensible and
are prepended to every shader so that they are usable everywhere.

This patch introduces three macros used within IterateIsa and
ReadMemoryIsa shaders.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: If954e1b6d2027e9f55bf7e99bd9df2668d1da524
2022-04-26 13:14:33 -04:00
Graham Sider b2b54dffe6 kfdtest: Move KFDGWSTest shaders to ShaderStore
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I9608b8bea32d64d4d0e1a329191f9a62e3a771e7
2022-04-26 13:14:33 -04:00
Graham Sider 91cf11967e kfdtest: Move KFDEvictTest shaders to ShaderStore
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I4d7d349284ea213becdb4680b804dbd202196e1d
2022-04-26 13:14:33 -04:00
Graham Sider ad5f98814f kfdtest: Move KFDCWSRTest shaders to ShaderStore
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I7c89fca94e92145a4115d1089348380807a868ee
2022-04-26 13:14:33 -04:00
Graham Sider aced779f1b kfdtest: Move KFDQMTest shaders to ShaderStore
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Id50aea16528c4bed4530f95644a02f59efddae3e
2022-04-26 13:14:33 -04:00
Graham Sider c926d83b5a kfdtest: Move KFDMemoryTest shaders to ShaderStore
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I3335ca1f9dbe849233cf85253e0e92b56a20b8c9
2022-04-26 13:14:33 -04:00
Graham Sider 34ca37d9e8 kfdtest: Add ShaderStore.cpp/hpp
Initial commit for ShaderStore.hpp. Will contain consts char*'s for
all shaders used within KFDTest.

The LLVM assembler now takes care of the correct instructions to be used
for various GFX versions using directives embedded into the shader assembly.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I2887a03b33d5c2cc382e4f96c2bc3e067715ab54
2022-04-26 13:14:33 -04:00
Graham Sider a7b85fdb08 kfdtest: Update KFDSVMEvictTest to LLVM Asm
- Reformat shaders for legibility
- Move assembly processes to from IsaGen (CompileShader) to Assembler
(RunAssembleBuf)

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Id1eb3856bc74bf0da46685c5dc08e91f5df66d4f
2022-04-26 13:14:33 -04:00
Graham Sider ba9ccd32a1 kfdtest: Update KFDGWSTest to LLVM Asm
- Reformat shaders for legibility
- Move assembly processes to from IsaGen (CompileShader) to Assembler
(RunAssembleBuf)
- Change gds:1 modifier to gds
- Change offset0:0 modifier to offset:0

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I2a863695bcf7344cf184a809704948ba3a0d230f
2022-04-26 13:14:33 -04:00
Graham Sider b44d6762bd kfdtest: Update KFDEvictTest to LLVM Asm
- Reformat shaders for legibility
- Move assembly processes to from IsaGen (CompileShader) to Assembler
(RunAssembleBuf)

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I7333d0e45ccd3f43690a2a01227f89a6e04fcecb
2022-04-26 13:14:33 -04:00
Graham Sider c845b976d0 kfdtest: Update KFDCWSRTest to LLVM Asm
- Reformat shaders for legibility
- Move assembly processes to from IsaGen (CompileShader) to Assembler
(RunAssembleBuf)

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I174f1ea5332c499440b30d9bcf06836274428a0f
2022-04-26 13:14:33 -04:00
Graham Sider 08d38fb140 kfdtest: Update KFDQMTest to LLVM Asm
- Reformat shaders for legibility
- Move assembly processes to from IsaGen (CompileShader) to Assembler
(RunAssembleBuf)

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I669f076b5c34eb90349865eeca1b29e17c9e80d6
2022-04-26 13:14:33 -04:00