Граф коммитов

68 Коммитов

Автор SHA1 Сообщение Дата
Galantsev, Dmitrii 234b2d835b Add rocprofiler plugin
Rename ROCR -> Runtime and ROCP -> Profiler

Change-Id: If90953da8fa5d695b681813dad4a3e7ec26a9c7e
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-05-07 04:39:39 -05:00
Galantsev, Dmitrii 796435c568 Fix runpath for rdci and rdcd
Change-Id: Ic131e9a5abfdf26f2b8e78799fe0e3450171d20d
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-05-07 04:39:39 -05:00
Galantsev, Dmitrii 0c8827c4b7 CMAKE - Use ADDRESS_SANITIZER env var
Change-Id: I4727120de2f9d7bded8c24033c252ede718831fc
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-04-24 23:04:25 -05:00
Galantsev, Dmitrii 9702d0f2d7 SWDEV-439576 - rocmsmi -> amdsmi
- Migrate to amdsmi library
- NOTE: raslib still uses rocmsmi
- Remove unused rocmsmi service
- Remove unused RDC client code
- Remove RSMI calls from protos/rdc.proto

Change-Id: Ifc34a264c506b0ec5792307ee56b34526268762d
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-04-09 20:19:28 -05:00
Ranjith Ramakrishnan b09eede016 Start rdc.service after installing the rdc package
The starting of rdc.service was done in preinstall scripts. It should be started after installing rdc package.
Moved the functionality to postinstall scripts

Change-Id: I9a8c733beea43f95474b990a35a431db287b9a8e
2024-03-12 13:30:27 -07:00
Galantsev, Dmitrii 32806681ca SWDEV-444700 - CMAKE - Fix RUNPATH
These RUNPATH changes make it so libraries can be found without setting
LD_LIBRARY_PATH.

Mostly tested on installed RDC binaries and libraries. The
build binaries should also work.

Change-Id: Ifd908a5b61d24dfcbb1d08d21b4ee830156d8643
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-02-13 16:56:28 -06:00
Galantsev, Dmitrii f13a1fbea8 Upgrade gRPC v1.59.1 -> v1.61.0
Change-Id: I8a3f13dd8f264e28474bd65e92ac53f87ab7db3f
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Depends-On: Icbb7b4a580894d78d8ef992befa26ce20fcf3309
2024-02-06 19:39:50 -06:00
Galantsev, Dmitrii aa5448fc16 CMAKE: Reduce install messages size
Change-Id: I6fa7cfe986b1de702492a96bddbfd406501bba50
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-02-06 00:31:32 -06:00
Galantsev, Dmitrii 70ada65079 Rebuild librdc_ras.so
- Make librdc_ras.so executable

Change-Id: I715ef1d828fe4d0ecf63b8272ffeccbab280f9dc
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-01-17 15:19:14 -06:00
Galantsev, Dmitrii eaa1862a80 RVS: Finish initial RVS integration
NOTE: RVS Build is disabled by default due to CI build issues.

Change-Id: I1593f0fe22075a9f86f54afa3ac151e109f1f7bd
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-01-10 00:27:04 -06:00
AravindanC c661bab06f SWDEV-426649 - config file rocmpath hard coding removed
Change-Id: I01df16392201cc112c7533e8c092e4e336237b0b
2023-11-23 17:31:45 -05:00
Galantsev, Dmitrii e579cb04b2 Upgrade gRPC v1.44.0 -> v1.59.1
Change-Id: Ib43a41c61d4028ec029a8c179a94060315870fbb
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-10-19 17:29:36 -05:00
Galantsev, Dmitrii 8f9a6796f1 Upgrade to CXX-17 gtest-1.14
Change-Id: I1c7316f151128cbc9318b226dac14950e399d2c7
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-28 12:54:49 -05:00
Ranjith Ramakrishnan 2e096d9009 SWDEV-366827 - Disable file reorg backward compatibility support by default
Change-Id: I9c4201d7786be2e3f77bc1d4d15887741ba59ec5
2023-08-07 09:25:00 -07:00
Ranjith Ramakrishnan c82fdeab8d SWDEV-310152 - Removed the RUNPATH setting in source code
Use the RUNPATH provided by build scripts

Change-Id: Ib5b3f689dc20aeecf6974281625865fe650bfa72
2023-05-30 16:17:08 -04:00
Ranjith Ramakrishnan bf49b88866 SWDEV-383221 - Set the default value of ROCM_HEADER_WRAPPER_WERROR to OFF
Using wrapper header files will result in #warning message by default

Change-Id: If5847e1b03523251238018b2cf0725b302619963
2023-05-08 20:45:08 -07:00
Galantsev, Dmitrii 418167b43e CMAKE: Fix RPM version
before fix:
CPack: - package: ... rdc-0.6.0-local.9999.el9.x86_64.rpm generated.

after fix:
CPack: - package: ... rdc-0.6.0.50600-local.9999.el9.x86_64.rpm generated.

Change-Id: I684816f3b4cad787eec6abbb40598d05c89d4f5d
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-04-18 17:41:37 -04:00
Galantsev, Dmitrii 90e824c63b SWDEV-392942 - Disable rocmtools
Temporarily disable rocmtools because of hsa_shut_down issues

Change-Id: I5e8b6729b8200ccdd5c399862bfc632ba69f884c
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-04-05 13:20:19 -05:00
Ranjith Ramakrishnan f962d0959a SWDEV-366831 - Compile time flag to switch between #warning and #error message
Using backward compatibility paths will provide an #error message. Compile time option added to enable/disable the #error message.
Disabling the same will provide a #warning message

Change-Id: I45f987b572a306036a72525d2b90d366459117ad
2023-03-10 13:19:00 -08:00
Galantsev, Dmitrii fc097d44ff SWDEV-376779 - Fix linking for rdctst
Ieb198ad96e26e89b09cb85986214a5b1451b17a6 broke linking
for rdctst and rdcd by removing "../lib/rdc" path.
This change adds it back and makes the paths more visible.

- Link librdc_ras and librdc_rocp to rdctst
- Add longer RUNPATH for rdctst to link rdc libraries

Change-Id: Id4f128c217a6de8bb67df6750ecafdb96545811b
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-01-11 19:40:59 -05:00
Galantsev, Dmitrii 3e4c55ec6c SWDEV-352414 - Fix gRPC linker issues
- Replace gRPC library with gRPC package
- Relax RUNPATH
- Make LINKER_FLAGS global

gRPC package includes its dependencies:
SSL, UPB, ABSL, and etc.

Change-Id: Ieb198ad96e26e89b09cb85986214a5b1451b17a6
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-01-04 18:50:07 -06:00
Galantsev, Dmitrii 861a843ed7 Add rocmtools support
This commit adds integration with ROCmTools

Additional changes:
- Fix DEB and RPM installation issue when systemd is not present
- Fix typos in rdc.h
- Wrap negative values in parentheses in rdc.h
- CMAKE: Improve rocm_smi searching
- README: Improve formatting, add info about ROCmTools

Metrics added: 700-714
Metrics can be listed with `rdci dmon --list-all`
Majority of the metrics are only supported by Instict (MI) series GPUs
700 RDC_FI_PROF_ELAPSED_CYCLES should be available on most devices
See README for more information

Change-Id: I907d3eacdc92fc5588ca6c76c2fa1ce0ad900770
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2022-12-16 12:19:59 -06:00
Galantsev, Dmitrii f6efd7fbf6 Improve CMake and relocate tests
- Respect CMAKE_INSTALL_PREFIX and ignore RDC_CLIENT_INSTALL_PREFIX
- Move example and rdctst from rocm/bin to rocm/share/rdc
- Add README for examples

Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Change-Id: I0b1d996d206327fd1b51ac6e82d548829bdb1570
2022-10-27 13:49:54 -05:00
Galantsev, Dmitrii 2c171767b3 Compile rdctst and improve CMakeLists
Main CMake improvements:

* Add rdctst with -DBUILD_TESTS=ON
* Set default ROCM_DIR to /opt/rocm/
* Split rdc_libs/CMakeLists.txt into subdirectories
* Package tests into rdc-tests.deb and .rpm

Misc improvements:

* Add .editorconfig to normalize code formatting
* Add .gitignore
* Expand RPATH for gRPC to reduce LD_LIBRARY_PATH usage
* Export compile_commands.json
* Show warning and do not install gRPC if GRPC_ROOT is left as default
* Move .in files into relevant subdirectories
* Move most variables into project CMakeLists.txt to avoid redefinitions
* Normalize CMakeLists.txt formatting (4 spaces indentation)
* Rename DIAGNOSTIC_LIB to RDC_ROCR_LIB
* Update gRPC version in README to 1.44.0
* Remove gtest source
* Pull gtest from github if not installed

Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Depends-On: I1039ef61247e3f0ff822925cc869fb0c2bf3af85
Change-Id: I879b21428e6642f19fda67092b365d8b78b7ba7b
2022-10-07 13:58:50 -05:00
Ranjith Ramakrishnan 3214c21e6e SWDEV-345870 - Use actual header files and libraries of rocm smi rather than using wrapper header files and library softlinks
Rearranged the project name and including of GnuInstallDirs, so that GNU variables can be used

Change-Id: I85d8e69e0faf4f9f634295c3064b9f4f64f8e9b8
2022-09-22 13:37:58 -04:00
Galantsev, Dmitrii 69a5a1d6bc Remove __pycache__ before uninstall
`__pycache__` might be created when a python script is ran. Which
prevents `rpm -e` and `dpkg --remove` from completely removing the
application. This patch removes `__pycache__` early in the uninstall
process.

A similar issue is resolved in:
rocm_smi_lib Change-Id: I695bd085d4a43b678b563b4c35f6d2e8ddfa7d7c

Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Change-Id: I9fe0cd61570c2bd83cf9a45c95837ee6ad11e84b
2022-08-15 17:23:19 -04:00
Ranjith Ramakrishnan 52a3463147 File reorganization with backward compatibility
SWDEV-291455 -  Binary , header files and libraries installed in bin,include and lib folder under /opt/rocm-ver
Prebuilt ras library with updated search path
cmake config files in lib/cmake/rdc
grpc,sp3,hsaco and private libraries installed in lib/rdc
config  installed in share/rdc
authentication and python_binding installed in libexec/rdc
Backward compatibility added for header files and libraries

Depends-On: I3f3d192935923f71737b3fe55ded536654a73dd7
Change-Id: Ia1a6cadc59034b155631a1ee5fdbe692d2a8a71b
2022-08-04 23:42:42 -07:00
Ranjith Ramakrishnan 23ac479cbd SWDEV-321112 - Use GNUInstallDirs
Use GNUInstallDirs variables to determine the location of DOCDIR

Change-Id: I12b016bc1fe66afd92478c3a940093a4b35de0dc
2022-06-08 09:05:17 -07:00
Bill(Shuzhou) Liu 346eb5981d Install License file under /opt/rocm
Change-Id: Ifbb7edddfd5eda173039399c47f2d20f813f1710
2022-03-15 13:18:58 -04:00
Bill(Shuzhou) Liu ffc5db221b Install libprotobuf under lib64 folder
When compile grpc on SLES, the libprotobuf is created under lib64
folder, install it to lib folder as well.

Change-Id: I9ccf2133c3b1b71e623d9009a86cf580a19e76cf
2022-02-04 09:02:31 -05:00
Bill(Shuzhou) Liu 7eeb7f9388 Add rpm License header
Add rpm License header for cpack

Change-Id: I3e8d05abe69749abe6ce28751e7da9bb229aa08d
2022-01-20 13:33:08 -05:00
Bill(Shuzhou) Liu 0273dd6b9e Add license file to rdc package
Install LICENSE.txt to share/doc/rdc

Change-Id: Ife9872aa745cb6fcf79976bf6453098a6594572a
2022-01-18 10:50:31 -05:00
Bill(Shuzhou) Liu 78e2f2486b Support GPU memory test and compute queue test using Rocr
A new diagnostic module librdc_rocr.so is created. The
module uses Rocr to test the memory allocation, memory access
and compute queue ready status.

Change-Id: I9098f4fc3209bf381b7cb3658a4e94c2e22f2fe9
2021-10-21 11:01:12 -04:00
Bill(Shuzhou) Liu 6ab71e1a4a Correct the install path of grpc
Correct the grpc install path which miss $.

Change-Id: I17736a81ee24d2abc680a3646b1536efafcb3d69
2021-10-19 17:11:35 -04:00
Bill(Shuzhou) Liu a640e5c821 Add cmake target for RDC
RDC will provide cmake files exporting the INCLUDE/LIBRARY targets.

Change-Id: I8e8aeff426c45eae823d988f6473424ccf29687c
2021-09-28 13:53:44 -04:00
Bill(Shuzhou) Liu bd034263d4 Make RDC to respect the LD_LIBRARY_PATH pass by the cmake
The RDC override the LD_LIBRARY_PATH to force to use the current grpc
path. The change will also add original LD_LIBRARY_PATH to it.

Change-Id: I48da84c3135c6ede129c3cb9148dbb1896b652c3
2021-09-17 15:52:30 -04:00
Bill(Shuzhou) Liu 6f95200387 Add -g compiler option for ADDRESS_SANITIZER
Add -g compiler option for Address Sanitizer

Change-Id: I5c4a72dd06a7242715c537fc0d44770b126862d2
2021-08-03 13:52:21 -04:00
Icarus Sparry 13c550d861 Add dependency on rocm-core
Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
Change-Id: I5783b116b098bc8ebad62a4fad407a29c80f19af
Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
2021-07-27 08:43:48 -04:00
Bill(Shuzhou) Liu 5a4bf97327 rdcd process uses 100% CPU
The rdcd uses another thread to listen the GPU events. That thread
runs in a tight loop which consume 100% CPU.
The fix will add a sleep to yield CPU.

Bug: SWDEV-291576
Change-Id: I7996720aab4a80346d79b1c73ee532d2abcd93cc
2021-06-18 13:49:45 -04:00
Bill(Shuzhou) Liu ee40694cc6 Change the CMake version to 3.15
CMake 3.15 or greater is required for gRPC

Change-Id: I15cda7b2bccb2bc1c46b3bb84eb1116a15ce32a4
2021-04-09 15:43:46 -04:00
Chris Freehill 7a05145542 Fix some lintian errors
Fix lintian errors related to maintainer, postinst script and
permissions.

Change-Id: I6924ff92ff5453fa7e562a6188c2c91cea87df68
2021-03-03 19:35:24 -06:00
Bill(Shuzhou) Liu 3aa95b210a Create prebuild raslib package for RDC
Create a folder for prebuild raslib which contains the RAS binary
and configure files. The CMakeLists.txt is changed to include
those files.

Change-Id: I530198cff5686a19e58096c87457ab8b7c52d5f3
2021-03-01 15:49:01 -05:00
Bill(Shuzhou) Liu 5b4fbe08d2 Change CMakeLists.txt to include the libras
The CMakeLists.txt is changed to add instructions to build raslib.

Change-Id: I0779046f28cbc7af292c83f3ae3ed7bcda5c57eb
2021-02-23 14:49:18 -05:00
Bill(Shuzhou) Liu b8746f7fc0 Disable Autoprov when build rpm
The rdc may install third party library in its local folder. We
need to disable the Autoprov to prevent the rpm add provides
for them.

Change-Id: I18d008c2ca2ecb6bba64467d78b1f8c3a6585aea
2021-01-28 09:34:32 -05:00
Bill(Shuzhou) Liu 07d4d5376e Install grpc lib to rdc folder
Install the grpc lib to rdc/grpc/lib and add miss libraries.

Add “--no-as-needed” and all extra grpc libraries in rdci/rdcd as
RUNPATH will only search direct dependencies.

Change-Id: I596acb2eb3a7228d703e79db64699bc20d0e7c09
2021-01-25 14:55:45 -05:00
Bill(Shuzhou) Liu ceb562d630 Add the Address Sanitizer Support for RDC
Change the CMakLists.txt to add the -fsanitize=address
Refer to jira ticket SWDEV-259873

Change-Id: Ie37fd661787eaea16f366b925d9a97db233cd136
2021-01-07 12:11:12 -05:00
Ashutosh Mishra 0054349862 Adapting to rocm_smi_lib changes
The name of rocm-smi-lib64 has been changed to rocm-smi-lib
Hence updating the requisite name here for resolving installation dependency

Depends-On:  Ib37d29aedc20b610619f6921f4147b41c0eaf134
Change-Id: I4efd778b72d43ad8f0842410a94ac1e3d3b9192a
2020-12-10 11:05:20 -05:00
Freddy Paul fe1593dda5 RDC:Move rdc deamon to rocm path.
Installing files to standard path across each version and using
ldconfig has issues with side-by-side install.

Usage of RUNPATH/RPATH for ROCm to ensure all ROCm libraries are
picked without the need for ldconfig.

For RDC server to be picked up by systemctl, service config file
shall be a symlink from /lib/systemctl/system/rdc.service to
corresponding RDC file path in a given version of ROCm

For side-by-side install packages of RDC post install scripts
will be removed. Hence Use will have to set the symlink explicitly
for now.

Change-Id: I916da7cf132f0f9c667e2470fac2b0875e3db9d0
2020-12-04 14:43:06 -05:00
Bill(Shuzhou) Liu 105675aeeb Add a CMake option to build RDC library only
When RDC are only used as the libraries, the user can choose not to build
the rdci and rdcd, which will remove the dependencies to the gRPC and protoc.
The -DBUILD_STANDALONE=off should be pass to the cmake.
* Change README.md for the instructions.
* Move the python_binding installation from client/CMakeLists.txt to CMakeLists.txt
  so that the RDC library only build will also install the folder.
* Change CMakeLists.txt and rdc_libs/CMakeLists.txt to build with gRPC only if
  the BUILD_STANDALONE is enabled.

Change-Id: If9cfe9fc298a83636d85fe352a311fe2fe041661
2020-11-11 08:48:40 -05:00
Chris Freehill 0030f27ff8 Move grpc to ROCm install dir
Having grpc installed outside of ROCm dir is problematic
for multiple, simultaneous ROCm installations.

Change-Id: I5ad458ad01a76786339607d708b48534f15b137b
2020-10-24 21:46:10 -05:00