76333 Коммитов
Автор SHA1 Сообщение Дата
Jenkins 25ca4ebf94 Merge 'amd-master-next' into 'amd-npi-next'
Change-Id: Ibbb31c0a6d1d92e96a6c9abed0d4d4eb0b357008


[ROCm/clr commit: 615e32a722]
2020-08-18 09:09:47 +00:00
Jenkins 615e32a722 Merge 'amd-master-next' into 'amd-npi-next'
Change-Id: Ibbb31c0a6d1d92e96a6c9abed0d4d4eb0b357008
2020-08-18 09:09:47 +00:00
Jenkins da9a722013 Merge 'amd-master-next' into 'amd-npi-next'
Change-Id: Ibbb31c0a6d1d92e96a6c9abed0d4d4eb0b357008


[ROCm/hip commit: e2fdd12153]
2020-08-18 09:09:47 +00:00
Jenkins e2fdd12153 Merge 'amd-master-next' into 'amd-npi-next'
Change-Id: Ibbb31c0a6d1d92e96a6c9abed0d4d4eb0b357008
2020-08-18 09:09:47 +00:00
Chris Freehill d7c9625fc6 Add event counter support
Adds support for RSMI event counters. This also includes
"macro" or "pseudo" events, in which an event value is
obtained from RSMI, followed by some post processing before
being displayed in rdci.

Aside from the support of new fields, the main update here
is to introduce an initialization and "shutdown" call for
new fields that will require this.

Also, includes some modifications to the rdci dmon list
command:
* in rdc_field_data.data, added the ability to specify whether
  a field should be hidden or not, by default. This will
  allow us to support many fields, even those that are not
  typically of interest (but sometimes may be), without
  confusing the user or unnecessary clutter.
* added a --list-all option which lists all available field
  including the more obscure fields.

Change-Id: I01dd0edea963c12f82c6e44f893a390711ef3e83
2020-08-17 19:45:18 -04:00
Chris Freehill 17430dde45 Add event counter support
Adds support for RSMI event counters. This also includes
"macro" or "pseudo" events, in which an event value is
obtained from RSMI, followed by some post processing before
being displayed in rdci.

Aside from the support of new fields, the main update here
is to introduce an initialization and "shutdown" call for
new fields that will require this.

Also, includes some modifications to the rdci dmon list
command:
* in rdc_field_data.data, added the ability to specify whether
  a field should be hidden or not, by default. This will
  allow us to support many fields, even those that are not
  typically of interest (but sometimes may be), without
  confusing the user or unnecessary clutter.
* added a --list-all option which lists all available field
  including the more obscure fields.

Change-Id: I01dd0edea963c12f82c6e44f893a390711ef3e83


[ROCm/rdc commit: d7c9625fc6]
2020-08-17 19:45:18 -04:00
Todd tiantuo Li 005dcecd5c move hipFuncSetCacheConfig from hip_device to hip_module
Change-Id: If5a930e1210e76531f5ba9a0e5f5ec98ad473a19


[ROCm/clr commit: 3ac8483124]
2020-08-17 17:39:01 -04:00
Todd tiantuo Li 3ac8483124 move hipFuncSetCacheConfig from hip_device to hip_module
Change-Id: If5a930e1210e76531f5ba9a0e5f5ec98ad473a19
2020-08-17 17:39:01 -04:00
Todd tiantuo Li ba5b0b38c6 move hipFuncSetCacheConfig from hip_device to hip_module
Change-Id: If5a930e1210e76531f5ba9a0e5f5ec98ad473a19


[ROCm/hip commit: efcb882e19]
2020-08-17 17:39:01 -04:00
Todd tiantuo Li efcb882e19 move hipFuncSetCacheConfig from hip_device to hip_module
Change-Id: If5a930e1210e76531f5ba9a0e5f5ec98ad473a19
2020-08-17 17:39:01 -04:00
Bill(Shuzhou) Liu 9c7a1347ea RDC Prometheus plugin
The rdc_prometheus.py is a Prometheus plugin for RDC
The rdc_prometheus_example.yml and prometheus_targets.json are
example Prometheus configuration. If there are multiple compute
nodes, they can be defined at prometheus_targets.json.

Change-Id: I3611b1e8a166f6608351f6e7644808bf72a4d3a0
2020-08-17 14:09:37 -05:00
Bill(Shuzhou) Liu b91560f0a8 RDC Prometheus plugin
The rdc_prometheus.py is a Prometheus plugin for RDC
The rdc_prometheus_example.yml and prometheus_targets.json are
example Prometheus configuration. If there are multiple compute
nodes, they can be defined at prometheus_targets.json.

Change-Id: I3611b1e8a166f6608351f6e7644808bf72a4d3a0


[ROCm/rdc commit: 9c7a1347ea]
2020-08-17 14:09:37 -05:00
Chris Freehill 15be17539f Fix how test deals with terminating rdcd
Previously we would return -1 if we detected rdcd was
still running. But the rdcd process ID is alive as long
as the test is running. So now we return 0, and the rdcd
process ends, allowing the test to end cleanly.

Change-Id: I98a5aa0a03d14127824b86e1190047c9f9d2edb7
2020-08-17 14:09:37 -05:00
Chris Freehill 8d297e07c1 Fix how test deals with terminating rdcd
Previously we would return -1 if we detected rdcd was
still running. But the rdcd process ID is alive as long
as the test is running. So now we return 0, and the rdcd
process ends, allowing the test to end cleanly.

Change-Id: I98a5aa0a03d14127824b86e1190047c9f9d2edb7


[ROCm/rdc commit: 15be17539f]
2020-08-17 14:09:37 -05:00
Chris Freehill 63863cbd2e Fix rdcd start/kill issues in rdctst
Change-Id: I7e4b1c19832b09b17720892d2c4f200d304ef2fb
2020-08-17 14:09:37 -05:00
Chris Freehill 14b109f888 Fix rdcd start/kill issues in rdctst
Change-Id: I7e4b1c19832b09b17720892d2c4f200d304ef2fb


[ROCm/rdc commit: 63863cbd2e]
2020-08-17 14:09:37 -05:00
Bill(Shuzhou) Liu 9209c6c516 RDC python binding
A new folder python_binding is created for RDC python binding:
* The rdc_bootstrap.py is a python ctypes wrapper for the librdc_boostrap.so
* The RdcUtil.py defines common utilities for RDC to manage group/fieldgroup
* The RdcReader.py is a class to simplify the usage of the RDC:
  - The user only needs to specify which fields he wants to monitoring.
     RdcReader will create groups and fieldgroups, watch the fields, and fetch the fields.
  - The RdcReader can support embedded and standalone mode.
  - The standalone can be with authentication and without authentication.
  - In standalone mode, the RdcReader can automatically reconnect to the rdcd when the connection is lost.
  - When rdcd is restarted, the previously created group and fieldgroup may lose.
    The RdcReader can re-create them and watch the fields after reconnect.
  - If the client is restarted, RdcReader can detect the groups and fieldgroups
    created before and avoid re-create them.
  - The user can pass the unit converter if he does not want to use RDC default unit.

Change-Id: I109ec86012f37162eb13f7d3e921115b7dd82369
2020-08-17 14:09:37 -05:00
Bill(Shuzhou) Liu 14c9c17292 RDC python binding
A new folder python_binding is created for RDC python binding:
* The rdc_bootstrap.py is a python ctypes wrapper for the librdc_boostrap.so
* The RdcUtil.py defines common utilities for RDC to manage group/fieldgroup
* The RdcReader.py is a class to simplify the usage of the RDC:
  - The user only needs to specify which fields he wants to monitoring.
     RdcReader will create groups and fieldgroups, watch the fields, and fetch the fields.
  - The RdcReader can support embedded and standalone mode.
  - The standalone can be with authentication and without authentication.
  - In standalone mode, the RdcReader can automatically reconnect to the rdcd when the connection is lost.
  - When rdcd is restarted, the previously created group and fieldgroup may lose.
    The RdcReader can re-create them and watch the fields after reconnect.
  - If the client is restarted, RdcReader can detect the groups and fieldgroups
    created before and avoid re-create them.
  - The user can pass the unit converter if he does not want to use RDC default unit.

Change-Id: I109ec86012f37162eb13f7d3e921115b7dd82369


[ROCm/rdc commit: 9209c6c516]
2020-08-17 14:09:37 -05:00
Chris Freehill 5950ebadc4 rdc_field_t replaces uint32_t; centralize field data
Make the RDC use the new rdc_field_t enum instead of uint32_t.
This will help prevent invalid field types from being passed in.

Also, centralize where data related to fields is kept. This will
reduce the number of places where changes are required each
time a new field is added.

Finally, cleaned up several cpplint issues.

Change-Id: I48e4512e18c164411d8b09ae3d4bed99fba359ec
2020-08-17 14:09:37 -05:00
Chris Freehill 6b246dcf4b rdc_field_t replaces uint32_t; centralize field data
Make the RDC use the new rdc_field_t enum instead of uint32_t.
This will help prevent invalid field types from being passed in.

Also, centralize where data related to fields is kept. This will
reduce the number of places where changes are required each
time a new field is added.

Finally, cleaned up several cpplint issues.

Change-Id: I48e4512e18c164411d8b09ae3d4bed99fba359ec


[ROCm/rdc commit: 5950ebadc4]
2020-08-17 14:09:37 -05:00
Bill(Shuzhou) Liu e6d910f67a Support standard deviation and json output for job stats
In the job stats, in addition to the max, min and average,
it will also display the standard deviation.

A new option --json is added to the rdci to output the results
in json format.

In the job stats, using the GMT time instead of timestamp
for start and end time.

Change-Id: If245c4fc4854a1dc867f97ff5aa9112af7962eca
2020-08-17 14:09:37 -05:00
Bill(Shuzhou) Liu 588ea96dd2 Support standard deviation and json output for job stats
In the job stats, in addition to the max, min and average,
it will also display the standard deviation.

A new option --json is added to the rdci to output the results
in json format.

In the job stats, using the GMT time instead of timestamp
for start and end time.

Change-Id: If245c4fc4854a1dc867f97ff5aa9112af7962eca


[ROCm/rdc commit: e6d910f67a]
2020-08-17 14:09:37 -05:00
Chris Freehill 9efb55b06f Fix rdctst build
Compile and link steps were looking in wrong directories for
include and library files.

Change-Id: I5cbfd67ca2a02cab898f820587a9793f2105f2e6
2020-08-17 14:09:37 -05:00
Chris Freehill bf248131cb Fix rdctst build
Compile and link steps were looking in wrong directories for
include and library files.

Change-Id: I5cbfd67ca2a02cab898f820587a9793f2105f2e6


[ROCm/rdc commit: 9efb55b06f]
2020-08-17 14:09:37 -05:00
Divya Shikre 15a591540d Add error message when user tries to delete invalid group ID.
Change-Id: I3d4bda4696158b44e3b72de0a701bbb9f6c962c4
Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com
2020-08-17 14:09:37 -05:00
Divya Shikre b85dc35d5e Add error message when user tries to delete invalid group ID.
Change-Id: I3d4bda4696158b44e3b72de0a701bbb9f6c962c4
Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com


[ROCm/rdc commit: 15a591540d]
2020-08-17 14:09:37 -05:00
Cole Nelson d9408697d8 rdc: homogenize package references to AMD
Change-Id: I136afeedcbb4df87b37ca52d7faa6f91321b41f9
Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2020-08-17 14:09:37 -05:00
Cole Nelson ddd32f0283 rdc: homogenize package references to AMD
Change-Id: I136afeedcbb4df87b37ca52d7faa6f91321b41f9
Signed-off-by: Cole Nelson <cole.nelson@amd.com>


[ROCm/rdc commit: d9408697d8]
2020-08-17 14:09:37 -05:00
Chris Freehill 4045a59bb4 Fix package names to DEB and RPM convention
Added a CPACK_PROJECT_CONFIG_FILE called package.txt for this.

Change-Id: Ia2b2c6cdb98506510a8fa6881d814804108553db
(cherry picked from commit 8c803f85df0c23c7e30dadc0ab9748749a1d3588)
2020-08-17 14:09:37 -05:00
Chris Freehill ce49edfcb7 Fix package names to DEB and RPM convention
Added a CPACK_PROJECT_CONFIG_FILE called package.txt for this.

Change-Id: Ia2b2c6cdb98506510a8fa6881d814804108553db
(cherry picked from commit 8c803f85df0c23c7e30dadc0ab9748749a1d3588)


[ROCm/rdc commit: 4045a59bb4]
2020-08-17 14:09:37 -05:00
Chris Freehill 9483b74fe4 Combine client and server packages
Now, only one package is generated. This works with older
versions of cmake.

Also, restore change to postinst scripts for Debian and
RPM, undone in a prevous commit.

Change-Id: Ica005656c5f1df0d01d3071584b97de9f0e61cb3
(cherry picked from commit c14d23843228fa146f38c87cb59514e855725b41)
2020-08-17 14:09:37 -05:00
Chris Freehill caeb82122e Combine client and server packages
Now, only one package is generated. This works with older
versions of cmake.

Also, restore change to postinst scripts for Debian and
RPM, undone in a prevous commit.

Change-Id: Ica005656c5f1df0d01d3071584b97de9f0e61cb3
(cherry picked from commit c14d23843228fa146f38c87cb59514e855725b41)


[ROCm/rdc commit: 9483b74fe4]
2020-08-17 14:09:37 -05:00
Chris Freehill 4008dd8eac Add .x86_64 and _amd64 suffixes to .rpm and .debs
Also:
* update README documentation
* correct postinst scripts for deb and rpm
* add lib64/ to link_directories (needed for CentOS and others)
* remove a redundant "rdc" from the package names
* rearrange the package names to conform to convention
For example:
rdc-server_1.0.0.0.local-build-0-c3187fb-dirty_amd64.deb
rdc-server_1.0.0.0.local-build-0-c3187fb-dirty.x86_64.rpm

* fix issues that result from having, in essence, 2 different
  install prefixes, 1 for the client and 1 for the server.

Change-Id: I88f0e1b8b72df2793c35ed71534afd91142da012
2020-08-17 14:09:37 -05:00
Chris Freehill 27b7f174b3 Add .x86_64 and _amd64 suffixes to .rpm and .debs
Also:
* update README documentation
* correct postinst scripts for deb and rpm
* add lib64/ to link_directories (needed for CentOS and others)
* remove a redundant "rdc" from the package names
* rearrange the package names to conform to convention
For example:
rdc-server_1.0.0.0.local-build-0-c3187fb-dirty_amd64.deb
rdc-server_1.0.0.0.local-build-0-c3187fb-dirty.x86_64.rpm

* fix issues that result from having, in essence, 2 different
  install prefixes, 1 for the client and 1 for the server.

Change-Id: I88f0e1b8b72df2793c35ed71534afd91142da012


[ROCm/rdc commit: 4008dd8eac]
2020-08-17 14:09:37 -05:00
Chris Freehill 54dcd421e4 Also look in <grpc root>/lib64 for grpc libs
Some distros install grpc libs into lib64/ instead of
lib/. This takes care of that.

Change-Id: Iaab31c331828844be4a9e5c7abec4da609173356
2020-08-17 14:09:37 -05:00
Chris Freehill aaaa7f0cd1 Also look in <grpc root>/lib64 for grpc libs
Some distros install grpc libs into lib64/ instead of
lib/. This takes care of that.

Change-Id: Iaab31c331828844be4a9e5c7abec4da609173356


[ROCm/rdc commit: 54dcd421e4]
2020-08-17 14:09:37 -05:00
Chris Freehill c35b0b8ec1 Add rdci to package bin directory
Also:
* add to the CI bin directory
* when making a new manual PDF, don't overwrite the old one;
  instead, make a copy that can be used to manually replace
  the existing one, if desired.

Change-Id: I9384e3627835a9c9983a55c23417a279a7b4d0f4
2020-08-17 14:09:37 -05:00
Chris Freehill 80bd911736 Add rdci to package bin directory
Also:
* add to the CI bin directory
* when making a new manual PDF, don't overwrite the old one;
  instead, make a copy that can be used to manually replace
  the existing one, if desired.

Change-Id: I9384e3627835a9c9983a55c23417a279a7b4d0f4


[ROCm/rdc commit: c35b0b8ec1]
2020-08-17 14:09:37 -05:00
Chris Freehill 5f947270c1 Prepare rdctst for automated test runs
Mostly this involves creating a "batch mode" which does not
have any interactive prompts. Also, in batch mode, both stand-
alone and embedded modes are run.

Change-Id: I9703e501ab1f853e992b6b401fa0215681ab69f0
2020-08-17 14:09:29 -05:00
Chris Freehill cd5f37a3aa Prepare rdctst for automated test runs
Mostly this involves creating a "batch mode" which does not
have any interactive prompts. Also, in batch mode, both stand-
alone and embedded modes are run.

Change-Id: I9703e501ab1f853e992b6b401fa0215681ab69f0


[ROCm/rdc commit: 5f947270c1]
2020-08-17 14:09:29 -05:00
Chris Freehill 8e4d1e7f33 Make job id char array const in rdc api
Also make adjustments to packaging.

Change-Id: I73cc18ce67f833ff563cb1488b000b69b315979a
2020-08-17 14:07:25 -05:00
Chris Freehill b94b3489c7 Make job id char array const in rdc api
Also make adjustments to packaging.

Change-Id: I73cc18ce67f833ff563cb1488b000b69b315979a


[ROCm/rdc commit: 8e4d1e7f33]
2020-08-17 14:07:25 -05:00
Chris Freehill 3793e8df27 Generate RDC docs on make and put into package
DOxygen docs from rdc.h will be generated on build and a
new pdf file will be created in the docs folder. Note
that the generated pdf should should only be updated in
the git repo when certain files are modified:

* rdc.h Doxygen comments are updated (or any future files that
are processed for Doxygen comments)

* the Doxygen config file is updated

Change-Id: I3084520f5b02aaa8e4973f9055d8679d6788b0ef
2020-08-17 14:07:25 -05:00
Chris Freehill bcfdf23234 Generate RDC docs on make and put into package
DOxygen docs from rdc.h will be generated on build and a
new pdf file will be created in the docs folder. Note
that the generated pdf should should only be updated in
the git repo when certain files are modified:

* rdc.h Doxygen comments are updated (or any future files that
are processed for Doxygen comments)

* the Doxygen config file is updated

Change-Id: I3084520f5b02aaa8e4973f9055d8679d6788b0ef


[ROCm/rdc commit: 3793e8df27]
2020-08-17 14:07:25 -05:00
Divya Shikre 61579371f8 Implement gtests for RDC
adding gtest placeholder
adding discovery,group,fieldgroup,dmon,stats test

Change-Id: I71428f70345af5c8025fb66c1d411dc348daa2ef
2020-08-17 14:07:25 -05:00
Divya Shikre b156e86589 Implement gtests for RDC
adding gtest placeholder
adding discovery,group,fieldgroup,dmon,stats test

Change-Id: I71428f70345af5c8025fb66c1d411dc348daa2ef


[ROCm/rdc commit: 61579371f8]
2020-08-17 14:07:25 -05:00
Bill(Shuzhou) Liu d30cb81fdb Add support to use the field name in rdci
In the rdci dmon and fieldgroup, now the fields can be specified
using either number id or the field name.

When the rdc is async fetching metrics, it will not report that fetch
as an error.

Change-Id: I81331e2c239af987181147be5ac0e29ba1617ab4
2020-08-17 14:07:25 -05:00
Bill(Shuzhou) Liu 0f8f345992 Add support to use the field name in rdci
In the rdci dmon and fieldgroup, now the fields can be specified
using either number id or the field name.

When the rdc is async fetching metrics, it will not report that fetch
as an error.

Change-Id: I81331e2c239af987181147be5ac0e29ba1617ab4


[ROCm/rdc commit: d30cb81fdb]
2020-08-17 14:07:25 -05:00
Chris Freehill 76162057a1 Fix some docs issues
Change-Id: I961a34a90ead7e7559f778cae3bef7ec41689a93
2020-08-17 14:07:25 -05:00
Chris Freehill aa0a40f84d Fix some docs issues
Change-Id: I961a34a90ead7e7559f778cae3bef7ec41689a93


[ROCm/rdc commit: 76162057a1]
2020-08-17 14:07:25 -05:00