Aditya Atluri
eff68c989a
added half2 math operations
...
1. They use SDWA + LLVM IR
2. Added these functions to test
3. Need to do exp, exp10, log, log10, rint
Change-Id: I06176acc6cb8bb054495310531777406a41b54e4
2017-01-13 12:27:11 -06:00
Aditya Atluri
eeef055469
added packed math fp16 native device functions
...
1. Added SDWA implementation inside IR file
2. Added device functions to header + used them in test
Change-Id: Ib4e059a58eee201cc82438689e3e9bc5f9d26653
2017-01-12 14:10:51 -06:00
Aditya Atluri
c286bf6f8a
Started adding native half math library support
...
1. Removed HIP_EXPERIMENTAL env variable so that device code will be accessed from LLVM IR
2. Removed soft support from headers and moved to hip_fp16.cpp
3. Added LLVM IR + inline asm to hip_ir.ll
4. Added test for fp16
5. Added barriers for hcc 3.5 and hcc 4.0 for half support
a. Which means, hcc 4.0 can parse __fp16 but hcc 3.5 cant
b. HCC 4.0 code is implemented now, hcc 3.5 will be added later
Change-Id: Ic37859b2688ebb02e168bab643d1882bf4727952
2017-01-12 11:30:20 -06:00
Aditya Atluri
e9ff23e5f9
changed copyright year from 2016 to 2017 in src directory
...
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574
2017-01-11 18:05:41 -06:00
Aditya Atluri
4e57822d95
Added proper device data types
...
Change-Id: I42029635ff68c3c13a764a3eda6447e6c77878c6
2017-01-11 15:06:25 -06:00
Ben Sander
b29fbf736d
Add HIP_MAX_QUEUES feature.
...
Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim. To avoid deadlock, we can't
have a stream locked when we lock the context. This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.
2017-01-09 21:02:56 -06:00
Ben Sander
c9f5fe34e6
First pass at virtualized queue support.
...
Also updated stream debug messages to consistently use trace_helper.
2017-01-09 21:02:53 -06:00
Ben Sander
49d1477b9d
tolerate spaces in hip args
2017-01-09 20:57:13 -06:00
Rahul Garg
090eadd0bd
Added state for hipDevice.
...
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa
2017-01-09 23:54:01 +05:30
Ben Sander
fd5b0c68b1
Support size_t in memset kernel.
...
Add disable for HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU
Remove one copy of completion_future in memset.
2016-12-22 12:25:09 -06:00
Ben Sander
cf338d716b
Increment API sequence number.
...
Change name to tls_tidInfo
2016-12-21 15:30:36 -06:00
Rahul Garg
4988975b59
Fix for HCSWAP-67
...
Change-Id: I0b2ce5ab933237947fb41d89769db3da16e5be6a
Conflicts:
src/hip_hcc.cpp
2016-12-19 16:19:51 +05:30
Ben Sander
5d815937de
Add name for function
2016-12-17 08:54:09 -06:00
Ben Sander
2bd70ff345
Remove HSA dependency from hipFunction_t
...
Place _groupSegmentSize and _privateSegmentSize inside Function,
remove hsa_executable_symbol_t.
2016-12-17 07:22:56 -06:00
Ben Sander
06d382bc6d
Remove USE_DISPATCH_HSA_KERNEL=0 path.
2016-12-17 07:22:56 -06:00
Ben Sander
3f9404d0e1
Refactor Module and Function APIs.
...
- hipFunction_t is now returned by value. This eliminates dynamic
allocation / memory management complexity in the module. Removed
the kernel
name so the structure is just 16 bytes now.
- Moved the hsa_executable_load_module and hsa_executable_freeze
calls to the hipModuleLoad and hipModuleLoadData calls.
- Apply sharedMemBytes in hipModuleLaunchKernel to group segment
size (not private).
2016-12-17 07:22:33 -06:00
Rahul Garg
bddaa0e81c
Mapped hipDevice_t to int
...
Change-Id: I6cfa56c42b7cd04aa0e0bce510c0d72d34ea211a
2016-12-17 16:53:03 +05:30
Aditya Atluri
c673aec971
disabled half native support as inline asm is not working
...
Change-Id: I3073d8ae39eed321987f0f2f0e689eec4cdbb48c
2016-12-16 09:24:59 -06:00
Ben Sander
b53ba931e8
fix copyright
2016-12-15 14:42:52 -06:00
Aditya Atluri
a1d1fcfdac
fixed compilation issues
...
Change-Id: I96692538736e2e4f2da9dba9c8c29a164aec4c0d
2016-12-14 16:50:16 -06:00
Aditya Atluri
c20a86d866
added half2 support
...
Change-Id: I0f3b9b7037fed97e80ec99f5369c75a63f001aae
2016-12-14 14:18:48 -06:00
Aditya Atluri
01ed8e91e9
added simple half math ops
...
Change-Id: I10b1d1023a9e5f2ba63f28c4a2bbe60ee49a8aee
2016-12-13 20:20:58 -06:00
Aditya Atluri
26934a920c
disabled compiler flag hcc 4.0 for half support
...
Change-Id: I32175113f4c05d43310b3a05c2a14e12f6d48b09
2016-12-13 20:06:56 -06:00
Ben Sander
5eed20be12
Add USE_IPC to disable use of IPC APIs. Set to 0.
2016-12-13 15:07:04 -06:00
Aditya Atluri
7a712aa76b
added few type reinterpret cast device functions
...
1. __int_as_float
2. __hiloint2double
Change-Id: Id247c196887b24a12090f0521bf91e13afeec733
2016-12-13 14:41:36 -06:00
Aditya Atluri
02eab122c5
added half math addition ISA support
...
Change-Id: I293b771f695b499b795d7e53f600c9e4fe2a2071
2016-12-13 09:18:34 -06:00
Aditya Atluri
812cf130b6
Changed threadfences to match target parsing by hcc
...
Change-Id: I28fcabbaacd13495b707f263fd09afaead0665fa
2016-12-12 10:16:58 -06:00
Rahul Garg
a6b2f9c3a0
Fixed build error due to GetPCIBusId overloaded function
...
Change-Id: I626446f2c72c8143f08c95367bc1c528abeaf69d
2016-12-08 14:35:58 +05:30
pensun
7ac5f2e8c3
HIP IPC implementation on ROCr IPC APIs
...
Change-Id: I1ca9d520f5d0b1b56694211471b81eb7c6c23d16
2016-12-07 15:38:36 -06:00
Rahul Garg
d8fdd6c6fc
hipDeviceGetPCIBusId int version changes for CUDA runtime API
...
Change-Id: I4d3b995f1d1ac83415ca84808a074e5c8cd72f3c
2016-12-07 12:12:40 +05:30
pensun
8f2a1752c1
Fix issue of ihipModule_t double defined
...
Change-Id: I508677e595776fd573a2f224691116d01288dc78
2016-12-06 19:10:17 -06:00
pensun
8fcae3acc0
change hipgetPCIID to take int as third parameter
...
Change-Id: I4429b36756a6d868a769abd783bf28a55147c0d0
2016-12-06 14:24:09 -06:00
pensun
092924d660
IPC prototyps and part of the implementation included
...
Change-Id: Id88c7f155d23ec63f57a6ef05098fba43f8af336
2016-12-06 14:24:09 -06:00
pensun
808e555247
local changes for hipnccl
...
Change-Id: I05a1f0381ce2914a800f573342cc954eb5ff82d9
2016-12-06 14:22:02 -06:00
Ben Sander
3f810a203b
Enabled USE_DISPATCH_HSA_KERNEL, with serialization in hipModuleUnload.
2016-12-06 10:14:01 -06:00
Rahul Garg
a019f1ce39
Build Error correction in hipDeviceGetPCIBusId
...
Change-Id: I50ff4d95b7a732924c7a991cba60400b1c93c0de
2016-12-06 17:09:21 +05:30
Rahul Garg
0017419521
Changed hipDeviceGetPCIBusId to return Bus ID as string
...
Change-Id: I6d5aa7362084109d34bc015d948f8723b2a38ee9
2016-12-06 16:55:17 +05:30
Maneesh Gupta
b8413a69c8
Remove redundant variable g_malloc_heap_size
...
Change-Id: Idaf47be70488f0deb3eab05a86d9c5a413d3fff7
2016-12-06 10:19:03 +05:30
pensun
4cb1579d4a
HIP resource leaks fix from Jack
...
Change-Id: I93f3ad7cb94ff1cba1577bd8acc90e826693d12e
2016-12-05 20:21:33 -06:00
Maneesh Gupta
ac93376c26
Revert "Enable USE_DISPATCH_HSA_KERNEL."
...
This reverts commit f8bcbe8680 .
2016-12-05 16:55:26 +05:30
Maneesh Gupta
ac368cc60f
Don't share g_malloc_heap_size between libraries
...
Change-Id: Ic70bf83d4f865bc5c453941fdbc1814c77f0ad9d
2016-12-05 11:03:45 +05:30
Ben Sander
f8bcbe8680
Enable USE_DISPATCH_HSA_KERNEL.
...
Optimize hipLaunchModule dispatch latency.
2016-12-04 00:13:19 -06:00
Ben Sander
783ac156ce
Add additional controls for forcing serialization and blocking.
...
Move HIP_COHERENT_HOST_ALLOC so it is read once at init time.
Add HIP_LAUNCH_BLOCKING_KERNELS, HIP_API_BLOCKING.
Update docs on debug and chicken bits.
Conflicts:
src/hip_hcc.cpp
2016-12-02 18:03:59 -06:00
Aditya Atluri
e6df8cb28c
added half add and fma intrinsic
...
Change-Id: Ifa60c1a7065f524f069291bb00d987b11c836cc4
2016-11-29 19:46:01 -06:00
pensun
504fcaf786
Change to use produce device name by default
...
Change-Id: Ie2cee2a2e94a08b5874a2f5abee5d1ab6c9fdf47
2016-11-29 11:34:06 -06:00
Rahul Garg
bda0704213
Added support for hipMemGetAddressRange
...
Change-Id: I99a796a4eb765152cf15a12d6a86b58684d34f50
2016-11-29 22:04:09 +05:30
pensun
8e2980c7ef
Change the parameter type of hipDeviceGetPCIBusID to char*
...
Change-Id: Ia72f403126e95f65da53208fc246f45d1417381f
2016-11-28 10:47:18 -06:00
Ben Sander
a504df955e
Add more debug info
2016-11-26 08:56:02 -06:00
Ben Sander
9db93a1b96
Improve docs in some places
...
Change-Id: If31e84fbf0c8595ca72edb842dce7ce47783579b
2016-11-23 08:16:18 -06:00
Ben Sander
111b57ddd0
Improve debug capabilities.
...
Print TID mapping at init when HIP_TRACE_API=1.
Print base host/dev info from tracker during copy.
Change-Id: I84e26d7b801567e5a91baad36126fb590920ec87
2016-11-23 08:16:18 -06:00