Commit Graph

51 Commits

Author SHA1 Message Date
Bill(Shuzhou) Liu f0cd40a10b Add rpm License header
Add rpm License header for cpack

Change-Id: I2f4a89015b6389cfde801f41d4f6e0f59e7087aa


[ROCm/amdsmi commit: ce9cfa584f]
2022-01-20 13:30:40 -05:00
Bill(Shuzhou) Liu 8f4a82612d Add license file to smi-lib package
Install LICENSE.txt to share/doc/smi-lib

Change-Id: Idcbb70db8808111203e8e4a4c3ab4d1e070ac79d


[ROCm/amdsmi commit: 3356084074]
2022-01-19 12:15:31 -05:00
Bill(Shuzhou) Liu fcbb9e5945 Enable the linker build id generation for address sanitizer build
The -Wl,--build-id option is added for address sanitizer build

Change-Id: I0d75bc8e6169010c460e62e51708828e75de478e


[ROCm/amdsmi commit: 7b69dde24f]
2022-01-17 09:06:34 -05:00
Bill(Shuzhou) Liu c1c9290a55 Add cmake target for rocm_smi
rocm_smi will provide cmake files exporting the INCLUDE/LIBRARY targets.

Change-Id: I1943a3142bdc0abd8f03ff62e12e947aac835401


[ROCm/amdsmi commit: 088fe48d12]
2021-10-04 11:08:23 -04:00
Bill(Shuzhou) Liu e26cec9f5a Add -g compiler option for ADDRESS_SANITIZER
Add -g compiler option for Address Sanitizer

Change-Id: I958fefa6c4b5871c29734ab1d4ec238c9e073192


[ROCm/amdsmi commit: 42d39d3e34]
2021-08-03 13:54:19 -04:00
Icarus Sparry f860abd385 Add dependency on rocm-core
Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
Change-Id: Ie2a5b08747129a1313edf2a834f2e0e8638372c2
(cherry picked from commit 3d74653383)


[ROCm/amdsmi commit: de025ca5f6]
2021-07-27 09:42:30 -04:00
Harish Kasiviswanathan ab54197e08 Move gpu_metrics functions to different file
No logic change. Only structural change

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: Id5e1a678c0888f04081ee06db4521c72b5eb9b16


[ROCm/amdsmi commit: c416726054]
2021-05-04 20:49:51 -04:00
Kent Russell f9cd4e6093 CMakeLists: Add python3 to required packages
Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I434b24d12e92d2f6a6928b7450e74c3898303a44


[ROCm/amdsmi commit: b016a8269a]
2021-04-12 11:33:39 -04:00
Cole Nelson 005f98d117 CMakeLists.txt: add ENABLE_LDCONFIG to support multi-version install
Signed-off-by: Cole Nelson <cole.nelson@amd.com>
Change-Id: If06e8b7b57ad12f22c1970622d241a42083d575e


[ROCm/amdsmi commit: f990d775b7]
2021-03-30 15:39:47 -04:00
Kent Russell 4a35269cc1 CMakeLIsts: Fix libasan usage
static-libasan doesn't exist, so use the easier-to-remember
shared-libsan and change static-libasan to static-libsan

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Ieef480aacdd770f3bb40673a2e8f8306b308b1c9


[ROCm/amdsmi commit: ef7f99a7e2]
2021-01-15 15:39:05 -05:00
Chris Freehill 23345c0c3a Comment out CPACK_RPM_PACKAGE_SUGGESTS line
This line make the build fail on Centos. It may be
that it's not supported on that disto.

See https://bugzilla.redhat.com/show_bug.cgi?id=1811358

Change-Id: Ied7ce634ae9fb2b1544f85c0b10ceecc039c388a


[ROCm/amdsmi commit: 47b882b8d3]
2021-01-12 17:15:52 -06:00
Kent Russell e4175d0eeb CMakeLists: Add sudo to Suggests field
There are some systems that don't have sudo, and since we require sudo
for any of the "set" functionality, add it to "Suggests".

See https://github.com/RadeonOpenCompute/ROCm/issues/1245

Change-Id: I9428b9a68810ee8b51f91bb2e3b63312463161b0


[ROCm/amdsmi commit: 7b5f220f76]
2021-01-04 10:46:46 -05:00
Kent Russell 2411ad3aea CMakeLists: Make rocm_smi_lib provide rocm-smi
Now that rocm-smi is deprecated, change the DEB/RPM info so that it
provides the rocm-smi package. This will allow for a seamless transition
over during ROCm upgrades

Change-Id: Ia29aab6e45c5974f7b623b786d0649710ba1f7cc


[ROCm/amdsmi commit: 36a0465127]
2021-01-04 10:46:40 -05:00
Ashutosh Mishra 6cbe1fda15 Standardizing Package name
Enables standards compliant package naming for debian and rpm

Signed-off-by: Ashutosh Mishra <ashutosh.mishra@amd.com>
Change-Id: Ib37d29aedc20b610619f6921f4147b41c0eaf134


[ROCm/amdsmi commit: d097cb21e1]
2020-12-17 02:47:53 -05:00
Chris Freehill bd9e47a53c rsmitst address sanitizer support
Also, add libasan flag variants for librocm_smi

Change-Id: Ibd012e40d26907addf8c0550aaf9f78c11b8d51f


[ROCm/amdsmi commit: bf6af90908]
2020-11-10 15:45:56 -06:00
Chris Freehill c6a58d91cb Quiet address sanitizer warnings
Also,
* Fix some doxygen issues
* Fix address sanitizer issues in rsmitst

Change-Id: Ie6c6fd9af5c418210b7064e79650fb92cd4a5e2b


[ROCm/amdsmi commit: 63064b0000]
2020-11-10 14:16:39 -06:00
Chris Freehill fa475d307a Make CMakeLists.txt recognize ADDRESS_SANITIZER
Change-Id: Ic80ac42c62cd400e48fb26d504547931fdd6863a


[ROCm/amdsmi commit: e7c8dfe2a2]
2020-11-04 17:57:31 -06:00
Chris Freehill 63d066c560 Enable library-based rocm_smi.py
Change-Id: I5443308905456defc9818fac07ac2f20fe9426fd


[ROCm/amdsmi commit: 8f9f9433d8]
2020-09-16 09:31:30 -05:00
Ashutosh Mishra 2e7d7b3238 Adding "BUILD_SHARED_LIBS" flag to cmake files
JIRA : SWDEV-234471
Changing cmake for dynamically creation of shared / archive libs depending upon the parameret to cmake

Adapted comments.

Change-Id: Ice5925719b8c307c32310b252f61cbc211d1af27


[ROCm/amdsmi commit: d325613220]
2020-07-16 22:32:55 -04:00
Chris Freehill ca36d70cee Fix docs + cmake_utils path issues
This corrects issues that arose after OAM reorganization.
It should address SWDEV-243294.

Also, fix some compile warnings that show up on RHEL.

Change-Id: Id14d444905da35cd7346bcfbcd82b6d0572708c4


[ROCm/amdsmi commit: c2ef9a6879]
2020-07-08 09:47:25 -05:00
Chris Freehill 9e57932639 Refactor rsmi to support oam
Change-Id: Idc524e01ba06eb5c8d1682becaf5bf8ced5bffcf


[ROCm/amdsmi commit: 6594f8f58b]
2020-06-22 18:51:46 -05:00
Chris Freehill f15c90545d Don't automatically overwrite manual .pdf file
Automatically updating the manual pdf file causes a local
git change. This messes up "repo sync" calls because of the
local change. Instead, just write an un-tracked file that can
be used to update the tracked version of the manual .pdf.

Change-Id: Icd7edc244df60728ec169c5aa1cf8b322ca4143b


[ROCm/amdsmi commit: 8e6f7c798d]
2020-06-12 14:19:15 -05:00
Chris Freehill 0394347ef5 Update README doc. build instructions
* Also, remove dependency of manual pdf on the README
file; they are independent of each other.

Change-Id: I1ab8c8c9adf6b78e5b4aab86ecdf4c46f3a6bf63


[ROCm/amdsmi commit: bdf22c1c9e]
2020-05-21 09:10:08 -04:00
Chris Freehill b1c550f82d Add RSMI ref manual to packages
Also,
* remove extraneous test files
* fix Doxygen docs. issues
* fix whitespace issues

Change-Id: I9b58b0d68bd125a34f4fe0dc84d609c7b0b6e30e


[ROCm/amdsmi commit: 8ced9c986a]
2020-05-18 23:40:38 -04:00
Mike Li 84e3d0f0e9 Add functions that are used to query Hardware topology.
Change-Id: I0f4cd02b237bde4d6dccfb0e83e65376ecb1cfaa
Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>


[ROCm/amdsmi commit: c7d349183a]
2020-05-18 12:37:27 -04:00
Chris Freehill 1f3612fe7b Require gcc version 5.4.0 or greater
To avoid build and runtime issues, we should set a minimum
compiler version. std::regex, used by rocm_smi_lib, requires
4.9.0 or greater. However, the development and test
environments are (mainly) 5.4.0.

Change-Id: Ie18e9f905786ec8eb50d61a326cb45173a0ec355


[ROCm/amdsmi commit: b7ff71c001]
2020-05-14 15:15:56 -04:00
Pruthvi Madugundu dbf7fb8b58 Adding lib symlink to top level rocm lib directory
Signed-off-by: Pruthvi Madugundu <pruthvi.madugundu@amd.com>
Change-Id: Id00e501de7c3cbc814d18493b97449a5fcb96fd6


[ROCm/amdsmi commit: 2f3535f2eb]
2020-05-11 15:35:12 -07:00
Amber Lin 264b0ea526 Allow specifying rsmi-lib install path
Instead of hard-coding install path to /opt/rocm, allow users to specify
where "make install" goes to so users can install lib to their local build
path for testing purpose without touching global /opt/rocm files.

Signed-off-by: Amber Lin <Amber.Lin@amd.com>
Change-Id: I4144988e325edae4d1d1a2824e031996091036d3


[ROCm/amdsmi commit: 741f9c31ff]
2020-05-06 18:08:22 -04:00
Chris Freehill b10500a770 Add event notification API
Change-Id: Ib6e8efbe6cdefaa7de1f74bd26993e9b4b011649


[ROCm/amdsmi commit: 2235ede34c]
2020-05-06 14:07:25 -05:00
Chris Freehill 8ecf004060 Shared mutex fixes and improvements
* Don't make different shared memory mutexes for different users
* Don't delete (unlink) the shared mutex file if the mutex
  initialization fails. This may mess up other processes that
  are using it. Instead, print a message on how to resolve the
  situation, and then throw an error.

  Note, this situation comes up when debug builds (usually)
  either assert() or otherwise end execution without a proper
  clean up.
* Remove cpplint from shared_mutex code

Change-Id: I5f8ca6150cac5c2405fb97007516da345093f966


[ROCm/amdsmi commit: 52196caaee]
2020-04-06 17:08:33 -05:00
Srinivasan Subramanian 36697328c2 Changes for multiple ROCm installation
1. Support multiple rocm installtion
2. Support shared library versioning.

Change-Id: Id5c25b90abed084e8fe8cb7c374c2d4384653bbf


[ROCm/amdsmi commit: 29d55e001a]
2020-01-30 11:08:57 -08:00
Chris Freehill 3aef34b9b1 Security improvements
Improvements include
* adding additional build flags that warn about stack-smashing
and type conversion errors
* run-time checks for valid function input values and adquate
space for the result of arithmetic operations.
* make sure default case for switch statements do something
besides just assert
* disable using env. var. debugging in release mode

Change-Id: I5f048310c5c56e05d9ec31bcc273404d6a0dd646


[ROCm/amdsmi commit: d00b9ac07d]
2020-01-16 14:56:27 -06:00
Chris Freehill a9a37cb34d Make dpkg and rpm package names match their file names
For example,
$ dpkg -i rocm-smi-lib64-2.0.0.1.local-build-0-d10a391.deb 

will yield:
 ...
 Package: rocm-smi-lib64
 Version: 2.0.0.1.local-build-0-d10a391
 ...

Change-Id: I1e56e0c623b9421261cf0864958e821d10226d39


[ROCm/amdsmi commit: c926d50c3a]
2019-11-08 15:09:16 -04:00
Chris Freehill d4e8ab37d5 Use "-" instead of "_" for package name
This is part of fix to SWDEV-208805. The other part will
be in the build_* script.

Change-Id: I36397e3f918d08170db8bb228722a2b7389af83b


[ROCm/amdsmi commit: 0e5c44de2a]
2019-11-06 11:31:50 -05:00
Chris Freehill 9e945d3e1a Fix building lib and test in non-automated (CI) env.
Also, use abbreviated ROCM_BUILD_ID environment variable for job
and build number, if it's available.

Change-Id: Ib5a721f5920f1008bb6382935f7b439429389de0


[ROCm/amdsmi commit: aa2db48237]
2019-08-14 23:18:15 -05:00
Chris Freehill 25010162d5 Add build and job numbers to package version
Change-Id: I06baf23e09b3a63a24d0046046f7f22281e0ec93


[ROCm/amdsmi commit: dffa533e13]
2019-08-14 09:48:59 -05:00
Chris Freehill 3bdbb5f9bf Conform versioning of to uniform version standards
Library version will now only have major and minor. Package
version will now include number of commits since previous
package. Both SO and package versions rely on git tags to
determine the current build and the commits since the last
release.

Change-Id: If2bda74bf342930a9e07f5c91cb1380b6b7c64ca


[ROCm/amdsmi commit: fe738eaedb]
2019-08-12 08:59:09 -05:00
Chris Freehill df93edbbc0 Add initial support for getting process information
Added implementation of and tests for
rsmi_dev_compute_process_info_by_pid_get() and
rsmi_dev_compute_process_info_get()

Change-Id: I4c4f5f39fe6701da37916c9ad41449b5d35ac7af


[ROCm/amdsmi commit: 9b93cbe21d]
2019-07-03 20:01:43 -05:00
Chris Freehill 1ce6397e6b Event counter support
XGMI related events are supported

Change-Id: If17036fe890c8be45da3654353599821b5828c14


[ROCm/amdsmi commit: ea26baec20]
2019-06-24 17:40:01 -05:00
Chris Freehill 9839aab930 Revert "Event counter support"
This reverts commit e3736299dd.


[ROCm/amdsmi commit: 908f07cb3b]
2019-06-21 22:07:40 -05:00
Chris Freehill e3736299dd Event counter support
XGMI related events are supported

Change-Id: Ic99d5a1847e8d28b22ad0b61cb9ea206eb878708


[ROCm/amdsmi commit: 075833e9a5]
2019-06-21 18:27:50 -05:00
Chris Freehill fa335730a2 Remove incorrect license text (#38)
[ROCm/amdsmi commit: 7d0df99998]
2019-05-14 18:27:38 -05:00
Chris Freehill dc75c65729 Add mutex for multi-process access to device sysfs files
This commit uses a pthread mutex in shared memory to prevent
almost all cases of multiple processes simultaneously
reading/writing to device sysfs files. The main existing race
condition is when 2 processes are starting at the same time,
setting up their shared memory and mutexes. Since this is meant
to prevent collisions among thread and processes, the small
shared memory segments (big enough for a pthread_mutex) will
persist until reboot.


[ROCm/amdsmi commit: 5e24a77193]
2019-05-04 15:10:58 -05:00
Chris Freehill 6ac444e002 Use system files to look up gpu names instead of internal table
[ROCm/amdsmi commit: eaa5def17f]
2019-03-11 17:56:58 -05:00
Chris Freehill 692388a478 Add table for GPU name look to give better name than just "amdgpu"
[ROCm/amdsmi commit: d39752cee7]
2019-03-10 17:56:06 -05:00
Chris Freehill f2298dc9c1 Add support for reading frequency-volt curva data
[ROCm/amdsmi commit: 639a4e3503]
2019-01-07 08:44:23 -06:00
Chris Freehill 01ffc5f17f Add rsmi_version_get() function
Also, modify CMakeLists.txt to use git tags to determine the
shared library version for the SONAME and the ROCm build for the
package name.


[ROCm/amdsmi commit: 5a9a729b31]
2018-12-06 13:48:59 -06:00
Chris Freehill ee1e4998a7 Add rsmi_dev_pci_id_get() to return BDFID for given device
Also:
* add some exception handling;
* chop newline character off of device name returned from
rsmi_dev_id_get()


[ROCm/amdsmi commit: 59a952666f]
2018-11-05 11:22:12 -06:00
Chris Freehill b59c4be528 Comment corrections, debug output and assert added
[ROCm/amdsmi commit: b2f1ee1764]
2018-10-22 17:26:38 -05:00
Chris Freehill 455470573e ROCm 1.9.0 update
[ROCm/amdsmi commit: 53b7ae1113]
2018-09-16 00:13:29 -05:00