Commit Graph

13501 Commits

Author SHA1 Message Date
Wen-Heng (Jack) Chung ac4c043ba4 Merge pull request #1 from RadeonOpenCompute/feature_rocm_agent_enumerator
Initial commit to introduce rocm_agent_enumerator into rocminfo
2017-11-13 10:39:41 -06:00
Evgeny 8b8970334e adding GFX9 counters 2017-11-12 13:11:27 -06:00
Evgeny 95cbbc6b3a adding GFX9 counters
[ROCm/rocprofiler commit: 8b8970334e]
2017-11-12 13:11:27 -06:00
Evgeny 6e1b9288f6 aqlprofil API: removing from HSA hsa_api_trace/hsa_ext_interface
Change-Id: I12fac55ea9ccfdb119899bf9d000e3c8b0bf4bbb
2017-11-11 10:01:12 -06:00
Evgeny 05d2f6cc57 Readme fix 2017-11-10 14:22:27 -06:00
Evgeny 6973ae2ec1 Readme fix
[ROCm/rocprofiler commit: 05d2f6cc57]
2017-11-10 14:22:27 -06:00
Evgeny f7f24de043 adding metrics dictionary factoring by Create 2017-11-10 09:55:57 -06:00
Evgeny 8c2326acf5 adding metrics dictionary factoring by Create
[ROCm/rocprofiler commit: f7f24de043]
2017-11-10 09:55:57 -06:00
Evgeny 67eaa07c51 test adjustments 2017-11-09 22:42:06 -06:00
Evgeny 836e6d77dc test adjustments
[ROCm/rocprofiler commit: 67eaa07c51]
2017-11-09 22:42:06 -06:00
Evgeny f3145f30d8 adding pseudo realistic metrics 2017-11-09 21:51:33 -06:00
Evgeny 64d8b6322a adding pseudo realistic metrics
[ROCm/rocprofiler commit: f3145f30d8]
2017-11-09 21:51:33 -06:00
Evgeny bb8eaf3ac8 aqlprofile API: _aqlprofile_start() returns required profile buffer sizes if undersized
Change-Id: Ib14b2cb2e7e2026c3af0b7bd2f08f51e48e598b2
2017-11-09 20:03:55 -06:00
Evgeny 1f81a77e46 removing extra license 2017-11-09 19:46:16 -06:00
Evgeny a9a1f41a25 removing extra license
[ROCm/rocprofiler commit: 1f81a77e46]
2017-11-09 19:46:16 -06:00
Evgeny 87c67242e3 docs update 2017-11-09 19:08:42 -06:00
Evgeny 907c80a0ca docs update
[ROCm/rocprofiler commit: 87c67242e3]
2017-11-09 19:08:42 -06:00
Evgeny 85278f08a0 ROC profiler prototype sources importing 2017-11-09 17:26:19 -06:00
Evgeny 5fea997bc9 ROC profiler prototype sources importing
[ROCm/rocprofiler commit: 85278f08a0]
2017-11-09 17:26:19 -06:00
Wen-Heng (Jack) Chung 6d1234484a Improve error handling logic 2017-11-09 13:20:45 -06:00
Wen-Heng (Jack) Chung 8b018900f6 Initial commit to introduce rocm_agent_enumerator into rocminfo
This is a python port of rocm_agent_enumerator, which is used by HIP/HCC to
determine available AMDGPU targets on a system.

Its previous implementation was written in C++ which makes it somewhat hard to
deploy onto different distros / architectures. A python port should remove such
issue.
2017-11-09 12:33:53 -06:00
James Edwards 54156e1953 Initial commit 2017-11-09 11:04:34 -06:00
James Edwards b73a5703b5 Initial commit
[ROCm/rocprofiler commit: 54156e1953]
2017-11-09 11:04:34 -06:00
Oak Zeng d4e6ec0ff0 Added "-g" to CFLAGS for debug build
Previously even for debug build, -O2 is used.
So there wasn't debug information in the debug build.

Change-Id: I6334474e007480eb2db191bdfec5a71677c26a52
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2017-11-09 07:43:36 -05:00
Chris Freehill fa0eae0dbe Merge https://github.com/RadeonOpenCompute/rocminfo into amd-master
Change-Id: I2a4215026eedeee1c9cfb641fce15e1af0e9a673
2017-11-08 20:29:15 -06:00
Sean Keely 6455a69b03 Fix bad casts in tools.
Also virtualize queue profiling enable.

Change-Id: I761b41269be3df7eb64a5914ee9951ed6b51bb04
2017-11-08 15:50:02 -05:00
Sean Keely a6d8a48cbc Add callback exception forwarding.
Modified callbacks for intercept queue, queue error, iterate agent and
iterate region.

Change-Id: I8bdd67f2312510ea7eb9caec93babca244938b40
2017-11-08 15:50:02 -05:00
Sean Keely f312a7386e Exception support for Queue.
Remove "zombie" queue state and report queue creation failure via
exceptions.  Make Shared object a final container and support array
objects with Shared.  Add message printing to hsa_exception in
debug builds.

Change-Id: I459f38c80846018acbf45538874e95f91dd6b195
2017-11-08 15:50:02 -05:00
Sean Keely 0c7dde2d1f Add queue intercept support to the runtime.
Queue intercept is exposed as two tools-only APIs via the API
intercept table.

Change-Id: Iac9602ed3143974d85c3569e9092295ad18037f8
2017-11-08 15:50:01 -05:00
Chris Freehill 0da670409f Add README.md and License.txt
Change-Id: I02b43a10f4f88a73c7e4e63221bec32d0d1d5bf6
2017-11-08 11:12:00 -06:00
Oak Zeng 07110fbd38 Correctly handle max_map_count limit after failed memory allocation
Also separated a function for removing CPU mapping
and reserving address, as a refactoring of codes

Change-Id: I1feb85b0b2ec942487f899ec3192c7c47dd7c7d5
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2017-11-08 10:05:04 -05:00
Chris Freehill 473be763ff Re-enable IPC test
Fix for  fixes this.

Change-Id: I63a8d1a16d5029f240f075bb97ab6a1156b5cab2
2017-11-08 10:02:51 -05:00
Chris Freehill 6b014b2496 Add README.md
Change-Id: I02b43a10f4f88a73c7e4e63221bec32d0d1d5bf6
2017-11-08 08:05:08 -06:00
Kent Russell b29d3f63e2 Revert "aqlprofile API: _start() sets buffers sizes with NULL ptr; block counters reg number / block name info"
This reverts commit 3daa85fad8.

Change-Id: Ie90b091df772bf9391494c773d63858aafbc1176
2017-11-08 06:59:33 -04:00
Evgeny 3daa85fad8 aqlprofile API: _start() sets buffers sizes with NULL ptr; block counters reg number / block name info
Change-Id: I3cb93453b683c55bf5ec26271648232306a5d140
2017-11-07 15:05:47 -05:00
Kent Russell c704ff60b3 CMakeLists: Make roct-dev dependent on roct
Change-Id: Ib7d2927087dcd53da7916951de9d6a71ae6bb21b
2017-11-07 06:43:37 -05:00
Chris Freehill 5c6e06c80f Rename to rocminfo
Change-Id: Ifd0ba9aaa4078dc2771e15bb254ba1c4ec2acf1e
2017-11-03 14:04:51 -05:00
Amber Lin 310e3d7b8b Use absolute path on cmake parameter
Update build instructions in README.md to use absolute path on cmake
parameter, CMAKE_MODULE_PATH. Relative path causes build error. Tested
on cmake 3.5.1 ans cmake 3.5.2.

Change-Id: I1b8e8deb9f4941580580be8087a94655ae155d02
Signed-off-by: Amber Lin <Amber.Lin@amd.com>
2017-11-02 17:34:46 -04:00
Oak Zeng 68a2d286ca Use drm render device to map kfd BOs
Previously kfd device is used to map memory for CPU access.
However this is not compatible with how TTM handles CPU mapping
on eviction - memory won't be unmapped and remapped on restore.
This fixes the issue by mmapping memory using DRM render device.

This patch requires a coordinated kernel driver change to work.
To make it compatible with old kernel driver, some temporary codes
are included. Once the coordinated kernel driver is checked in,
the temporary codes can be removed.



Change-Id: Ie7b304c4a82b7e8d5ab703acb81d66430af4f0bc
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2017-11-02 09:06:26 -04:00
Shaoyun Liu 55fc06dac3 Add asic id for gfx906 on emulator
On thunk level, gfx906 works same as gfx900 chip

Change-Id: I727bd904284616f3b1b9b911e41ad0f19318b3ee
Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com>
2017-10-31 14:58:09 -04:00
Sean Keely d93f92f42d Make HostQueue::queue_count_ a portable atomic type.
Also make lint happy.

Change-Id: I0f965df6a76fd959df9eb411d1f1b11847159790
2017-10-31 02:38:25 -05:00
Gregory Stoner 583c976672 Update README.md 2017-10-30 15:11:36 -05:00
Gregory Stoner df6210e389 Update README.md 2017-10-30 15:09:42 -05:00
Gregory Stoner 48e40cc418 Rename license.txt to License.txt 2017-10-30 15:05:33 -05:00
Gregory Stoner a669f562a7 Create license.txt 2017-10-30 15:04:53 -05:00
cfreehill 716a8a0661 Update README.md 2017-10-30 12:15:12 -05:00
Chris Freehill e948ee5e00 first commit 2017-10-30 12:12:40 -05:00
Qingchuan Shi ce6aee01ed Add APIs to support debugging vm fault
1. Add hsa ext api hsa_amd_register_vmfault_handler for debugger to register callback in case of VM fault.
2. Extend hsa_ven_amd_loader API to:
   (1) iterate loaded code objects in executable:
       hsa_ven_amd_loader_executable_iterate_loaded_code_objects
   (2) get loaded code object info:
       hsa_ven_amd_loader_loaded_code_object_get_info
3. Make the id of hsa_queue the same as the one used in communication with thunk (for amd_aql_queue)

Change-Id: I68910809e59e24297350d262606f00e96c14bcbd
2017-10-28 21:48:26 -04:00
Philip Yang 3501b2f40d Fix double free on fork after hsaKmtCloseKFD
Child process hsaKmtOpenKFD() call must re-initialize global variables
copied from parent process. This includes close all file handles, free
dynamically malloc buf. Double free issue is because destroy_device_
debugging_memory() free the memory in parent process hsaKmtCloseKFD()
but don't reset it to null pointer. As a result, child process free it
again. kfd_fd is closed in parent process but don't reset to 0, so
child process close it again.

Fix: reset kfd_fd to 0 after close, reset is_device_debugged pointer to 0
after free



Change-Id: I421b3decbcaa4111298b8e599aa16940d851a58c
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2017-10-26 15:36:15 -04:00
Sean Keely aece2f8fc2 Remove make build file.
Change-Id: I86abae4c44b6c606fb850eff6d44cdbf30cf59f5
2017-10-26 01:12:31 -04:00