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

15 Коммитов

Автор SHA1 Сообщение Дата
Aditya Atluri 2e80de6dcb improved error returns for hipHostRegister/UnRegister functions 2016-04-15 10:42:31 -05:00
Aditya Atluri 8a43f18333 added more features to hipHostRegister 2016-04-15 10:32:01 -05:00
Aditya Atluri fa7a3822f6 added hipHostRegister/UnRegister api 2016-04-15 10:08:10 -05:00
Ben Sander b0529e04f1 Clean up disable.
Add USE_HCC_LOCK (disabled)
Disable USE_PEER_TO_PEER.
2016-04-11 09:09:36 -05:00
Ben Sander 83f0de7806 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 d89539d40f Remove stray debug msgs, hipInfo don't print self as peer. 2016-04-11 07:58:58 -05:00
Ben Sander fb31eaf07b 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 813b063888 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 07d570468e added hipHostRegister support no multi-gpu 2016-04-11 10:28:16 -05:00
Ben Sander 8635863724 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 3f18bab2c7 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.
2016-03-28 09:46:40 -05:00
Ben Sander 530ab9434a 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 c5ec73736d added CR and hipsetdeviceflags func 2016-03-24 07:04:01 -05:00
Aditya Atluri 794007c3e8 Split files based on functionality and changed cmake file 2016-03-24 04:57:30 -05:00
Ben Sander 655534b1ba 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