Commit Graph

247 Commits

Author SHA1 Message Date
Aditya Atluri c40593fa5f changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093


[ROCm/hip commit: cb996c7b7a]
2016-08-24 09:47:11 -05:00
Aditya Atluri 6842171207 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa


[ROCm/hip commit: 2287af23a1]
2016-08-23 14:19:15 -05:00
Aditya Atluri 138b5b83d2 Added stream synchronisation for hipLaunchModuleKernel
- The module kernel launch is now in sync with commands in its stream
- Moved launch kernel inside ihipStream

Change-Id: Ic00cfcf4882bf81b6203c36881a52575ea68b529


[ROCm/hip commit: 8f0f97f8f9]
2016-08-22 14:17:55 -05:00
Aditya Atluri 737fe67a25 Added nvcc path for hipComplex APIs
- Changed from inline to static inline for hipComplex AMD APIs
- Added NVCC path for hipComplex APIs mapped to cuComplex APIs

Change-Id: I809cf3a11b5b1c8bbc7a57c5fbcc3dc6745ccb95


[ROCm/hip commit: 0806958a72]
2016-08-22 10:29:46 -05:00
Rahul Garg 5a1cf6ccfd Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07


[ROCm/hip commit: a498753041]
2016-08-22 16:15:27 +05:30
Aditya Atluri 7d05468dc1 Added more complex apis and copyright
- New header which redirects to CUDA/HIP path added for hipComplex.h
- Added more complex device api including fma
- Added copyright to new files

Change-Id: Iff0dece4c438e97d0ae33efa4312975d465a6464


[ROCm/hip commit: 24f6251b99]
2016-08-19 23:02:04 -05:00
Aditya Atluri 66d76146d2 Added support for complex device functions
- Added complex number arithmetic operation for float and double datatypes
- TODO: make them host functions and support half
- Added new function which is not in CUDA, hipCsqabs which is square of absolute value

Change-Id: Ib96e194ad45dc64fcba29eb19ad0376542e0591d


[ROCm/hip commit: 78b15bf062]
2016-08-19 21:48:23 -05:00
Aditya Atluri 719e91aacf Added support for executable and symbols for data structures
- symbol handle is added to hipFunction
- executable handle is added to hipModule
- This way, the APIs doesn't need to track the values

Change-Id: I7cf05329cf79fe946319d7746bd9f5503268fda4


[ROCm/hip commit: 921736782e]
2016-08-19 08:49:34 -05:00
Aditya Atluri 784e9c6691 Added hipLaunchModuleKernel and new error codes
- hipLaunchModuleKernel maps to cuLaunchKernel
- Whole lot of new error codes added for the use of driver api
 - KernelParams arguments is not yet supported
 - hipLaunchModuleKernel is a synchronous api (will change eventually)
 - All the commands in a stream will wait on host when hipLaunchModuleKernel is called on it

Change-Id: Ib4a4fae1db06fbb3a81d5a5575b026aa821264ed


[ROCm/hip commit: e51ce8fc09]
2016-08-18 11:26:55 -05:00
Rahul Garg 962276c45a Added further hipCtxXXX Apis
Change-Id: I286d962a06cee656c1c652b3f6b45078587fbc41


[ROCm/hip commit: 0962ca43d9]
2016-08-17 16:28:22 +05:30
pensun e8870d2505 add occupancy support for NV path; fix hipPeekAtLastError on HCC path
Change-Id: I26b0e1875c19d7c636ffcc18f1738926572ded81


[ROCm/hip commit: 2d228d8e0c]
2016-08-16 16:25:03 -05:00
Aditya Atluri e582b27f7f Added kernel compilation driver apis
1. Added 2 new driver apis, hipModuleLoad, hipModuleGetFunction

Change-Id: If464a7fad178121e3da791c7ac9e17ebc01a9cd0
Issues: When a sample written with them shows Aborted (core dumped) when exiting


[ROCm/hip commit: 3d27bbd3db]
2016-08-16 14:36:25 -05:00
Evgeny Mankov 150e3acdad #define HIP_DYNAMIC_SHARED_ATTRIBUTE is added
[ROCm/hip commit: 7015675983]
2016-08-16 17:58:57 +03:00
Rahul Garg e33c5c07e3 Implementation of hipCtxGetDevice
Change-Id: I067572e486323c3aad6f744a2c0c4997c8696af6


[ROCm/hip commit: eec9edef80]
2016-08-13 01:17:46 +05:30
Rahul Garg 5e91fe9af3 First implementation of hipCtxXXX functions
Change-Id: I4609cbe6bd90a1fff8655bff4fdd773864397aba


[ROCm/hip commit: 62d390da58]
2016-08-13 00:09:08 +05:30
Jeffrey Poznanovic cbe87288c8 Adding hipblas include files
Change-Id: I73064d410acd8f655dc62eaeb6f4bdefc5381e35


[ROCm/hip commit: 48491a3978]
2016-08-12 11:59:25 +05:30
Ben Sander 0221323977 Context update.
- Remove tls_deviceID.
- Add first passing test.

Change-Id: If3e2f254abf589028cfe4f9e6369745f04160de0


[ROCm/hip commit: 89164259ab]
2016-08-10 08:59:47 -05:00
Rahul Garg e64ae4bda0 Changed StagingBuffer class to UnpinnedCopyEngine
Change-Id: I1e212bfc8030dcf225ecf78fd7b23fda9b1de92f


[ROCm/hip commit: 2ac93c340d]
2016-08-09 21:29:42 +05:30
Rahul Garg 99f4d4ebec Moved sync copy decision logic to staging buffer class
Change-Id: I5c398772375fcc1f174a7597eea1215ce7bf80b4


[ROCm/hip commit: 023b1ecf33]
2016-08-09 09:28:18 +05:30
Ben Sander db8c7e97bd Add initial context implementation.
APIs: hipInit, hipCtxCreate.
Track TLS default ctx.  Set deviceID now changes the ctx.
Add first context test.

Change-Id: If1cb9989b5a04a36147e25e84904336c7b6f3d88


[ROCm/hip commit: 8f402132ba]
2016-08-08 17:49:02 -05:00
Ben Sander 28db2f79ba Code cleanup, use camelCase where appropriate.
Change-Id: I5a7ec50df8bbb3e7a3b313c0b12e2dd55ae4a09c


[ROCm/hip commit: ed0a2c02fe]
2016-08-08 14:54:38 -05:00
Ben Sander e8757f8154 Move copy kernel templates into hip_memory.cpp
Change-Id: I862529f3fa8232372c6bacaa5d36f035bbdd32a1


[ROCm/hip commit: 2a798152d4]
2016-08-08 12:07:12 -05:00
Ben Sander 57df8a3967 Split ihipCtx_t into ihipCtx_t and ihipDevice_t .
Major change to existing code base.
    Ctx holds streams, enables peers, and flags.
    Device holds accelerator, hsa-agent, device props.

Add hipCtx_t.

Add peer APIs that accept hipCtx_t (in addition to deviceId)

Compiles and passes directed tests.

Change-Id: Iddab1eb9edbf90caad2ef5959c6b811d658197f1


[ROCm/hip commit: cfdacab32f]
2016-08-08 11:55:57 -05:00
Ben Sander ee356ad0d4 Change Device->Ctx
Change ihipDevice_t -> ihipCtx_t (new)
Change ihipGetTlsDefaultDevice->ihipGetTlsDefaultCtx
Some other changes from device->ctx where appropriate.

Change-Id: I5c4ae93b2fd42c6303aa23d748eb166b7431925d


[ROCm/hip commit: 2dc3d3238b]
2016-08-07 21:47:12 -05:00
Ben Sander 308578d520 Remove ihipStream_r::_device_index
Replace with direct pointer to device.  Cleaner, and prep
for transition to contexts.

Change-Id: I0e550f34412923d46c541c0a14bb7d29c3fd4b11


[ROCm/hip commit: e7d7c5cbe8]
2016-08-07 20:47:06 -05:00
Rahul Garg 63c4dc3273 Region based apis to pool based api changes
Change-Id: If53019eebafe051ab4e811863995f78315297080


[ROCm/hip commit: fcb2fcce1e]
2016-08-05 15:05:57 +05:30
Ben Sander 91368967bb Cleanup sync code.
Remove dead depFutures, enqueueBarrier call.
Rename some parms to reflect usage.
Add comments to better explain tricky parts of sync code.

Change-Id: I763296421d9c2b3b58fc8cef5f010b12ab49553c


[ROCm/hip commit: 02dd7a7399]
2016-07-27 18:31:11 -05:00
Aditya Atluri c2b4a3936c Signal Fix: Added signal limit to allocSignal
1. Did not change the logic in allocSignal
2. Added guard to wait on signal limit

Change-Id: I78f29097e6a584b3c3d78319dac19869067bd1fe


[ROCm/hip commit: 1859c6e515]
2016-07-27 13:48:49 -05:00
Aditya Atluri 6ff74b7780 Signal Fix: Moved kernel count to critical stream
1. Added environment variable HIP_NUM_KERNELS_INFLIGHT
2. Moved kernelcount variable inside stream critical section

Change-Id: I51d24d0a2a109467209170de117a6d02ba4e308e


[ROCm/hip commit: 0a31b47e2e]
2016-07-26 17:09:27 -05:00
Aditya Atluri eccab29360 Signal Fix: Changed global signal count to per stream signal count
1. The number of kernels that can use signals are increased to 128
2. The kernel count is now specific to the stream

Change-Id: Ie6d1aa3f437aad8f08c3333fe48bd3f46e551e60


[ROCm/hip commit: 53d7629a85]
2016-07-26 14:03:51 -05:00
Aditya Atluri 69aed2c6ea Added re-fix for memcpy kernel sync
1. The patch uses HIP signal pools to sync between copy and kernel commands
2. The hsa_signal_create is removed
3. Left the redundant enqueueBarrier method just in case

Change-Id: I3dff3e8ee57fff3cd49bec802ff735ed128e5ca1


[ROCm/hip commit: 4bdf26a82e]
2016-07-26 09:22:59 -05:00
Rahul Garg d506d58919 D2H and H2D unpinned memory transfer support
Change-Id: If6d6c970f435e5d917d5cc6cddc2ee2918cd1c37

Conflicts:
	src/hip_hcc.cpp


[ROCm/hip commit: 42a3ed544c]
2016-07-25 14:36:07 +05:30
Aditya Atluri 6f95ad0a8d Partial fix async after kernel launch signal issue
Change-Id: Ib48d6564379160035bded9493b93663fba361710


[ROCm/hip commit: c756bb3398]
2016-07-23 14:54:20 -05:00
pensun 2e5a6ab630 Add empty stubs for threadfence family routines, changes include:
- stubs and documentation in include/hcc_details/hip_runtime.h
    - stubs with "no-op" in src/hip_memory.cpp
    - document update in hip_kernel_language.md, add suggestions to
    disable L1 and L2 caches when using the threadfence routines.

Change-Id: Ic0753170f802003055bca9d7476d7f48817b98b7


[ROCm/hip commit: f31668fee4]
2016-07-22 10:40:58 -05:00
Maneesh Gupta f02201e8c3 Replace calls to ihipInit with use of HIP_INIT_API macro
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850


[ROCm/hip commit: 71d51170ef]
2016-07-22 15:46:55 +05:30
Maneesh Gupta cfd8b8f0c4 Fix using ATP markers
Change-Id: If2d04f80b580237426c569737551e2001a8cd35a


[ROCm/hip commit: b23fad53cc]
2016-07-21 16:02:51 +05:30
Maneesh Gupta b160ff52fc Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c


[ROCm/hip commit: 7022986ab2]
2016-07-21 12:29:56 +05:30
Maneesh Gupta d12f1ef4ce Merge branch 'amd-master' into amd-develop
[ROCm/hip commit: d7b040bdba]
2016-07-05 21:40:22 +05:30
Aditya Atluri a873cec96c added more nvcc event functions
Change-Id: I79ee20ef444d4c1ab6ada3c0d56730ce754ab6b6


[ROCm/hip commit: 36b81c1be6]
2016-06-30 21:03:19 -05:00
Maneesh Gupta 81b29aed8c Merge branch 'amd-develop' into amd-master
Change-Id: I04f85b207e15e66c1a546675dc0937726ee08362


[ROCm/hip commit: 3f204b8580]
2016-06-30 18:36:07 +05:30
Aditya Atluri aa0139f89f moved half support to a source file
Change-Id: I7c09b41877e22c1b743dea25a585e5307427dafd


[ROCm/hip commit: 5633cc34cc]
2016-06-30 18:23:29 +05:30
Aditya Atluri 7d0247779d added fp16 software support
Change-Id: Ic0fdd9f8248a66911169fc00d3af71f50b36e233


[ROCm/hip commit: 83210c8ac3]
2016-06-30 18:23:29 +05:30
7SK e0874ab540 NVCC_COMPAT
add support for both cuda compatible implementation and hcc(faster)
implementation with test

Change-Id: I79a22344f458391d7dffac5f147619a542e97e4e

[ROCm/hip commit: 8264d5d6bd]
2016-06-28 09:36:06 +05:30
Ben Sander 6462575542 Use GRID_LAUNCH_VERSION define provided by HCC grid_launch.h
Change-Id: I5a7b31f13c4055cdca3a8854728d59db7dc5a7bb


[ROCm/hip commit: 702b9eff1e]
2016-06-21 23:52:25 -05:00
Ben Sander a771352253 Grid-launch updates to 2.0 and cleanup of old.
_ Use fields from GRID_LAUNCH_20 structure
  (See USE_GRID_LAUNCH_20 define, currently set to 0)
  "1" will require HCC support.
- Remove old DISABLE_GRID_LAUNCH support.

Change-Id: I584ce648d217251789a6283cf27feb24cb7dc8d1


[ROCm/hip commit: 9f29cc6989]
2016-06-21 23:24:38 -05:00
Ben Sander 58de525d41 Switch to hc_* coordinate builtins (replace amp_)
Change-Id: I0a8871f0c9f047eb45a7391fd032100af2bbd4e0


[ROCm/hip commit: 100a744d92]
2016-06-21 23:22:38 -05:00
Maneesh Gupta 03d95acc4c Merge branch 'amd-master' into amd-develop
[ROCm/hip commit: 7ca5afc20b]
2016-06-21 15:14:04 +05:30
Maneesh Gupta 5e8fb8b7f0 Merge "Add compiler annotations to make_ functions" into amd-master
[ROCm/hip commit: 7393ba139c]
2016-06-21 05:34:18 -04:00
Aditya Atluri 9a1bce640c able to pass non-dim launch parm to kernel launch
Change-Id: I0411849a27efcba597a1a9aa08be179635e04988


[ROCm/hip commit: 90cd67e0b5]
2016-06-18 11:28:20 -05:00
Ben Sander 388fcd8003 Clean up old work-week and USE_* refs
Change-Id: I929c979fa085f8e5205194cbccca46e9b5516aa9


[ROCm/hip commit: 5c9e286ddc]
2016-06-17 15:18:57 -05:00