Граф коммитов

20 Коммитов

Автор SHA1 Сообщение Дата
Ben Sander 79983a1f4b Merge branch 'privatestaging' into p2p 2016-05-02 11:10:10 -05:00
Aditya Atluri f571c5ec7c fixed hipmemset to use native ihip api 2016-04-25 11:05:30 -05:00
Ben Sander 9329fb8c92 Add USE_HCC_LOCK_API.
Default off, if set will compile assuming HCC lock APIs exist.
2016-04-18 23:50:52 -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 dc61929a3d Corrected Memcpydefault 2016-04-16 17:10:13 -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 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 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
Aditya Atluri 883954fce2 added hipHostRegister support no multi-gpu 2016-04-11 10:28:16 -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 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
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