Aditya Atluri
5ef8ef3bd7
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
d180fdaae0
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
73fcce26f9
changed copyright year from 2016 to 2017 in src directory
...
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574
2017-01-11 18:05:41 -06:00
Aditya Atluri
39910029a6
Added proper device data types
...
Change-Id: I42029635ff68c3c13a764a3eda6447e6c77878c6
2017-01-11 15:06:25 -06:00
Ben Sander
a3e0012567
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
93fbc9cf7b
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
3a42a7642a
tolerate spaces in hip args
2017-01-09 20:57:13 -06:00
Rahul Garg
5fb09879c7
Added state for hipDevice.
...
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa
2017-01-09 23:54:01 +05:30
Ben Sander
c325c988b1
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
37d8cafb12
Increment API sequence number.
...
Change name to tls_tidInfo
2016-12-21 15:30:36 -06:00
Rahul Garg
fbf7ed63a8
Fix for HCSWAP-67
...
Change-Id: I0b2ce5ab933237947fb41d89769db3da16e5be6a
Conflicts:
src/hip_hcc.cpp
2016-12-19 16:19:51 +05:30
Ben Sander
90c69e14bb
Add name for function
2016-12-17 08:54:09 -06:00
Ben Sander
8bf4bd2f7d
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
6ed7e1c1c1
Remove USE_DISPATCH_HSA_KERNEL=0 path.
2016-12-17 07:22:56 -06:00
Ben Sander
4d29885be3
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
263a9614ff
Mapped hipDevice_t to int
...
Change-Id: I6cfa56c42b7cd04aa0e0bce510c0d72d34ea211a
2016-12-17 16:53:03 +05:30
Aditya Atluri
2665ad2762
disabled half native support as inline asm is not working
...
Change-Id: I3073d8ae39eed321987f0f2f0e689eec4cdbb48c
2016-12-16 09:24:59 -06:00
Ben Sander
8ed38bae69
fix copyright
2016-12-15 14:42:52 -06:00
Aditya Atluri
68c57c38ff
fixed compilation issues
...
Change-Id: I96692538736e2e4f2da9dba9c8c29a164aec4c0d
2016-12-14 16:50:16 -06:00
Aditya Atluri
d2daf6ad75
added half2 support
...
Change-Id: I0f3b9b7037fed97e80ec99f5369c75a63f001aae
2016-12-14 14:18:48 -06:00
Aditya Atluri
7c7d948fc6
added simple half math ops
...
Change-Id: I10b1d1023a9e5f2ba63f28c4a2bbe60ee49a8aee
2016-12-13 20:20:58 -06:00
Aditya Atluri
ed39a7f43b
disabled compiler flag hcc 4.0 for half support
...
Change-Id: I32175113f4c05d43310b3a05c2a14e12f6d48b09
2016-12-13 20:06:56 -06:00
Ben Sander
b30e4b4781
Add USE_IPC to disable use of IPC APIs. Set to 0.
2016-12-13 15:07:04 -06:00
Aditya Atluri
04ab5f7f56
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
a6fe6222c4
added half math addition ISA support
...
Change-Id: I293b771f695b499b795d7e53f600c9e4fe2a2071
2016-12-13 09:18:34 -06:00
Aditya Atluri
765947aaf5
Changed threadfences to match target parsing by hcc
...
Change-Id: I28fcabbaacd13495b707f263fd09afaead0665fa
2016-12-12 10:16:58 -06:00
Rahul Garg
d35c8128a8
Fixed build error due to GetPCIBusId overloaded function
...
Change-Id: I626446f2c72c8143f08c95367bc1c528abeaf69d
2016-12-08 14:35:58 +05:30
pensun
a53d35fd6c
HIP IPC implementation on ROCr IPC APIs
...
Change-Id: I1ca9d520f5d0b1b56694211471b81eb7c6c23d16
2016-12-07 15:38:36 -06:00
Rahul Garg
266b27ac83
hipDeviceGetPCIBusId int version changes for CUDA runtime API
...
Change-Id: I4d3b995f1d1ac83415ca84808a074e5c8cd72f3c
2016-12-07 12:12:40 +05:30
pensun
6fcfab2552
Fix issue of ihipModule_t double defined
...
Change-Id: I508677e595776fd573a2f224691116d01288dc78
2016-12-06 19:10:17 -06:00
pensun
01f688587e
change hipgetPCIID to take int as third parameter
...
Change-Id: I4429b36756a6d868a769abd783bf28a55147c0d0
2016-12-06 14:24:09 -06:00
pensun
17b98d59b8
IPC prototyps and part of the implementation included
...
Change-Id: Id88c7f155d23ec63f57a6ef05098fba43f8af336
2016-12-06 14:24:09 -06:00
pensun
eba2595611
local changes for hipnccl
...
Change-Id: I05a1f0381ce2914a800f573342cc954eb5ff82d9
2016-12-06 14:22:02 -06:00
Ben Sander
6209565ec0
Enabled USE_DISPATCH_HSA_KERNEL, with serialization in hipModuleUnload.
2016-12-06 10:14:01 -06:00
Rahul Garg
ca06747e1f
Build Error correction in hipDeviceGetPCIBusId
...
Change-Id: I50ff4d95b7a732924c7a991cba60400b1c93c0de
2016-12-06 17:09:21 +05:30
Rahul Garg
27072b8972
Changed hipDeviceGetPCIBusId to return Bus ID as string
...
Change-Id: I6d5aa7362084109d34bc015d948f8723b2a38ee9
2016-12-06 16:55:17 +05:30
Maneesh Gupta
6d5145eba4
Remove redundant variable g_malloc_heap_size
...
Change-Id: Idaf47be70488f0deb3eab05a86d9c5a413d3fff7
2016-12-06 10:19:03 +05:30
pensun
778c6626fd
HIP resource leaks fix from Jack
...
Change-Id: I93f3ad7cb94ff1cba1577bd8acc90e826693d12e
2016-12-05 20:21:33 -06:00
Maneesh Gupta
46ffc69557
Revert "Enable USE_DISPATCH_HSA_KERNEL."
...
This reverts commit 097e4eb9d8 .
2016-12-05 16:55:26 +05:30
Maneesh Gupta
1cf9332c3f
Don't share g_malloc_heap_size between libraries
...
Change-Id: Ic70bf83d4f865bc5c453941fdbc1814c77f0ad9d
2016-12-05 11:03:45 +05:30
Ben Sander
097e4eb9d8
Enable USE_DISPATCH_HSA_KERNEL.
...
Optimize hipLaunchModule dispatch latency.
2016-12-04 00:13:19 -06:00
Ben Sander
ff2f54c1bf
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
7b0650773c
added half add and fma intrinsic
...
Change-Id: Ifa60c1a7065f524f069291bb00d987b11c836cc4
2016-11-29 19:46:01 -06:00
pensun
0dfcd3e664
Change to use produce device name by default
...
Change-Id: Ie2cee2a2e94a08b5874a2f5abee5d1ab6c9fdf47
2016-11-29 11:34:06 -06:00
Rahul Garg
fe6ba656c9
Added support for hipMemGetAddressRange
...
Change-Id: I99a796a4eb765152cf15a12d6a86b58684d34f50
2016-11-29 22:04:09 +05:30
pensun
2fbbf2b136
Change the parameter type of hipDeviceGetPCIBusID to char*
...
Change-Id: Ia72f403126e95f65da53208fc246f45d1417381f
2016-11-28 10:47:18 -06:00
Ben Sander
ce92a53f25
Add more debug info
2016-11-26 08:56:02 -06:00
Ben Sander
dec59d9909
Improve docs in some places
...
Change-Id: If31e84fbf0c8595ca72edb842dce7ce47783579b
2016-11-23 08:16:18 -06:00
Ben Sander
b6ae6b08fb
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
Rahul Garg
6a4f44bce0
Removed nested HIP calls from hip_device functions
...
Change-Id: I18785b0ee27e32fb8950982fa5c3a64d1ae6a9b8
2016-11-23 18:37:06 +05:30