Commit Graph

2440 Commits

Author SHA1 Message Date
Ramesh Errabolu 95dc97da7b Export Amd Extension APIs including support for Version Control
Change-Id: I8c03cbd4049e8115ae00d51f193b9c31ac941f21
2016-07-06 13:50:18 -05:00
Fan Cao 88708b8e5a 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
2016-07-06 09:49:17 -04:00
James Edwards d0d13c34fc Updates to finalizer CMakeLists.txt file.
Change-Id: I30ab1969ce76a4c1060257e0ebe62763378dc65c
2016-07-05 16:23:09 -05:00
James Edwards 029fe2403e Add the finalizer makefile to the open source directory.
Change-Id: I381f27e774573085c81d0dc4e1cbcb11768b3780
2016-07-01 17:27:49 -04:00
Konstantin Zhuravlyov 5129ae1d61 Update p4 makefiles to build new load map api
Change-Id: Ic77560d050bed2a2a8e9b83feaa000da640e437a
2016-06-29 18:59:39 -04:00
Konstantin Zhuravlyov 0e4cab3001 Implement new load map API.
Change-Id: I5f148fe66f899b2fa6a2e75430afa988f38db58d
2016-06-28 11:32:19 -04:00
Christophe Paquot 4e93bdc99c Handle alternate_va==0
Have amd::MemoryRegion::Lock not assert if the alternate_va
is null but use the host_ptr instead because in the case where
the src/dst memory pointer is allocated via KFD, the host_ptr
is a GPUVA already.

Change-Id: If44368cc2854d4c0c477ae56e4eeabc37e54c1a5
2016-06-23 14:51:25 -07:00
Jay Cornwall 38fddca9fe Share blit queue for device-to-device and device-to-host copies
Reduces the number of blit queues from 3 to 2, when SDMA is unavailable,
improving the availability of queue slots for applications.

Change-Id: I8860d2b6c6d6527494b9fc35d164099e1313886a
2016-06-21 16:59:36 -05:00
Christophe Paquot c64f646711 Updated blit kernel code to use device accessible memory
for the kernel args.
Most image-related HSA conformance tests pass now
Many more ocltst/oclperf image ones pass too.

Change-Id: I3f28d4ee7369f0ebc7af5128d3ffe1390957db98
2016-06-14 17:03:49 -04:00
Besar Wicaksono aee8ab6ef0 Add interrupt signal support to SDMA
Change-Id: Ie2b192f3351a0c3bf1eb36ba9704825b18e6059b
2016-06-14 14:26:25 -04:00
shaoyunl bf16caa75f libhsakmt: Compute context save area size depends on CU num
Change-Id: Iaf35ddeee9fe5a6367097483f67c4adaa0796d7d
Signed-off-by: shaoyunl <Shaoyun.Liu@amd.com>
2016-06-10 10:19:40 -04:00
Besar Wicaksono a2ebd9a825 Fix close source build for tools library,
Change-Id: Id0265b186ac2fbc5385ff70e3d34947055788c21
2016-06-06 21:08:21 -04:00
Besar Wicaksono 103cd04236 Blit SDMA support for gfx70x
Change-Id: Ie6f215890553ef41c3f36b349fc9cc39c2d38747
2016-06-02 06:18:36 -04:00
James Edwards f49ddad0a1 Modify runtime cmake files to use HSA_CLOSED_SOURCE_ROOT.
Change-Id: I416f8608cfb793eac9065c1f63a85da2d3c3a816
2016-05-31 14:08:10 -05:00
Konstantin Zhuravlyov 5a14d496ab Add support for dynamic relocations (code object v2.1)
Change-Id: Ic19be97d3ea78b53f5aa814787515b587d0be21b
2016-05-26 14:09:07 -04:00
Besar Wicaksono a8b00680b6 Add profiling support to DMA copy function
Change-Id: Iadeefa2692f35d9305ac1b242284a6220d5830a7
2016-05-26 11:29:29 -04:00
James Edwards 50339c12f1 Correct minor issues in License text and sample code for hsa-rocr-dev package.
Change-Id: If1c4387794de3cb707a8ba8281a40a1123130c95
2016-05-26 09:42:24 -04:00
Ramesh Errabolu 383ed6983f Refactor Scratch Memory Descriptor Initialization
Change-Id: Ib4a136c266646cc5d5f5afb98f4aaf9266d02072
2016-05-25 22:17:43 -04:00
James Edwards ec6478e693 Add hsa-rocr-dev packaging CMakeList.txt file.
Change-Id: I1f6a0d4ad44aa7f20f43d43942719f668b620c36
2016-05-25 17:04:27 -04:00
James Edwards 72cb6dd33f Add hsa-ext-rocr-dev automatic packaging.
Change-Id: Ieb0d179b4e1a398a9400bd80037a46d0513582bc
2016-05-23 10:10:44 -04:00
Amber Lin 6d21c4e753 Add performance counters for gfx70x
Add performance counters for gfx70x. The reference is the gfx7 register spec.
The register being looked at is SQ_PERFCOUNTER0_SELECT.

Change-Id: I344bfb7452f6148f4dc268163d12c553c6be8424
2016-05-20 16:24:36 -04:00
Besar Wicaksono bc589048a9 Use lazy initialization to create Blit objects
Change-Id: I388865030dc2538c5c881c055e38af52a57f6d87
2016-05-20 14:26:06 -04:00
James Edwards ceab9a3eb0 Update hsa-ext-image CMakeList.txt file to include static lib compiler options
Change-Id: I06cff984d3dc169cdb30832bf0115bc7d821eadf
2016-05-19 15:48:42 -05:00
shaoyunl 16d5aa0d83 libhsakmt: Add new device id for virtualized function of gfx803
Signed-off-by: Shaoyun Liu <Shaoyun.liu@amd.com>
Change-Id: I90b0bdaeaed8e9e80375e5a7a142205f2a542289
2016-05-12 13:25:01 -04:00
Jay Cornwall 90ab72cd66 Implement optimized blit/fill kernels
Replace HSAIL kernels with SP3 shaders.
Support all alignment variations efficiently.

Change-Id: Icf7f5471f3ba68389f55484d82f2805dd9bc3827
2016-05-10 21:51:57 -05:00
Felix Kuehling fa102f3b8b Report gfx70x engine ID as 7.0.1
Stepping 1 indicates higher double-precision float performance and
potentially other runtime workarounds needed for lack of PCIe atomics
on gfx70x.

Change-Id: I97185c1233e7d24caaf20a1eadea931d5a2bc664
2016-05-04 13:53:24 -04:00
James Edwards 023b302fae Add image and tools cmake files to the opensrc directory.
Change-Id: I9e95d391992fa6ad7d13b500cd28eb0fb93dda1d
2016-05-03 17:01:14 -05:00
bwicakso 6ea42ae333 hsa_amd_agent_memory_pool_get_info gives wrong results for gfx803. Root cause: missing break point when querying the num hop attribute. Other change: max the reported num hop to 1 since the runtime does not have enough information about each hop, also clarified the comment about HSA_AMD_AGENT_MEMORY_POOL_INFO_NUM_LINK_HOPS attribute in the header file
Change-Id: I5d868eb457666e1377d5308f6145e76176bbfaf7
2016-05-03 12:52:38 -04:00
Amber Lin 73ad0a1942 Correct NumCaches against the CPU node
In a NUMA system, topology should report NumCaches as the number of caches
within the node but current code reports the total caches in the system. This
patch fixes the error. This patch also uses cpuid to get cache information
instead of reading from sysfs files. See "Intel Corporation, Intel 64 and IA-32
 Architectures Software Developer's  Manual Volume 2(2A, 2B & 2C) Instruction
Set Reference" 3-179 for cpuid instruction features used in this patch.


Change-Id: I8ecece6c2b230741822620b44e66ddc201ff5112
2016-05-03 11:39:33 -04:00
James Edwards 24714cb769 Remove whitespace from comments in CMakeLists.txt
Change-Id: I9a94a6f224a5cbd5fb1f8b57ed0c369339e23228
2016-04-28 11:24:02 -05:00
Felix Kuehling 97e51ce33d Add gfx70x support
Change-Id: I400adb62b5225ef3a42da279d067fb0a62907089
2016-04-25 14:27:44 -04:00
Shi, Aaron (en ye) (xN/A) TO ad21f0606e HSA Finalizer: Promote SC PRM -> Finalizer (HSA tree) up to CL 1258514
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1259784]
2016-04-19 15:31:52 -05:00
Jay Cornwall (xN/A) UK 1d4a257225 Fix SDMA fill for >=4MB regions
max_single_fill_size_ overflowed the packet field size. Reduce by one dword.

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1259263]
2016-04-18 16:05:13 -05:00
Andres Rodriguez 44572965f6 package: rename to hsathk-rocm-dev
Since we include headers and not just a library anymore, we should be
considered a -dev package and not a lib package.

Change-Id: I220465ea4ffc8d66d8d76e6716e6c6c50cdacea1
2016-04-13 19:39:54 -04:00
Besar Wicaksono (xN/A) TX [TEXT] 5a584fa1ab Fix query HSA_AMD_AGENT_MEMORY_POOL_INFO_LINK_INFO
Querying HSA_AMD_AGENT_MEMORY_POOL_INFO_LINK_INFO between a gpu agent
and its own local memory pool returns a wrong information.
Fix: return link with 0 hop count.

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1257544]
2016-04-13 12:39:25 -05:00
Hari Thangirala 0545761aa9 ROCR Build ID support
Fix dirty-tree status. Thanks to Fan for fixing the issue.

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256716]
2016-04-11 18:48:29 -05:00
Besar Wicaksono (xN/A) TX [TEXT] ea67bb8374 Sdma wraparound optimization.
Remove mutex and just make the thread spin again if the queue is wrapping.
Remove the wait for the queue to finish wrapping, and just check if there is enough space to recycle when reserving queue space.

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256713]
2016-04-11 18:31:45 -05:00
Andres Rodriguez 9f355b78a0 Adopt new ROCm packaging guidelines
All files should go into /opt/rocm/$component

For developer convenience, a single include directory is created through
symlinks, from the component include directory to /opt/rocm/include.

Similarly, a unified linked directory is present in /opt/rocm/lib

The component lib directory should not include linker names (library
names without version numbers).

This commit also fixes 'make rpm' running correctly without the need for
sourcing build/envsetup.sh

Change-Id: I95a680f6d3e3bd1ae688d0694934a0577dbd007c
2016-04-11 18:30:54 -04:00
James Edwards (xN/A) TX 871412adff Remove ENV variables from CMakeLists.txt files.
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256687]
2016-04-11 17:18:01 -05:00
Hari Thangirala a148fd0b68 ROCR Build ID support
Build system/Package maintainer:
-    BUILDID is specified at cmake.
-    USAGE: cmake -DBUILDID=<ID> ../src

For developer builds the who typically don?t provide BUILDID, cmake will:
-    Determine the last git commit when this tree was syncd 
-    Deteremine the build date 
-    Check if tree is clean when built 

The idea of this embedded string is that later when you get a ROCR build, you can get some idea on the build origination by using: strings libhsa-runtime.so.1 | grep ?ROCR BUILD ID?

For eg:
-    If it?s a Jenkins build 25, it returns: ?ROCR  BUILD ID: 25?
-    If it?s a developer build sync'd @ 06f5f2a with modifications, it returns: ?ROCR BUILD ID: 06f5f2a-2016-04-11-0"

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256588]
2016-04-11 15:03:06 -05:00
Felix Kuehling 82b3fad320 Fix 4GB and larger system memory allocations
Intermediate size was stored in a 32-bit variable. This resulted in
4GB allocations to fail in KFD due to 0 size. Larger allocations
would allocate the wrong amount of memory.

Change-Id: If19dedf64952f1d2edd813793241e12c0362d220
2016-04-11 11:17:06 -04:00
Zhuravlyov, Konstantin (x21446) MA 503fd728dd Fail gracefully if memory allocation did not succeed
Testing: precheckin (http://ocltc.amd.com:8111/viewModification.html?modId=69427&personal=true&tab=vcsModificationBuilds)

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256179]
2016-04-09 16:40:24 -05:00
Besar Wicaksono (xN/A) TX [TEXT] 2ebde5d2a7 Fix unit test build error due to CL#1256098
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256119]
2016-04-08 16:51:45 -05:00
Besar Wicaksono (xN/A) TX [TEXT] 7760839934 Fix build error from CL#1256102 due to whitespace issue.
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256108]
2016-04-08 16:40:05 -05:00
Besar Wicaksono (xN/A) TX [TEXT] a03c5148a7 Add AMD extension version
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256102]
2016-04-08 16:31:00 -05:00
Besar Wicaksono (xN/A) TX [TEXT] 4ccc695b95 Add global memory clock and width info on the agent attribute list and deprecate the ones in the memory region attribute list.
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1256098]
2016-04-08 16:29:10 -05:00
Andres Rodriguez 31861c838e package: change install directory to /opt/rocm
Align with the rest of the driver stack on the new installation path
/opt/rocm/*

This mechanism for generating packages should be changed for something
nicer and more standards compliant in the future.

Change-Id: Ic31409b0d0b8f6ee4b25296d2580982a76aab564
2016-04-08 11:41:49 -04:00
Nikolay Haustov [TEXT] a795909bca Cherry-pick CL 1250286 from SC stg.
HSA Finalizer: Add dumping of code object, ISA and executable to loader.

This is controlled by loader options -dump-all, -dump-isa, -dump-code, -dump-exec

The options can now also be set with env variable LOADER_OPTIONS_APPEND.

Added tests to finalizer_offline

Testing: smoke, dumping on hardware

Reviewed by: Konstantin Zhuravlyov

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1255351]
2016-04-07 06:01:20 -05:00
Besar Wicaksono (xN/A) TX [TEXT] 823c254d61 Cleanup TODO format
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1255182]
2016-04-06 16:50:50 -05:00
Ramesh Errabolu (xN/A) TX b93946790d Update Private Segment Size parameter of the dispatch packet
[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1254638]
2016-04-05 14:03:33 -05:00