İşleme Grafiği

509 İşleme

Yazar SHA1 Mesaj Tarih
Sean Keely 2e8c176e11 Add InterProcess memory sharing support.
Support is disabled pending KFD / Thunk readiness.

Change-Id: I55def748e3d56cbfcfa6e24983a0ab78567aa81d


[ROCm/ROCR-Runtime commit: 8081758a55]
2016-11-15 18:58:29 -06:00
Sean Keely c9e78a451b Add pointer info support.
Change-Id: I3edcc0bfddbf12465065c9bc3b6565288faff1b8


[ROCm/ROCR-Runtime commit: 9dd76dbeda]
2016-11-11 18:40:16 -06:00
Sean Keely b5d60f56dd Restrict stack usage in interop map to a more reasonable level.
Change-Id: I663f262a391d1e7f8a6fc3028ea9acbe37d8bcf0


[ROCm/ROCR-Runtime commit: e01c43578c]
2016-11-10 16:55:55 -06:00
Konstantin Zhuravlyov ee3b926381 Allocate only one segment for code object v2+
Change-Id: I7cd03b5c205d3ea5735f8f29820867ca90ac081b


[ROCm/ROCR-Runtime commit: 54245e064c]
2016-11-03 09:51:11 -04:00
Chris Freehill 522cffc4b6 Added support for agent attribute HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU
Change-Id: I2b90e7165384c4dce928a620a1782395267b35b0


[ROCm/ROCR-Runtime commit: 30f1ec2691]
2016-10-28 11:24:21 -04:00
Jay Cornwall c6bfeda697 Fix miscellaneous warnings flagged by Clang
Change-Id: I85a45cb3b44e4379b31bcc56af061fd1571f2af5


[ROCm/ROCR-Runtime commit: c30c25bd30]
2016-10-26 19:26:16 -05:00
Jay Cornwall 1b76d435b4 Insert explicit memory fence before submitting doorbell
Ensure that the write index and ring buffer contents are visible
to the HW before sending the doorbell. The latter is a write-combined
MMIO store and must be ordered with prior cacehable non-MMIO stores.

Also be more explicit about memory semantics for doorbell stores.

Change-Id: Ie4d96a7ee2a507237a8dbe7705fdf234d62ce9ba


[ROCm/ROCR-Runtime commit: d5b4078072]
2016-10-17 10:01:47 -04:00
Jay Cornwall 5467ef0a59 Fix AQL packet lookup in dynamic scratch event handler
Read index was not wrapped correctly.

Change-Id: I25c901b61e4760990871e22468ffd0391abef244


[ROCm/ROCR-Runtime commit: c83846cd45]
2016-10-17 10:01:14 -04:00
James Edwards d93ce4adc3 Fix hsa-runtime-tools library dependencies.
Change-Id: I649ebde06ab5c4b1892968c22e44c2bd5f53e49b


[ROCm/ROCR-Runtime commit: d66af9718e]
2016-10-15 14:35:44 -05:00
James Edwards 171802e188 Fix library namespace to ROCR_1.
Change-Id: Ie341203bad8e17673be86529bfed3c4fa98e9343


[ROCm/ROCR-Runtime commit: 4b6feb8498]
2016-10-13 16:26:46 -05:00
Konstantin Zhuravlyov 65e3c8c179 Initialize symbol's agent member for agent allocation symbols
Change-Id: I0ee0e07e4132ca13b3ecf7469c59ca327ff3c76d


[ROCm/ROCR-Runtime commit: 6f216f30c2]
2016-10-13 12:43:19 -04:00
James Edwards b86f6d176e Modify image libraries CMakeLists.txt file to use HSAKMT variables.
Change-Id: I19f1c4a312b108774f2e3e9c6697db07e6731556


[ROCm/ROCR-Runtime commit: 070be8823f]
2016-09-30 23:05:38 -05:00
James Edwards 0a7bf6fe14 Update required cmake version to 3.5.1 to support rpm packages.
Change-Id: Ic8d0d96b131937407de2578a653025a44843d330


[ROCm/ROCR-Runtime commit: cfc949c1ee]
2016-09-30 16:04:02 -05:00
James Edwards a6b81aa2e9 Remove unneeded CMakeList.txt file. Move link and def files.
Change-Id: I219317496aa564bde488a8e56e7d83808ebddb66


[ROCm/ROCR-Runtime commit: 1b30c322f0]
2016-09-30 13:02:30 -05:00
James Edwards d35b7f118b Fix Teamcity build break, part 1.
Change-Id: I2019b502700e5fda2175b258dcfd3681ab93bc77


[ROCm/ROCR-Runtime commit: 41432ee6ca]
2016-09-29 18:41:54 -05:00
James Edwards b9b6f69860 Update runtime CMakeLists.txt and utility files to support top level CMakeLists.txt build.
Change-Id: I4a0eb512af82908a24f2d1964b201c28023ccae5


[ROCm/ROCR-Runtime commit: 809356e0b5]
2016-09-27 11:58:31 -04:00
Christophe Paquot 3ebe9fab51 Sync needed when wrapping around the kernel arg buffer
If we issue too many copy commands without syncing and wrapping happens,
we need to wait for the blits to be done before moving forward otherwise
we will overwrite the kernel args of the blits in flight.

Change-Id: I9a21e31ce07f8e8157ca38e96dc264ff47fd3639


[ROCm/ROCR-Runtime commit: 5519c96b74]
2016-09-26 14:14:33 -04:00
James Edwards a7dd25b98f Update rocr packaging CMakeList.txt files to PACKAGE and LIBRARY versioning. Also, fix support for rpm packaging.
Change-Id: Iff41df41ea78b7d1248164ce3f587ad34a8865a5


[ROCm/ROCR-Runtime commit: fddd5246f3]
2016-09-23 19:12:19 -04:00
Ramesh Errabolu 26495af3cd Support a new property of Rocr Agents called Product Name
Change-Id: Ia7217094223bfed908d9aa9ccdaa590e785503cb


[ROCm/ROCR-Runtime commit: 5d972064c1]
2016-09-21 17:00:41 -04:00
James Edwards 22d3ba4068 ADD copy_targets targets to ALL target
Change-Id: I3d4b28f873f09a9e866d9f27f0bdfd3c65494e6f


[ROCm/ROCR-Runtime commit: b4fedf6785]
2016-09-20 13:50:06 -05:00
Christophe Paquot 5544a9e5e5 Add tiling code
Introducing tiling format for images, still using LINEAR for now.
Using the new KFD/Thunk API hsaKmtGetTileConfig API for the address library.

Change-Id: Ic0677429dd320eef09ab62dddaf9b2dd94c4f904


[ROCm/ROCR-Runtime commit: 538736a660]
2016-09-13 11:42:10 -04:00
Ramesh Errabolu 85aa61f011 Print Debug Mesg if private segment memory request is illegal
Change-Id: I46351651b6b2bf14e26645440a4321bc941900b2


[ROCm/ROCR-Runtime commit: c54304fe38]
2016-09-08 11:16:09 -04:00
Sean Keely 3dd28a4064 Add missing export of hsa_signal_group_wait_any_relaxed.
Change-Id: Ia043c72234534c1ac7c0a0518b64e244fc116157


[ROCm/ROCR-Runtime commit: 2008af1899]
2016-09-07 15:03:33 -05:00
Ramesh Errabolu 87018b14b4 Read name of Hsa Agent from a new field of Node Properties
Change-Id: I3abca521a904c40cb84d90800a16363b1ad64768


[ROCm/ROCR-Runtime commit: 5ab5396529]
2016-09-05 14:33:08 -04:00
Sean Keely 1306432ae1 Switch atomic_helpers.h from C11 atomics to GCC __atomic builtins.
C11 atomics are not statically guaranteed to be lock free and so
may not be atomic with respect to atomic operations originating
outside the standard library, such as platform atomics.

C11 macros to statically discover always lock free operations
(ATOMIC_*_LOCK_FREE) do not cover uint64_t in GCC and
std::atomic<uint64_t> is not a type alias of any covered type.

All use of __atomic by atomic_helpers.h is statically checked to be
always lock free.

GCC builtin fencing does not appear to be strong enough for WC memory.
Added an option (enabled) to enforce consistency for WC memory on x64.

__sync builtin's were not used as they were declared legacy by GCC.

Added a strongly conservative option (ALWAYS_CONSERVATIVE) to enable
use of full memory fences in place of partial fences and compiler
driven processor specific optimization.

Change-Id: Id7aaaca626144070f58759f6a348cbee4612bbc0


[ROCm/ROCR-Runtime commit: 1bc15bbf79]
2016-09-03 06:22:42 -04:00
Konstantin Zhuravlyov 2d64d36223 Use memcpy instead of hsa_memory_copy
Change hsa_code_object_serialize and hsa_code_object_deserialize to use memcpy instead of hsa_memory_copy since it is system->system copy

Change-Id: I329e270ae4e2fc25e177dc8080d93662ffb261ab


[ROCm/ROCR-Runtime commit: 73ed2116d5]
2016-09-01 01:56:07 -04:00
Konstantin Zhuravlyov a6d80953ba Purge unused variables (to silence warnings)
Change-Id: Ifc11c4bc4725f4c70d6be75208b6906d163754b4


[ROCm/ROCR-Runtime commit: 518da7d4e7]
2016-08-31 14:54:20 -04:00
Jay Cornwall d5ecfae62f Refactor: Consolidate calls to hsaKmtAllocMemory
Route all device-visible system memory allocations through system_allocator.

Change-Id: I5e90a1bf491e432678a6d8ab1f9f3770734cbda1


[ROCm/ROCR-Runtime commit: 74f5aca93d]
2016-08-24 23:57:19 -04:00
Sean Keely 7e2179da7b Update clang-format file to clang-format v3.8.
Format HSA v1.1 core updates.

Change-Id: I540b5c0e5b3ec7522b09c2e070167812b3f17769


[ROCm/ROCR-Runtime commit: 54f1311e01]
2016-08-23 05:50:28 -05:00
Jay Cornwall 53cd59e689 Propagate errors from hsaKmtOpenKFD back to hsa_init
Errors are otherwise silently ignored and hsa_init completes successfully.

Change-Id: Ib1b7dbd7a65d40f869cdbb2792fa97132873d3d7


[ROCm/ROCR-Runtime commit: 0c9f96cfa4]
2016-08-22 17:28:48 -05:00
Ramesh Errabolu 99998f1c87 Fix Image Create Func Decl in Hsa Api Table
Change-Id: I3862b3c78231fe24b6361167a78c6a8c7ad6ce0b


[ROCm/ROCR-Runtime commit: 31f64cdaab]
2016-08-22 15:43:48 -04:00
Konstantin Zhuravlyov e10cd184ef Update code object/isa/loader to hsa v1.1
- Includes Sean's latest changes
- Cleanups/improvements
- Fixes for few bugs that crept over from previous releases

Change-Id: I839dc4895bf13ebd0afc8843424387a9fef667b0


[ROCm/ROCR-Runtime commit: c2c993e0d8]
2016-08-22 15:03:23 -04:00
Jay Cornwall a9dff11965 Temporary fix for gfx801 hang with microcode #685
The PM4 IB must have executable permission.

A second part of this fix concerns robustness when this is not the case.
This remains under investigation.

This fix will shortly be cleaned up in a refactoring pass to consolidate
calls to hsaKmtAllocMemory.

Change-Id: I326fe01949a77669e0b07c3cadc9fd44b8065055


[ROCm/ROCR-Runtime commit: f71de56c79]
2016-08-19 18:05:40 -05:00
James Edwards 21fe24647f Update Brig.h file.
Change-Id: Id74e0c6c0c1863c15bc9a47501dd7d156a9cfc99


[ROCm/ROCR-Runtime commit: 26c704a4ae]
2016-08-18 11:35:55 -05:00
Konstantin Zhuravlyov 700347b6bf [NFC] Cosmetic improvements:
- Doxygenify comments
  - Match order of implementation with order of declaration

Change-Id: I3c7e486c4dd3616f4b10b2f3e69532a4b5fb9e8e


[ROCm/ROCR-Runtime commit: 01dc3a8ff3]
2016-08-06 14:41:08 -04:00
Jay Cornwall eb8ab3730b Invalidate caches after allocating a code object
Due to a misinterpretation of the HSA specification the microcode has,
until now, been responsible for ensuring a coherent view of the
amd_kernel_code_t object when acquire_fence_scope is set to agent or system.
To correct this the runtime must instead assume this responsibility.

Introduce GpuAgentInt::InvalidateCodeCaches to perform this operation
on-demand. Invoke this after code object allocation. Extend the Queue
implementations to support PM4 command submission, through which the
PM4 command ACQUIRE_MEM can be submitted to perform cache invalidation.
Submit through a runtime-managed queue shared with the blit implementation.

This change depends on microcode support and this is checked against the
running version. Older microcode builds will perform cache invalidation
themselves, so it is acceptable for this change to do nothing in that case.

Change-Id: I268dd2b83af3decdd9ad07430a81df8a2ecb6bd2


[ROCm/ROCR-Runtime commit: f76577ae43]
2016-08-02 13:30:55 -04:00
Jay Cornwall a25aee96ca Add -O0 to CMake debug build configuration
The default optimization level may interfere with debugging.

Change-Id: Ie694ef35b05e4cf2bf4f68bc346e8d60a2d27bc8


[ROCm/ROCR-Runtime commit: d2a4629c55]
2016-07-31 19:28:13 -04:00
Jay Cornwall 70e07dcdfd Enable VM fault message by default on Linux
This option was disabled by default to address issues writing to stderr
in Windows applications. The lack of an error message for memory access
faults is confusing to users, however.

Enable the error message by default on Linux only.

Change-Id: I1f44ba42362f8874abdc7c8e63ddd54a855b5394


[ROCm/ROCR-Runtime commit: acc5f15e4c]
2016-07-30 10:10:14 -04:00
Jay Cornwall 4723abd67d Separate blit compute interface from queue creation
The runtime needs a queue on which to submit cache management commands.
Device-to-device blit copy already creates a queue unconditionally.
We can share this queue for both purposes.

This change restructures the BlitKernel interface to accept, rather than
create, a queue. GpuAgent creates queues as needed for both cache
management and blit compute.

Fix queue full detection in AcquireWriteIndex (<= vs <).

Change-Id: I61d0c6b9d04f2dba74872f0676ad791435778ba4


[ROCm/ROCR-Runtime commit: f7ab361347]
2016-07-29 09:20:25 -04:00
Ramesh Errabolu b81d34bcdf Refactor Trap Handler Code
Change-Id: Iefdc2706bace3e7d907e8e59b9f554affdd0f613


[ROCm/ROCR-Runtime commit: 570301ffd0]
2016-07-27 16:11:53 -04:00
Ramesh Errabolu 4d4616c7dd Fix computation of max_wave_id property
Change-Id: I2ab145d301c92f39bbdb911e48aecccbd64ac82b


[ROCm/ROCR-Runtime commit: da52417c14]
2016-07-20 11:16:17 -04:00
Konstantin Zhuravlyov 83d9c273a5 Reorder loader extension functions to maintain backwards compatibility
Change-Id: I93f0899cdece4bab167290085da67d1a1770eb9b


[ROCm/ROCR-Runtime commit: 49a6a39724]
2016-07-20 08:58:11 -04:00
Jay Cornwall 8fe807f2a9 Replace SP3 dynamic assembly with pre-assembled binaries
This is the first part of transitioning to the LLVM-based assembler.
SP3 is deprecated and all references to the library are removed.
Pending LLVM support, relevant shaders have been precompiled.

Change-Id: I7d44cef5ded1836c4a74b77881af5bea8803d2c1


[ROCm/ROCR-Runtime commit: 712ea75377]
2016-07-16 16:38:32 -05:00
James Edwards da234099e1 Add the hsa_ven_amd_loader.h to the hsa-rocr-dev package and remove hsa_ven_amd_loaded_code_object.h
Change-Id: I6f55e7a98b1f49306d41f13e38190b20d326d5c2


[ROCm/ROCR-Runtime commit: aba3046bb6]
2016-07-15 15:20:24 -04:00
James Edwards a4ab641b90 Add libhsa-ext-image64 library to the rocr extensions packages
Change-Id: Ic3e4570918559f7bb413b8c2e37822b317d92f1f


[ROCm/ROCR-Runtime commit: 0543757148]
2016-07-15 12:55:31 -04:00
Jay Cornwall a1f109afe7 Recognize all CPU nodes in hsa_signal_create consumer list
On multi-node systems only the first CPU node was recognized in the
signal consumer list, causing fallback to non-interrupt signals.

Change-Id: I9bd0706bafbe046be9d7f210d05fa4cf1fcd16fa


[ROCm/ROCR-Runtime commit: b44417043b]
2016-07-09 18:40:39 -05:00
Konstantin Zhuravlyov a03e79c3c0 Remove loaded code object api
Change-Id: If20a6a3d15e25658b9e0aaf9ef8f3f33b2e0dd5c


[ROCm/ROCR-Runtime commit: 93ac77979c]
2016-07-07 13:09:30 -04:00
Ramesh Errabolu d260c22467 Export Amd Extension APIs including support for Version Control
Change-Id: I8c03cbd4049e8115ae00d51f193b9c31ac941f21


[ROCm/ROCR-Runtime commit: 95dc97da7b]
2016-07-06 13:50:18 -05:00
Fan Cao 0bbc303295 Query device name from KFD
Before this change, runtime hard code the device name, in this commit,
we will query the name from KFD. Will use codecvt to do UTF-16 to
UTF-8 transfer after GCC supports it.



Change-Id: I7c4dc32ef857296296c810d083888c5ba1c808b6


[ROCm/ROCR-Runtime commit: 88708b8e5a]
2016-07-06 09:49:17 -04:00
James Edwards 5faed35221 Updates to finalizer CMakeLists.txt file.
Change-Id: I30ab1969ce76a4c1060257e0ebe62763378dc65c


[ROCm/ROCR-Runtime commit: d0d13c34fc]
2016-07-05 16:23:09 -05:00