Grafik Komit

152 Melakukan

Penulis SHA1 Pesan Tanggal
Ben Sander 89df2f4e2f Merge branch 'privatestaging' into grid_launch 2016-05-02 18:38:20 -05:00
Aditya Atluri cac8110a4f changed to guard from hc.hpp 2016-04-27 17:46:27 -05:00
bwicakso f0974e5867 Merge remote-tracking branch 'refs/remotes/origin/privatestaging' into kernel_synchronization 2016-04-25 13:57:28 -05:00
Maneesh Gupta ffdf6ab23b Merge branch 'release_0.84.00' into privatestaging
Conflicts:
	include/hcc_detail/hip_runtime.h
	src/hip_hcc.cpp
2016-04-22 10:55:58 +05:30
bwicakso df98fd8531 Fix for kernel synchronization
The completion future of a particular kernel is lost if there are
multiple kernels in the stream. This can cause a racing condition where
the signal associated with the unreferenced completion_future might get
released by hcc runtime.
2016-04-20 15:51:39 -05:00
Aditya Atluri f74b7a3636 added support pinned dma memcpy between host and device 2016-04-20 14:21:22 -05:00
Aditya Atluri 805b268ad4 added support for __ldg 2016-04-20 12:25:40 -05:00
Ben Sander 453615ed57 Fix hipDeviceReset synchronization 2016-04-19 11:56:12 -05:00
Ben Sander 8c97a258de Set chicken bits to 0. 2016-04-19 11:56:12 -05:00
Ben Sander 22d5738f82 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-04-18 21:51:13 -05:00
Ben Sander e020d68309 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 ea647727df Update hip_hcc.cpp 2016-04-18 11:36:51 -05:00
Ben Sander 65abde6626 Move HIP_HCC define to CMake 2016-04-17 07:40:04 -05:00
Ben Sander 49cc5aec91 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 8dc1bdcbe6 Corrected Memcpydefault 2016-04-16 17:10:13 -05:00
Ben Sander dcabc9dbf7 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
Ben Sander 31dc13d2ec 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 1f53c55d3e 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 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 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
Ben Sander f2aa470f7f P2P checkpoint.
Maintain enabled peer tables for each device.
2016-04-11 07:58:58 -05:00
Ben Sander 69f2469cbb Checkpoint initial peer2peer implementation. 2016-04-11 07:58:58 -05:00
Ben Sander 7886c9e3d9 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
pensun 4b2c5976ce clean up unused comments 2016-04-07 09:46:00 -05:00
Ben Sander 41f7317fb5 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 36926e6233 P2P checkpoint.
Maintain enabled peer tables for each device.
2016-04-06 15:50:47 -05:00
Ben Sander b02e9163ab Checkpoint initial peer2peer implementation. 2016-04-06 15:50:47 -05:00
Ben Sander 740b730cac 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
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 ec049e7f0b Stream thread-safe checkpoint. 2016-03-28 04:22:20 -05:00
Ben Sander 395e7eab96 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 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
pensun 535de2ecc1 fix query of memoryClockRate and memoryBusWidth for both NV and HCC path 2016-03-25 09:24:08 -05:00
Aditya Atluri 95c96638aa Added canMapMemory feature to device properties 2016-03-24 07:33:24 -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
Aditya Atluri 7920fd9a47 moved variables to headers 2016-03-23 12:59:52 -05:00
Aditya Atluri 5637bde4b3 reverted back to old infra with cmake added 2016-03-23 11:13:02 -05:00
Aditya Atluri 89bfc0e375 WIP added modular feature for device apis 2016-03-23 07:54:01 -05:00
Ben Sander eced013ae4 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.
2016-03-23 23:11:15 -05:00
Aditya Atluri 362867d325 fixed hipHostGetFlags test 2016-03-23 02:45:21 -05:00
Aditya Atluri 36d0da99c1 Remove redundant hpiHostGetDevicePointer 2016-03-23 09:21:02 -05:00
Ben Sander 6ab48d7b90 Add USE_AV_COPY (replaces calls to am_copy with new acc_view::copy 2016-03-23 10:30:53 -05:00
Ben Sander 0f81c5bcf2 use the CPU_Agent for memory copies to indicate direction. 2016-03-23 10:29:44 -05:00
Ben Sander d07b347cac Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp
2016-03-23 03:22:09 -05:00
Ben Sander f863c5c6aa Add unique stream_id to devices to improve debug 2016-03-23 03:17:19 -05:00