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

2800 Коммитов

Автор SHA1 Сообщение Дата
Laurent Morichetti 84945d39f8 Silence Valgrind warnings
Change-Id: I8803f3d310fccd69d0d04b2464b00dccc40270e3
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: 056ddbbc82]
2018-01-25 16:48:17 -05:00
rohit pathania ea550637f0 Added CPU to GPU and GPU to CPU MemoryAccess Tests, Added enqueue latency Tests
Change-Id: I18643d283101b792fa25705c8149ddc5a9eefe73


[ROCm/ROCR-Runtime commit: ee917eca68]
2018-01-08 04:11:32 -05:00
Amber Lin 83bbc28ad9 Update README to reflect cmake change
New CMakeLists.txt sets a default module search so -DCMAKE_MODULE_PATH is
no longer required in the command.

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


[ROCm/ROCR-Runtime commit: 7031a77428]
2018-01-04 15:55:20 -05:00
Chris Freehill f113a2dadc Report physical memory instead of virtual memory
Change-Id: I18105e3982a96aea40e05cd78521c0c3acf75de4


[ROCm/ROCR-Runtime commit: 563581223c]
2017-12-20 22:11:50 -04:00
Sean Keely 640ca3ba4f Merge system heap info.
Workaround pending thunk spec clarification.

Change-Id: I9d96227efde3a551157733cf4050d474d1e658f2


[ROCm/ROCR-Runtime commit: fe1763848a]
2017-12-19 18:57:29 -06:00
Amber Lin 91ee9033f1 Update README to include new requirement
Latest Thunk requires the user to belong to video group. Add this
statement to README.md to notify external users on Github.

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


[ROCm/ROCR-Runtime commit: 8bc83e1e9b]
2017-12-18 12:10:24 -05:00
rohit pathania 72073d5f4a Resubmitted added and modified common utilities functions for rocrtest with faile to open file fix
Change-Id: Ie45668df1a15c1be7e8bdb10b967b98fb3024252


[ROCm/ROCR-Runtime commit: 7310312291]
2017-12-18 05:06:22 -04:00
Kent Russell 061789c3fd Revert "added and modified common utilities functions for rocrtest"
This reverts commit 4c4869bf50.

Change-Id: I825b210ce4fc831f8a978faf1c7d83d54408efa4


[ROCm/ROCR-Runtime commit: c3a880db7d]
2017-12-15 06:04:50 -05:00
Sean Keely ecbd2eb820 Remove region/pool size limits for 902.
Temporary measure. Must be reverted once CRAT tables have been fixed.

Change-Id: Id2f2673edbf7b6fc5752f8d871042b4bf4de653c


[ROCm/ROCR-Runtime commit: b49e5b4917]
2017-12-14 16:02:05 -05:00
Yong Zhao cbcae4eecc Workaround: make mmap memory resident for gfx902
Change-Id: I5f90f316740f7995d54cb083a6d7e05bc4e2966e
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 716755b1de]
2017-12-14 15:11:01 -05:00
rohit pathania 4c4869bf50 added and modified common utilities functions for rocrtest
Change-Id: I80afa33a46b3d95058be306869e7ed54b2b7df64


[ROCm/ROCR-Runtime commit: 7e46704abb]
2017-12-14 12:01:16 -05:00
Sean Keely b8934623ee Don't use double mappings on GFX9 APUs.
Change-Id: I1225696211d4eac9ce982243ea0a1a9e8b2a318f


[ROCm/ROCR-Runtime commit: 1addb5e684]
2017-12-08 20:18:02 -05:00
Yong Zhao 738a69caeb Report gfx902 as GFX 9.0.2
This change is needed to match other higher level components.

Change-Id: I45114d23f2ed428dfbbb836061b3020c5ab166ec
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 0f83774635]
2017-12-07 16:08:10 -05:00
Sean Keely e155bd0cb1 Report library load errors in debug builds.
Change-Id: I24e63b15ad74fb86ecfe839f543800c2140c09d9


[ROCm/ROCR-Runtime commit: ca4c884306]
2017-12-05 18:49:33 -05:00
Oak Zeng c3dcb0a7bb Revert "Revert "More cleanup of fmm.c""
This reverts commit 5b0ba9550c.

Change-Id: I31afe4889794df8cf1e96f5f18771bed75a213d9
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: c2dc301792]
2017-12-04 15:48:11 -05:00
Oak Zeng 6c763e99fe Revert "Revert "Cleanup fmm.c""
This reverts commit dbd9a8736c,
Plus a bug fix to patch "Cleanup fmm.c":
Call id_in_array with correct parameter. The third parameter
of id_in_array is size in byte of the array, not the number
of array items. Call it correctly.

Change-Id: I72d8e2fcc0df32af76c72967386e92c1be18c159
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: 786e470241]
2017-12-04 15:48:11 -05:00
Felix Kuehling cfd86f5b7e Rename fmm_allocate_memory_in_device
to fmm_allocate_memory_object. This function name was confusingly
similar to fmm_allocate_device and __fmm_allocate_device. The new name
reflects its function better: allocate the VM object and the kernel
mode buffer object.

Change-Id: I6604d228004b4d41e871d4de784786823608b5d6
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: 587d4f4bdf]
2017-12-04 10:23:55 -05:00
Oak Zeng dbd9a8736c Revert "Cleanup fmm.c"
This reverts commit b1a482dd52.
This change caused a regression ()
Revert temporarily

Change-Id: Ic3829264151e37d1f8c6927c6f464006234ba17f
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: f7689d4fef]
2017-11-29 09:43:11 -05:00
Oak Zeng 5b0ba9550c Revert "More cleanup of fmm.c"
This reverts commit 5883a2c86b.
This change caused a regression ()
Revert temporarily

Change-Id: I5af59d319afeb7f0b03e5a09e8397e3853b8b37b
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: 52f6a61970]
2017-11-29 09:42:19 -05:00
Sean Keely a427fde26a Cleanup Signal interfaces for doorbells.
Create an interface for doorbell signals to reduce code duplication.
No functional changes.

Change-Id: I101a8997dd582ff99e1537758c804b21fe3bb6af


[ROCm/ROCR-Runtime commit: d2e70bb999]
2017-11-28 22:12:19 -06:00
Sean Keely 495c1da5f3 Pull from github (tstellar):
Prefer using memfd_create() for the ring buffer.

We were using /dev/shm, but this won't work on systems that
either don't have /dev/shm or have mounted it with noexec, because
for everything other than gfx700 we map the ring buffer with PROT_EXEC.

memfd_create() is Linux specific and was added in Linux 3.17, so we
will fallback to using /dev/shm on systems where memfd_create() is
not available.

Change-Id: I58fb533eebc362f6d29dc3e316a80801014d50e8


[ROCm/ROCR-Runtime commit: b93ffafdc7]
2017-11-28 20:47:12 -05:00
Sean Keely 37132e4a21 Improve loop variables.
Derived from github pull request by folklore1984.

Change-Id: I70cd3da131691543fed8bf913d6245d41c49280d


[ROCm/ROCR-Runtime commit: 4b603e803d]
2017-11-28 20:36:22 -05:00
Sean Keely 7ed62f815f Pull from github (pmargheritta):
Corrected semantics used in hsa_queue_load_write_index_relaxed.

The semantics that was used in hsa_queue_load_write_index_relaxed
didn't seem to match the name of the function.
I also removed a useless return keyword.

Change-Id: If3819d38fb367f122fc382edf8ee3771a23279ae


[ROCm/ROCR-Runtime commit: 5872b618de]
2017-11-28 20:35:50 -05:00
Oak Zeng 90f35469d6 Cosmetic changes in events.c
Change-Id: Idecb8eede8811020b3af51cbc71da74849029c82
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: cce57cec26]
2017-11-28 15:20:51 -05:00
Oak Zeng 5883a2c86b More cleanup of fmm.c
1. Renamed _fmm_map_to_gpu to _fmm_map_to_apu_local
   to reflect the real semantics of this function
2. Renamed _fmm_map_to_gpu_gtt to _fmm_map_to_gpu
   because this function is used to map both gtt
   and local memory
3. Call _fmm_map_to_gpu in _fmm_map_to_apu_local
   to get rid of duplicated codes

Change-Id: Id8e3ebfffe0a3c27ebdcac8a8f4dc3738d67d10a
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: 019f7cbd20]
2017-11-27 18:47:35 -05:00
Oak Zeng b1a482dd52 Cleanup fmm.c
1. Initialize pointers to NULL in vm_create_and_init_object
2. Added helper function to add/remove device ids to/from mapped arrary
3. Only map nodes that were not mapped currently
4. Remove unnecessary condition check on object frees

Change-Id: I7aed6d40c7464be0d168d5796229af55451e0f34
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: b4c89c1ea7]
2017-11-27 18:47:23 -05:00
Amber Lin b3439f48c2 Add debug message in PMC trace
Print data in PMC trace when the debug level is set to 7(pr_debug).

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


[ROCm/ROCR-Runtime commit: 6f7b55f2d8]
2017-11-22 10:09:49 -05:00
Oak Zeng 7486e8e29f Fix unconditional unmap in fmm_map_to_gpu_nodes
_fmm_unmap_from_gpu is called in fmm_map_to_gpu_nodes
to unmap buffer from nodes that is already mapped to
but not in the new map nodes list. Previously, the unmap
was called unconditionally even though the size of the
array to unmap is 0. This fixes the issue by calling
the unmap func only when the unmap array size is not 0.

Also releases the fmm_mutex on error returns

Change-Id: Iadd8383caf7ebb92f02618798c5efd138a352aaa
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: 061db45fe2]
2017-11-21 15:16:39 -05:00
Oak Zeng 84d88b8e1a Properly control lifecycle of ptr info objects
Buffer mapping to devices and buffer registration to
devices can be changed b/t two pointer info queries.
Thus update buffer mapping info and registration info
only when mapping and registration changed. This is
done by free mapped_node_id_array on mapping to new
device and free registered_node_id_array on registration
and re-allocate them on next ptr info query.

Also uses fmm_mutex to avoid race conditions in case
of calling hsaKmtQueryPointerInfo concurrently with
calling of buffer mapping or registration

Change-Id: Ibc2e20be1fc0147066f873dfa44b21f5015104b7
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: f06e887725]
2017-11-21 15:16:29 -05:00
Evgeny acce35d21f _aqlprofile_start() API migration
Change-Id: I7c8c7a6fc6f9b20cc2e4074dde38fb19440927f1


[ROCm/ROCR-Runtime commit: 86939368d1]
2017-11-20 17:32:19 -05:00
Sean Keely a62c1f5364 Use a default module search path if not already specified.
Change-Id: I782f0b758dc908c25abeb7f3536418cb5a48ac5e


[ROCm/ROCR-Runtime commit: e81d04e11b]
2017-11-20 14:12:27 -05:00
Amber Lin d2467747f1 Correct command in make package
cmake command in making packages was not updated.

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

Change-Id: Iafd3d9f4941d782bd77cfd0efafe48a02221b002


[ROCm/ROCR-Runtime commit: 61d1c6ffac]
2017-11-20 10:28:25 -05:00
Chris Freehill ed0537ed67 Device ID/family corrections for gfx9xx
Change-Id: Icb25fbbaeb99ce886a2852b48d02875ee0f197a2


[ROCm/ROCR-Runtime commit: 651ae1bf70]
2017-11-16 07:27:54 -05:00
Evgeny acaf0d0aac aqlprofil API: removing from HSA hsa_api_trace/hsa_ext_interface
Change-Id: I12fac55ea9ccfdb119899bf9d000e3c8b0bf4bbb


[ROCm/ROCR-Runtime commit: 6e1b9288f6]
2017-11-11 10:01:12 -06:00
Evgeny fd81986bb2 aqlprofile API: _aqlprofile_start() returns required profile buffer sizes if undersized
Change-Id: Ib14b2cb2e7e2026c3af0b7bd2f08f51e48e598b2


[ROCm/ROCR-Runtime commit: bb8eaf3ac8]
2017-11-09 20:03:55 -06:00
Oak Zeng 11f961f499 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>


[ROCm/ROCR-Runtime commit: d4e6ec0ff0]
2017-11-09 07:43:36 -05:00
Sean Keely 76c28f38c4 Fix bad casts in tools.
Also virtualize queue profiling enable.

Change-Id: I761b41269be3df7eb64a5914ee9951ed6b51bb04


[ROCm/ROCR-Runtime commit: 6455a69b03]
2017-11-08 15:50:02 -05:00
Sean Keely 0fcdd63d88 Add callback exception forwarding.
Modified callbacks for intercept queue, queue error, iterate agent and
iterate region.

Change-Id: I8bdd67f2312510ea7eb9caec93babca244938b40


[ROCm/ROCR-Runtime commit: a6d8a48cbc]
2017-11-08 15:50:02 -05:00
Sean Keely e2efba0676 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


[ROCm/ROCR-Runtime commit: f312a7386e]
2017-11-08 15:50:02 -05:00
Sean Keely 2406218416 Add queue intercept support to the runtime.
Queue intercept is exposed as two tools-only APIs via the API
intercept table.

Change-Id: Iac9602ed3143974d85c3569e9092295ad18037f8


[ROCm/ROCR-Runtime commit: 0c7dde2d1f]
2017-11-08 15:50:01 -05:00
Oak Zeng 14121397cd 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>


[ROCm/ROCR-Runtime commit: 07110fbd38]
2017-11-08 10:05:04 -05:00
Chris Freehill 62b331353a Re-enable IPC test
Fix for  fixes this.

Change-Id: I63a8d1a16d5029f240f075bb97ab6a1156b5cab2


[ROCm/ROCR-Runtime commit: 473be763ff]
2017-11-08 10:02:51 -05:00
Kent Russell c52d3b6997 Revert "aqlprofile API: _start() sets buffers sizes with NULL ptr; block counters reg number / block name info"
This reverts commit 8518a48d4f.

Change-Id: Ie90b091df772bf9391494c773d63858aafbc1176


[ROCm/ROCR-Runtime commit: b29d3f63e2]
2017-11-08 06:59:33 -04:00
Evgeny 8518a48d4f aqlprofile API: _start() sets buffers sizes with NULL ptr; block counters reg number / block name info
Change-Id: I3cb93453b683c55bf5ec26271648232306a5d140


[ROCm/ROCR-Runtime commit: 3daa85fad8]
2017-11-07 15:05:47 -05:00
Kent Russell 1222b7c9fb CMakeLists: Make roct-dev dependent on roct
Change-Id: Ib7d2927087dcd53da7916951de9d6a71ae6bb21b


[ROCm/ROCR-Runtime commit: c704ff60b3]
2017-11-07 06:43:37 -05:00
Amber Lin 6ba2a9b764 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>


[ROCm/ROCR-Runtime commit: 310e3d7b8b]
2017-11-02 17:34:46 -04:00
Oak Zeng e305dc9c82 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>


[ROCm/ROCR-Runtime commit: 68a2d286ca]
2017-11-02 09:06:26 -04:00
Shaoyun Liu a068301408 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>


[ROCm/ROCR-Runtime commit: 55fc06dac3]
2017-10-31 14:58:09 -04:00
Sean Keely cb47089c17 Make HostQueue::queue_count_ a portable atomic type.
Also make lint happy.

Change-Id: I0f965df6a76fd959df9eb411d1f1b11847159790


[ROCm/ROCR-Runtime commit: d93f92f42d]
2017-10-31 02:38:25 -05:00
Qingchuan Shi 3e9a0561c0 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


[ROCm/ROCR-Runtime commit: ce6aee01ed]
2017-10-28 21:48:26 -04:00