Ben Sander
4a2e6f8955
Make hipEvent_t thread safe.
...
Support re-recording of same event by different threads.
- Add criticalData structure to hipEvent_t, similar to mechanism used
for streams, contexts, device. Events are always locked
after streams to avoid deadlock.
- ihipEvent_t::locked_copyCrit can be used to copy critical state
including marker. The critical state in the event can then
be re-recorded.
- refactor hipEventElapsedTime. Remmove stale debug code, native signal
refs.
2017-11-06 23:49:25 +00:00
Ben Sander
09d866a639
Merge pull request #237 from bensander/use_ctxptr_for_p2p
...
Use ctxptr for p2p
2017-11-01 18:55:25 +01:00
Ben Sander
7e908bdec8
Add ns-level timer for HIP API routines
...
Refactor some miuses of ihipLogStatus, these should only be in top-level
HIP APIs and should be paired with HIP_API_INIT calls.
2017-10-30 20:20:51 +00:00
Ben Sander
2e8ec71e40
Merge pull request #222 from bensander/fix_device_prop
...
Fix device prop
2017-10-30 17:58:48 +01:00
Ben Sander
d610f16c47
Check for null copyEngine before looking at peers.
2017-10-30 16:58:03 +00:00
Ben Sander
7d30f32332
Fix bug with peer-to-peer combined with context API
...
- Store context inside the tracker rather than using int deviceID that
was always mapped to primary context
- IsPeerWatcher now based on device IDs rather than specific peers.
2017-10-26 19:44:22 +00:00
Aditya Atluri
5d646d0fe3
Enhance debug for copy pointers
...
- show more pointer tracking fields
- show pointer info before and after "tailoring'
2017-10-26 19:44:22 +00:00
Siu Chi Chan
5b9ce032d6
replace __hcc_workweek__ with HC_FEATURE_PRINTF flag
2017-10-23 18:30:08 -04:00
Ben Sander
dd24983571
Remove printf
2017-10-20 13:24:04 -07:00
Ben Sander
acf89b43d4
Update device properties.
...
- clear properties to defined initial state.
- enable some property flags which are now supported.
2017-10-20 15:52:13 +00:00
Ben Sander
c9f906c2ce
Modify device properties to use pool API.
...
- Also better error code checking
2017-10-20 14:49:29 +00:00
Siu Chi Chan
ccef1cbd6e
hipDeviceReset(): make sure to reinitialize the printf buffer in hcc RT
2017-10-18 16:26:13 -04:00
Wen-Heng (Jack) Chung
c74d3fe2cb
Bump device major version from 2 to 3
...
This would significantly improve performance for certain apps in kernel
selection logic.
2017-09-15 15:47:39 +00:00
Ben Sander
fbd22c3e49
Merge branch 'master' into hip_init_alloc
2017-09-14 11:53:33 -05:00
Ben Sander
cea80cd8b3
Add HIP_INIT_ALLOC to init allocated memory.
2017-09-13 23:31:48 +00:00
Ben Sander
4ac6d643c1
hipStreamQuery uses av::is_empty. Add HIP_FORCE_NULL_STREAM.
2017-08-31 03:00:14 +00:00
Ben Sander
882dab4536
Refactor hipStreamWaitEvent
...
- Null streams use same flow as non-null.
- Add HIP_SYNC_STREAM_WAIT
- Resolve null stream.
2017-08-31 03:00:14 +00:00
Ben Sander
6ff74d0e97
Lock streams when waiting on event completion or querying event safety.
2017-08-28 18:40:16 -05:00
Maneesh Gupta
e40047f2bf
[texture] guard new HCC APIs under workweek
...
Change-Id: I4f60a64fb0b0496ca1eb01ffe6ddda121c25d976
2017-08-15 15:51:38 +05:30
Weixing Zhang
4264a4ce56
[HIP Texture] The GPU virtual address for texture memory needs to be
...
aligned.
In hcc_am, a bigger buffer will be allocated for alignment purpose
and _unalignedDevicePointer is added in struct AmPointerInfo for
original allocated address.
2017-08-08 11:18:00 -04:00
Maneesh Gupta
48573a037e
Merge pull request #135 from bensander/fix_tracing
...
Some fixes to tracing.
2017-07-31 10:24:41 +05:30
Ben Sander
ecbb494a58
Some fixes to tracing.
2017-07-28 22:13:43 -05:00
Maneesh Gupta
fcc294ed41
Merge pull request #122 from bensander/enable_async_null_stream
...
Set HIP_SYNC_NULL_STREAM=0.
2017-07-28 09:15:56 +05:30
Ben Sander
77fb9893b4
Set HIP_SYNC_NULL_STREAM=0.
...
Optimizes null stream synchronization so it uses GPU-side dependency
resolution. Requires HCC __hcc_workweek__ > 17300.
2017-07-27 11:11:54 -05:00
Ben Sander
8b8e97ff28
Make host memory allocations coherent by default.
...
Associated change is to optimize event recording so it uses
agent-scope releaes (since it was only using system-scope release
to support non-coherent host mem).
Flags and environment variables exist to obtain previous behavior
if desired. Options are documented in new performance guide.
2017-07-26 19:20:34 -05:00
Ben Sander
67f5d2de3d
Enable HCC_OPT_FLUSH=1 (if HCC compiler new enough)
2017-07-24 18:57:19 -05:00
Wen-Heng (Jack) Chung
17555eabc0
Temporarily disables HCC_OPT_FLUSH
...
Change-Id: I290791e58dd52ab3823f6c3315e42b0d386e9d64
2017-07-12 16:08:36 +00:00
Ben Sander
626b5191e8
Set default HIP_SYNC_NULL_STREAM=1.
2017-06-30 19:01:14 -05:00
Aditya Atluri
3e610ab0fe
automate gcnarch detection
...
Change-Id: Ibbad22db136f7f5e2be84c82e9169298a144cc77
2017-06-29 12:01:40 -05:00
Rahul Garg
f4ea3b76c8
Fixed hipDeviceGetPCIBusId for HIP/HCC
...
Change-Id: I3688fa2476e1baada2d3c5fc3735cec3f15a1e21
2017-06-28 23:48:27 +05:30
Ben Sander
148dbc1027
Set default HIP_HIDDEN_FREE_MEM
2017-06-27 12:17:12 -05:00
Sun, Peng
1df08626c8
Add support of HIP_HIDDEN_FREE_MEM, to deduct the returned available
...
memory from hipMemGetInfo API, measured in MB.
Change-Id: I7a8260c12e032e04e26611db4c38c893a29f2653
2017-06-26 15:29:38 -05:00
Ben Sander
7912e61502
Clean up old USE_* and RELEASE.md notes.
2017-06-23 18:05:30 -05:00
Ben Sander
ac634bf334
Enable HCC_OPT_FLUSH=1.
...
Requires appropriate HCC with this support :
commit 38e392b517a46a09a3b1c8f388e6a0db3741c510
2017-06-07 00:15:05 -05:00
Ben Sander
decf3eee18
Enable HIP_SYNC_NULL_STREAM=0 optimization.
2017-06-05 08:50:41 -05:00
Ben Sander
39c18e5e5f
Fix HIP_SYNC_NULL_STREAM=0 mode.
...
- Fix null-stream sync
- hipStreamDestroy of null stream returns hipErrorInvalidResourceHandle
- Update documentation.
- Add tests for null stream sync, hipEventElapsedTime.
- Rename internal enum hipEventStatusRecorded to hipEventStatusComplete
- refactor hipStreamWaitEvent to streamline control-flow
2017-06-05 08:50:22 -05:00
Ben Sander
d5c1616324
Update tests, add p2p coherency test.
2017-06-03 17:11:34 -05:00
Ben Sander
ec7102f461
Add event controls for release fences.
...
Env var : HIP_EVENT_SYS_RELEASE
Event allocation flags : hipEventReleaseToDevice, hipEventReleaseToSystem
(remove hipEventDisableSystemRelease)
Update test for new functionality.
2017-05-27 16:02:34 -05:00
Ben Sander
620eb30691
Cleanup hipEvent. (Intermediate checkpoint)
...
Support hipEventDisableSystemRelease flag.
Update test.
Remove stray printf
2017-05-27 16:02:34 -05:00
Ben Sander
578d430bb3
Remove HIP_NUM_KERNELS_INFLIGHT. (redundant with HCC controls)
2017-05-24 01:03:28 -05:00
Ben Sander
75f691ec2f
Add hipHostMallocCoherent, hipHostMallocNonCoherent
...
Provide per-allocation control over coherent/non-coherent mem.
These overrid the default HIP_COHERENT_HOST_ALLOC setting.
2017-05-24 00:48:10 -05:00
Ben Sander
d0ef9d8462
Remove HIP_MAX_QUEUES (replaced with HCC_MAX_QUEUES)
2017-05-23 23:48:01 -05:00
Ben Sander
2b253a48b6
Use accelerator_scope for create_marker and create_blocking_marker.
...
As optimization when system-scope is not needed.
2017-05-23 23:15:45 -05:00
Ben Sander
27877f8854
Add initial HIP_SYNC_NULL_STREAM=0 mode.
...
This eliminates host-synchronization for null stream. Instead, the
null-stream uses GPU-side events to wait for other streams.
Default is OFF pending additional testing.
Add enhanced null-stream test.
Also refine HIP_TRACE_API.
2017-05-16 19:04:25 -05:00
Ben Sander
0edab14139
Add HIP_TRACE_API=4. Only display memory allocation/free apis.
2017-05-16 19:04:25 -05:00
Aditya Atluri
a43149135e
added gfx900 to hipDeviceProp_t
...
Change-Id: I49e7a32f218926fd55f1c94c5dc2366d6c8ac4ca
2017-05-12 21:43:34 -05:00
Ben Sander
0679831384
Remove old USE_ switches no longer needed.
2017-05-12 16:06:03 -05:00
Ben Sander
b306095ac2
Add hipEventDisableSystemRelease flag.
2017-05-12 16:06:03 -05:00
Ben Sander
c3ccaa01e5
hipHostMalloc allocation are mapped to all devices by default.
...
Support hipHostMallocPortable flag.
Default flags are hipHostMallocPortable | hipHostMallocMapped.
Also:
-refactor tests to move addCount and addCountReverse into HipTest
namespace.
-test multi-GPU host memory.
2017-05-10 17:34:36 -05:00
Ben Sander
5a52b79782
Tailor pointer info for src/dst before calling HCC copy routines.
...
HCC sometimes uses the srcPtrInfo or dstPtrInfo to determine the
pointer. Make sure these use the actual pointer and not the base
of the allocation.
2017-04-24 22:30:54 -05:00