Grafico dei commit

1761 Commit

Autore SHA1 Messaggio Data
Ben Sander 1ac93489b9 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-04-18 21:51:13 -05:00
Ben Sander 6abfa13c34 Fixes for P2P and hipDeviceReset
- devicereset would lose track of default stream and thus subsequent
  synchronization calls might not actually sychronize.
- Also deviceReset now correctly frees streams.
- fix waits in P2P staging copy - first phase (Device0-to-Staging) must
  wait for second phase (Staging to Device1) to finish draining the
  buffer.
2016-04-18 20:49:33 -05:00
Aditya Atluri 40377fe5b1 Update hip_hcc.cpp 2016-04-18 11:36:51 -05:00
Ben Sander f9a31e28ad Move HIP_HCC define to CMake 2016-04-17 07:40:04 -05:00
Ben Sander 4e0a1e1869 fix direction of peer enable/disable APIs
- Enable(peerId) makes memory physically located on peer visible to
current device.
2016-04-17 07:38:05 -05:00
Ben Sander 8d26dfcde3 Merge branch 'privatestaging' into p2p
Conflicts:
	include/hcc_detail/hip_hcc.h
	src/hip_hcc.cpp
2016-04-17 06:46:52 -05:00
Aditya Atluri 1aac0cc9e5 Added copyright 2016-04-16 17:21:53 -05:00
Aditya Atluri dc61929a3d Corrected Memcpydefault 2016-04-16 17:10:13 -05:00
Ben Sander c3bd85595d P2P Update.
- add P2P staging buffer copy.
- If copy device does not have sufficient access permissions, fall back
  to staging buffer.
- improve docs for which copy device is used.
2016-04-16 10:18:56 -05:00
Aditya Atluri e8902a6e20 improved error returns for hipHostRegister/UnRegister functions 2016-04-15 10:42:31 -05:00
Aditya Atluri 26ee986774 added more features to hipHostRegister 2016-04-15 10:32:01 -05:00
Aditya Atluri 109154f03f added hipHostRegister/UnRegister api 2016-04-15 10:08:10 -05:00
Ben Sander 1cc0ea86a1 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
2016-04-11 09:17:27 -05:00
Ben Sander 5af4c901c6 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.
2016-04-11 12:52:18 -05:00
Ben Sander efffb0ed86 Clean up disable.
Add USE_HCC_LOCK (disabled)
Disable USE_PEER_TO_PEER.
2016-04-11 09:09:36 -05:00
Ben Sander 9e7efd7c65 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.
2016-04-11 07:58:59 -05:00
Ben Sander a4d97c3172 Remove stray debug msgs, hipInfo don't print self as peer. 2016-04-11 07:58:58 -05:00
Ben Sander 173cff4c1e fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.
2016-04-11 07:58:58 -05:00
Ben Sander 52ac414b40 Use HCC get_is_pool, add USE_PEER_TO_PEER level 2, 3. 2016-04-11 07:58:58 -05:00
Ben Sander 97772d6363 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.
2016-04-11 07:58:58 -05:00
Ben Sander e2d19d7f7a P2P checkpoint.
Maintain enabled peer tables for each device.
2016-04-11 07:58:58 -05:00
Ben Sander 4400875dda Checkpoint initial peer2peer implementation. 2016-04-11 07:58:58 -05:00
Aditya Atluri 883954fce2 added hipHostRegister support no multi-gpu 2016-04-11 10:28:16 -05:00
Ben Sander 715940672c Remove stray debug msgs, hipInfo don't print self as peer. 2016-04-09 04:35:06 -05:00
Ben Sander 7ca06d2fb1 fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.
2016-04-09 04:11:31 -05:00
Ben Sander 30be68b3a9 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-04-07 15:55:35 -05:00
Ben Sander 8dfa2a976f use hsa_free directly for staging buffer free rather than am_free 2016-04-07 15:54:28 -05:00
Ben Sander bae62e02dc Use HCC get_is_pool, add USE_PEER_TO_PEER level 2, 3. 2016-04-07 14:28:42 -05:00
pensun 45ed17ce2e clean up unused comments 2016-04-07 09:46:00 -05:00
Ben Sander 288682ccb3 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.
2016-04-06 16:44:31 -05:00
Ben Sander 6a182ce788 P2P checkpoint.
Maintain enabled peer tables for each device.
2016-04-06 15:50:47 -05:00
Ben Sander db91890f53 Checkpoint initial peer2peer implementation. 2016-04-06 15:50:47 -05:00
Aditya Atluri c2d04ba59c added device math functions 2016-03-31 12:29:19 -05:00
Aditya Atluri 48b8b426d5 moved cpp specific device code from headers to source 2016-03-31 04:45:00 -05:00
Aditya Atluri 00bf37d28d Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-29 11:18:09 -05:00
Ben Sander e22925be22 Add runtime switch to control HIP_ATP_MARKER
Only generate the function strings if requested at
compile-time && runtime.
2016-03-29 17:27:30 -05:00
Aditya Atluri 3b3db60c25 Calling intrinsics from global kernel 2016-03-29 11:17:55 -05:00
Ben Sander 1b2ab173c1 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).
2016-03-28 21:41:47 -05:00
Ben Sander 6cab7862ae Stream thread-safe checkpoint.
Moving data structures to critical / protected section.
2016-03-28 09:46:40 -05:00
Ben Sander ecd56e1400 Stream thread-safe checkpoint. 2016-03-28 04:22:20 -05:00
Ben Sander 82f57ca610 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.
2016-03-26 12:35:04 -05:00
Ben Sander c47b5b04ef Protect _stream_id as well.
- move lockedaccessor
- clean up device class.
- add simple ihipDevice constructor.
2016-03-26 11:45:25 -05:00
Ben Sander 4dd77c6612 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.
2016-03-26 10:46:20 -05:00
pensun a8ae62d399 fix query of memoryClockRate and memoryBusWidth for both NV and HCC path 2016-03-25 09:24:08 -05:00
Aditya Atluri 2dacc3e161 Added canMapMemory feature to device properties 2016-03-24 07:33:24 -05:00
Aditya Atluri eea49cb66b added CR and hipsetdeviceflags func 2016-03-24 07:04:01 -05:00
Aditya Atluri 1c55019322 Split files based on functionality and changed cmake file 2016-03-24 04:57:30 -05:00
Ben Sander e52c3d9fe0 Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp
2016-03-24 09:28:54 -05:00
Aditya Atluri c1ad70ad4b moved variables to headers 2016-03-23 12:59:52 -05:00
Aditya Atluri 29119bd3d4 reverted back to old infra with cmake added 2016-03-23 11:13:02 -05:00