Commit-Graf

107 Incheckningar

Upphovsman SHA1 Meddelande Datum
Chris Freehill abd01b37eb Add rsmi_compute_process_gpus_get()
Given a process ID, give the device indices that process is
currently using.

Also:
* made corrections to how RSMI, amdgpu (ie, "card#") and
  KFD indicies translate from one another
* add a few missing error codes to rsmi_status_string()
* fix some formatting

Change-Id: Icd2cae66bb4fec768da96af7cf9cf8b8b66ec7f9


[ROCm/amdsmi commit: 2d6e15190c]
2020-02-22 10:47:58 -06:00
Chris Freehill 40dbb98b41 Merge "Ensure string is non-empty before calling stoul or stoi" into amd-master
[ROCm/amdsmi commit: 842bd29568]
2020-01-30 20:16:56 -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 f97ab32b5f Ensure string is non-empty before calling stoul or stoi
Change-Id: I2c6314fb86d3bba8fd6aab932dbb989263fa8542


[ROCm/amdsmi commit: f748868818]
2020-01-28 17:05:14 -06: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 4c34034ec9 Use default value for version when git tags not present
Also, documentation typo correction.

Change-Id: I7fe4de05d3b8fb808a980862a09a9be32ed32bf5


[ROCm/amdsmi commit: fe4f7ed4a1]
2019-12-19 08:32:38 -06:00
Chris Freehill 23c153c198 Merge "Make dpkg and rpm package names match their file names" into amd-master
[ROCm/amdsmi commit: 8ffe1bc7f6]
2019-11-09 14:27:17 -05: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 35db3bb882 Disable TestFrequenciesReadWrite for arcturus
Change-Id: Ia20ec853cdba34ff3dcdc68b4f869890bf58b539


[ROCm/amdsmi commit: 1004a01094]
2019-11-07 16:22:45 -05:00
Chris Freehill 012bbcfc54 Merge "Docs., error checking and test improvements" into amd-master
[ROCm/amdsmi commit: 4ebb436893]
2019-11-06 20:15:26 -05: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 106c87ad0e Docs., error checking and test improvements
* Update doc. on api-support function
* Check for valid integer value when reading a monitor int. val.
* If fan-write test attempts to set speed higher than max.
   possible, then skip the test

Change-Id: I01ad0ab1f4caffdb0d2c26e9575f278c35a6b017


[ROCm/amdsmi commit: 52dfa4bcca]
2019-11-06 11:19:47 -05:00
Chris Freehill c7070324f3 Support rsmitst blacklisting by adding an exclude file
Change-Id: I9d581b8e24363a688b58a6ca59a6521c7be364d7


[ROCm/amdsmi commit: 3a26a7270c]
2019-10-17 13:47:02 -05:00
Chris Freehill 5c62352033 Correct README Markdown formatting
Change-Id: Id63618fc7fa7fa7cdc68bcd451cbe89ef2c04469


[ROCm/amdsmi commit: ee13e85265]
2019-10-17 08:38:50 -05:00
Chris Freehill cae8ad4321 Support checking for specific device-getter api support
For device-getter functions, allow users to specify a nullptr
for the provided buffer. In those cases, the function will return
RSMI_STATUS_NOT_SUPPORTED if the hardware or system software does
not support the function. If the function is supported, then
RSMI_STATUS_INVALID_ARGS will be returned, unless a different
error is encountered.

Additionally, tests and documentation were updated to reflect
this change.

Change-Id: Ie7db3a4c8c66af97ebd7ee1e3b95cd331ace9d9c


[ROCm/amdsmi commit: 68d25e82fd]
2019-10-05 15:55:18 -05:00
Ori Messinger 15844991b7 Display GPU vram vendor
Add support and testing for reading the vram vendor associated with
the GPU. The vram vendor can be found as a separate sysfs file at:
/sys/class/drm/card[X]/device/mem_info_vram_vendor
The vram vendor is displayed as a string value.

Change-Id: I12c8e56e57f45aa08d7d6c25338c4e468ed1c7fc
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>


[ROCm/amdsmi commit: 2412dff6a2]
2019-10-04 11:51:30 -04:00
Chris Freehill 948b82ed1a Add functions that tell what capabilities are supported
The new functions added in this commit allow a caller to tell up
front what functions, function variants and monitors are
supported.

Also,
* fixed a few documentation/formatting issues
* fixed a process_info test issue

Change-Id: I2184ab1a4a6898f847e791f273e2185d556e78e9


[ROCm/amdsmi commit: 551b15182b]
2019-09-23 13:30:47 -05:00
Chris Freehill b51bf32bd4 Make bdfid use 32 bit domain if possible
If the 32-bit domain is found in the kfd node properties for
a device, then it will be used when constructing the bdfid.
If it's not present, it will continue to use the 16 bit version.

Also, whether or not 32b or 16b are used for the domain, the
domain will now be placed in the upper 32b of the 64b bdfid.

* Fixed some unrelated doxygen issues

Change-Id: Icb5116daa1ab45ee305bdbe6cd5df5736dd3ffa3


[ROCm/amdsmi commit: 469af303d6]
2019-08-27 11:05:58 -04:00
Chris Freehill d8ab1b477a Fix issues with buffer length when getting brand name
* Specifically, address case when brand name is longer than buffer
provided

* Also, slightly modify prototype to match similar, existing APIs.

* Address some cpplint issues.

Change-Id: Iaf77304e23085123e88f301e4b33bc4e6be2a225


[ROCm/amdsmi commit: 01e0800741]
2019-08-26 07:21:02 -04:00
Ori Messinger 15c604930e Display GPU brand name
Add support and testing for reading the brand name associated with
a specific GPU (such as mi25, mi50, mi60, etc). The brand name is
associated with the SKU of the GPU, and some brand names can be
mapped from multiple different SKUs.

Change-Id: I36eb95ca8e72efdd294ccd684841195925dfe820
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>


[ROCm/amdsmi commit: 7f2d970a80]
2019-08-22 12:24:29 -04: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 6d6689b02c Adjust how we read ECC block counter status
This change corresponds to kernel changes.

Change-Id: Ibd977e8b3338349036cb16e55fb0b2c9c187726d


[ROCm/amdsmi commit: aaecfd6fff]
2019-08-09 16:06:43 -05:00
Kent Russell fe56aa131f Fix RAS change
RAS formatting changed, so get it to handle both types of sysfs output
until it's normalized
Change-Id: I56f2a2495af8ff4d01011bc614283376afb9ad0a


[ROCm/amdsmi commit: a34832f11e]
2019-08-08 12:09:18 -04:00
Chris Freehill e79dd7953a Update docs for rsmi_dev_memory_reserved_pages_get()
Change-Id: I3cc479ea709bb8d9c23ff35d7339e329477ffe18


[ROCm/amdsmi commit: 0da1599c4f]
2019-08-06 16:57:09 -05:00
Chris Freehill c858103137 Add support for rsmi_dev_memory_reserved_pages_get()
Also, don't return an error for empty sysfs files. The reserved memory
page file will often have no lines. We don't want it to appear that
this function is not supported if the file is empty.

Change-Id: I1d28bb184ea587bb578fe71dd75adc2a812d09a8


[ROCm/amdsmi commit: 73c54e1fd0]
2019-08-06 11:42:03 -05:00
Chris Freehill 1f67dcece3 Add rsmi_dev_serial_number_get()
Also correct whitespace issues

Change-Id: I7ffe23672304c31ed08d7148b04a19a7d4c3d7ef


[ROCm/amdsmi commit: cf13d6f4d8]
2019-07-22 07:09:53 -05:00
Chris Freehill 6f7dfa0d19 Merge "Make git-describe find annotated and non-annotated tags" into amd-master
[ROCm/amdsmi commit: dea44dee54]
2019-07-12 21:11:59 -04:00
Harish Kasiviswanathan 5c1b5241c3 Test rsmi_dev_drm_render_minor_get()
Change-Id: I5c0702efc8ed1bc155292e4c3a73d74e5c66204e
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>


[ROCm/amdsmi commit: 904ea5fc27]
2019-07-11 13:13:03 -04:00
Harish Kasiviswanathan 0a031231e0 Add rsmi_dev_drm_render_minor_get()
Function to get the drm minor number associated with ROCm device

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


[ROCm/amdsmi commit: 68cb303a44]
2019-07-11 13:12:34 -04:00
Chris Freehill 6e3e253325 Make git-describe find annotated and non-annotated tags
Change-Id: I56f67e9a0a69fce3c825577160ab7380c297d243


[ROCm/amdsmi commit: 29353aa314]
2019-07-10 22:41:44 -05:00
Chris Freehill 270c881cf8 Add rsmi_dev_firmware_version_get()
Change-Id: Iba3e5f3eaa0eb031fc013fc168bded22bc249b5c


[ROCm/amdsmi commit: 31e02fdc61]
2019-07-09 22:50:44 -05:00
Chris Freehill 64f22d2749 Add xgmi error_status and error_reset functions
Also, comment corrections and added check for invalid arguments

Change-Id: I891cbf9b37bfda629914a008811b840323872c02


[ROCm/amdsmi commit: 557e1f5704]
2019-07-09 09:55:05 -04: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 c2930981ee Add rsmi_dev_memory_busy_percent_get()
Change-Id: Ide683b6c72870af547331f4502c5bb8c445d61b5


[ROCm/amdsmi commit: 1c5e090507]
2019-06-25 19:09:13 -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
Kent Russell dcc0969cc3 Add support for reading GPU's unique ID
Add support and testing for reading the Unique ID associated with a
specific GPU. This ID will persist across reboots, even if the GPU is
moved to a different machine. Note that this is per-GPU, not per-card,
as some cards have multiple GPUs, and each GPU will get a unique
identifier

Change-Id: Idce50c6febc2ceb1a4c1200d2489ec8b9d8fe174


[ROCm/amdsmi commit: 35d2807196]
2019-06-21 08:39:36 -04:00
Chris Freehill 3beb502a69 Add support for junction, edge and memory temperature sensors (#42)
* If vendor/device/subsystem name is not found, use device ID string

* Update documentation for get-name functions

* Add support for junction, edge and memory temperature sensors


[ROCm/amdsmi commit: 11f714326b]
2019-05-24 15:24:49 -05:00
Chris Freehill 9fa8519b38 If vendor/device/subsystem name is not found, use device ID string (#41)
* If vendor/device/subsystem name is not found, use device ID string


[ROCm/amdsmi commit: 59538cd004]
2019-05-16 16:15:17 -05:00
Chris Freehill 1429d987f5 Check for root access early for functions that require it
[ROCm/amdsmi commit: 7b9ff01a37]
2019-05-15 16:54:20 -05:00
Chris Freehill 9bf9c80d32 Updated google test to googletest-release-1.8.1
[ROCm/amdsmi commit: 98c2ad6aaf]
2019-05-15 10:21:37 -05:00
Chris Freehill fae5d63eaf Remove incorrect license text
[ROCm/amdsmi commit: 5fc789fe2e]
2019-05-14 18:24:48 -05:00
Chris Freehill ddd52360dd Correct return code of isAMDGpu()
Also, correct some comments, whitespace.


[ROCm/amdsmi commit: 53489c1f3d]
2019-05-13 18:02:03 -05:00
Chris Freehill 9a68c05630 By default, only consider AMD GPU's in RSMI device list
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures


[ROCm/amdsmi commit: ae7ca83920]
2019-05-13 18:02:03 -05:00
Chris Freehill 4e2b50c7f0 By default, only consider AMD GPU's in RSMI device list
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures


[ROCm/amdsmi commit: d7de7e23cb]
2019-05-13 18:02:03 -05:00
Chris Freehill fd0e80fccd Correct previous commit
[ROCm/amdsmi commit: 1c53271842]
2019-05-13 18:02:03 -05:00
Chris Freehill 1568bafeae Remove duplicate definition of rsmi_init_flags_t (#37)
* By default, only consider AMD GPU's in RSMI device list

With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures

* By default, only consider AMD GPU's in RSMI device list

With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures

* Remove duplicate definition of rsmi_init_flags_t


[ROCm/amdsmi commit: a0014f34df]
2019-05-13 18:02:03 -05:00
Chris Freehill 2db5679d80 By default, only consider AMD GPU's in RSMI device list (#36)
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures


[ROCm/amdsmi commit: 15ca1c26a0]
2019-05-13 18:02:03 -05:00
Chris Freehill b08edb989a Remove duplicate definition of rsmi_init_flags_t
[ROCm/amdsmi commit: 30d5f3e2c6]
2019-05-09 20:56:17 -05:00