Commit Graph

149 Commitit

Tekijä SHA1 Viesti Päivämäärä
Ben Sander d3356ba99f Merge branch 'p2p' of https://github.com/AMDComputeLibraries/HIP-privatestaging into p2p
Conflicts:
	RELEASE.md
	include/hcc_detail/hip_hcc.h
	samples/1_Utils/hipInfo/hipInfo.cpp
	src/hip_hcc.cpp
	src/hip_peer.cpp


[ROCm/clr commit: 1cc0ea86a1]
2016-04-11 09:17:27 -05:00
Ben Sander 9bf70214f3 P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.


[ROCm/clr commit: 5af4c901c6]
2016-04-11 12:52:18 -05:00
Ben Sander 76c49bbaf4 Clean up disable.
Add USE_HCC_LOCK (disabled)
Disable USE_PEER_TO_PEER.


[ROCm/clr commit: efffb0ed86]
2016-04-11 09:09:36 -05:00
Ben Sander 025938b1de P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.


[ROCm/clr commit: 9e7efd7c65]
2016-04-11 07:58:59 -05:00
Ben Sander 20d06df651 Remove stray debug msgs, hipInfo don't print self as peer.
[ROCm/clr commit: a4d97c3172]
2016-04-11 07:58:58 -05:00
Ben Sander 25bcbca521 fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.


[ROCm/clr commit: 173cff4c1e]
2016-04-11 07:58:58 -05:00
Ben Sander 4637cdccbe Use HCC get_is_pool, add USE_PEER_TO_PEER level 2, 3.
[ROCm/clr commit: 52ac414b40]
2016-04-11 07:58:58 -05:00
Ben Sander 2890517a23 For P2P, use the peer list when allocating Device memory or pinned host.
Each new allocation is automatically mapped into the address space of
all enabled peers.


[ROCm/clr commit: 97772d6363]
2016-04-11 07:58:58 -05:00
Ben Sander 7eb8c10215 P2P checkpoint.
Maintain enabled peer tables for each device.


[ROCm/clr commit: e2d19d7f7a]
2016-04-11 07:58:58 -05:00
Ben Sander 1c84f4b5c6 Checkpoint initial peer2peer implementation.
[ROCm/clr commit: 4400875dda]
2016-04-11 07:58:58 -05:00
Aditya Atluri 302c21d2af added hipHostRegister support no multi-gpu
[ROCm/clr commit: 883954fce2]
2016-04-11 10:28:16 -05:00
Ben Sander 7dbdd61088 Remove stray debug msgs, hipInfo don't print self as peer.
[ROCm/clr commit: 715940672c]
2016-04-09 04:35:06 -05:00
Ben Sander b6071f5eca fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.


[ROCm/clr commit: 7ca06d2fb1]
2016-04-09 04:11:31 -05:00
Ben Sander b5a7f3493e Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 30be68b3a9]
2016-04-07 15:55:35 -05:00
Ben Sander b7cf054453 use hsa_free directly for staging buffer free rather than am_free
[ROCm/clr commit: 8dfa2a976f]
2016-04-07 15:54:28 -05:00
Ben Sander 038d8055bc Use HCC get_is_pool, add USE_PEER_TO_PEER level 2, 3.
[ROCm/clr commit: bae62e02dc]
2016-04-07 14:28:42 -05:00
pensun 448b961328 clean up unused comments
[ROCm/clr commit: 45ed17ce2e]
2016-04-07 09:46:00 -05:00
Ben Sander e287933051 For P2P, use the peer list when allocating Device memory or pinned host.
Each new allocation is automatically mapped into the address space of
all enabled peers.


[ROCm/clr commit: 288682ccb3]
2016-04-06 16:44:31 -05:00
Ben Sander 6ccb0a5054 P2P checkpoint.
Maintain enabled peer tables for each device.


[ROCm/clr commit: 6a182ce788]
2016-04-06 15:50:47 -05:00
Ben Sander e195900a6e Checkpoint initial peer2peer implementation.
[ROCm/clr commit: db91890f53]
2016-04-06 15:50:47 -05:00
Aditya Atluri 82f3f1be67 added device math functions
[ROCm/clr commit: c2d04ba59c]
2016-03-31 12:29:19 -05:00
Aditya Atluri 522382140d moved cpp specific device code from headers to source
[ROCm/clr commit: 48b8b426d5]
2016-03-31 04:45:00 -05:00
Aditya Atluri 7fbdb9fd5c Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 00bf37d28d]
2016-03-29 11:18:09 -05:00
Ben Sander 36f2f683db Add runtime switch to control HIP_ATP_MARKER
Only generate the function strings if requested at
compile-time && runtime.


[ROCm/clr commit: e22925be22]
2016-03-29 17:27:30 -05:00
Aditya Atluri 98f1e31c9b Calling intrinsics from global kernel
[ROCm/clr commit: 3b3db60c25]
2016-03-29 11:17:55 -05:00
Ben Sander 34f21e1343 Tweak thread-safe implementation.
introduce LockedAccessor option so destructor does not unlock.
Allows locks to exist across function boundaries, required
for hipLaunchKernel macro which has several unusual requirements.
(including C comppatibility, must use variadic macro, more).


[ROCm/clr commit: 1b2ab173c1]
2016-03-28 21:41:47 -05:00
Ben Sander 96412bdea2 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.


[ROCm/clr commit: 6cab7862ae]
2016-03-28 09:46:40 -05:00
Ben Sander 77a720aafc Stream thread-safe checkpoint.
[ROCm/clr commit: ecd56e1400]
2016-03-28 04:22:20 -05:00
Ben Sander ef1314a91c Improve debug print messages.
- Remove "call-to-call" for hipStreamCreate and hipEventCreate.
  These now call an internal functions rather than calling through
  hipStreamCreateWithFalgs and hipEventCreateWithFlags.

- Add HIP_INIT_API for more functions so they trace correctly.

- Use stream#DEVICE.STREAMID in debug messages via new specialization in
  tace_helper.


[ROCm/clr commit: 82f57ca610]
2016-03-26 12:35:04 -05:00
Ben Sander 0b0c55af04 Protect _stream_id as well.
- move lockedaccessor
- clean up device class.
- add simple ihipDevice constructor.


[ROCm/clr commit: c47b5b04ef]
2016-03-26 11:45:25 -05:00
Ben Sander e16e848d55 Make ihipDevice_t thread-safe.
Move critical data into separate class and protect with LockAccessor
wrapper class.

For device, the streams list is the critical data since it is modified when
streams are created or destroyed.   The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so

All functions which acquire the LockAccessor now named with "locked_" prefix.


[ROCm/clr commit: 4dd77c6612]
2016-03-26 10:46:20 -05:00
pensun b276e6b0d7 fix query of memoryClockRate and memoryBusWidth for both NV and HCC path
[ROCm/clr commit: a8ae62d399]
2016-03-25 09:24:08 -05:00
Aditya Atluri 256403548b Added canMapMemory feature to device properties
[ROCm/clr commit: 2dacc3e161]
2016-03-24 07:33:24 -05:00
Aditya Atluri fba45193cd added CR and hipsetdeviceflags func
[ROCm/clr commit: eea49cb66b]
2016-03-24 07:04:01 -05:00
Aditya Atluri bd9979eda6 Split files based on functionality and changed cmake file
[ROCm/clr commit: 1c55019322]
2016-03-24 04:57:30 -05:00
Ben Sander 245d48de79 Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp


[ROCm/clr commit: e52c3d9fe0]
2016-03-24 09:28:54 -05:00
Aditya Atluri 5f3d917b4c moved variables to headers
[ROCm/clr commit: c1ad70ad4b]
2016-03-23 12:59:52 -05:00
Aditya Atluri 1d31895043 reverted back to old infra with cmake added
[ROCm/clr commit: 29119bd3d4]
2016-03-23 11:13:02 -05:00
Aditya Atluri 85bcb2e3b8 WIP added modular feature for device apis
[ROCm/clr commit: 64c4c70e4f]
2016-03-23 07:54:01 -05:00
Ben Sander 7f1f07363d Update docs:
- Some comments in hip_hcc.cpp
 - document hipHostRegister* flags.
 - expand docs on hipHostRegister/Unregister. Use "register" rather than
   "pin" to describe action these take.
 - change required CUDA version to 6 (require unified memory)
 - remake doxygen.


[ROCm/clr commit: 3ca91cf327]
2016-03-23 23:11:15 -05:00
Aditya Atluri 49946441ab fixed hipHostGetFlags test
[ROCm/clr commit: e9e84d2db6]
2016-03-23 02:45:21 -05:00
Aditya Atluri 53bdbdc81b Remove redundant hpiHostGetDevicePointer
[ROCm/clr commit: b1b6d5e648]
2016-03-23 09:21:02 -05:00
Ben Sander 4f295f4358 Add USE_AV_COPY (replaces calls to am_copy with new acc_view::copy
[ROCm/clr commit: 6fb2367b66]
2016-03-23 10:30:53 -05:00
Ben Sander 72332dccb7 use the CPU_Agent for memory copies to indicate direction.
[ROCm/clr commit: f3ac666a7a]
2016-03-23 10:29:44 -05:00
Ben Sander 236ac8e023 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: 8954e4fb26]
2016-03-23 03:22:09 -05:00
Ben Sander 8c25bc63b9 Add unique stream_id to devices to improve debug
[ROCm/clr commit: dc86743b35]
2016-03-23 03:17:19 -05:00
Ben Sander ab9a256f47 Improve trace API
- Validate compile-time disables.
- Add README.md section explain how to install/use CodeXL tracing
- Add code docs on trace_helper.h
- fix color on hipLaunchKernel to green.


[ROCm/clr commit: fa8deac1ad]
2016-03-23 02:57:52 -05:00
Ben Sander 454faa062e HIP_TRACE_API prints function args, and in color
[ROCm/clr commit: aed1a82ccb]
2016-03-23 02:19:49 -05:00
Ben Sander f418fe4dae use codexl marker interface to mark HIP function/begin end.
- Creates markers in HIP group and they show up in CodeXL trace
- Marker text includes HIP functioin arguments
- (Add trace_helper to convert arguments to strings)
- Still need to add HIP_INIT_API for ~30 HIP functions.


[ROCm/clr commit: 54704b59dd]
2016-03-23 01:17:53 -05:00
Ben Sander 37a02661a6 hipHostRegister and hipHostMalloc refactor.
Note hipHostMalloc (not hipHostAlloc or hipMallocHost).
 -  the hipHost* is used for all HIP APIs dealing with Host memory.
    (including hipHostMalloc, hipHostFree, hipHostRegister,
hipHostUnregister, hipHostGetFlags, hipHostGetDevicePointer).
  - hipMallocHost is consistent with "hipMalloc" for allocating device
    memory.  Enumerations hipHostMalloc* also used as optional
    flags parm to hipHostMalloc.


[ROCm/clr commit: 2d0fade1f7]
2016-03-22 02:30:10 -05:00