Commit Graph

691 Commits

Author SHA1 Message Date
Maneesh Gupta 21431b7ed9 Merge "Squashed commit of the following:" into amd-master
[ROCm/clr commit: cce19ad99a]
2016-06-07 12:52:21 -04:00
Maneesh Gupta 385112fb99 Use cpu agent when using staging buffer
Change-Id: I195a8137e86f2752681d6ba4dc7ba1b6f654e264


[ROCm/clr commit: b35fa83c47]
2016-06-06 12:42:44 +05:30
Jack Chung c12b4d931d Squashed commit of the following:
commit 9548493fa754b3bf5c31cbdc2211db1e73e8c07c
Author: Jack Chung <whchung@gmail.com>
Date:   Mon May 23 11:57:23 2016 +0800

    Rename hipExternShared test to hipDynamicShared

    Change-Id: I180d9d539420fb69cfc121eceaa7db9da03483b2

commit 827081f8244a38f010789d556db0c4ff7b6422d8
Author: Jack Chung <whchung@gmail.com>
Date:   Mon May 23 11:56:27 2016 +0800

    Rename HIP_DECLARE_EXTERN_SHARED to HIP_DYNAMIC_SHARED

    Change-Id: I22362d179812ac547e0f11ba4e2bb999050e08ae

commit 4c277228ed41af187739610fa17eab1fb144c947
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 17:49:52 2016 +0800

    Adopt new interface to get dynamic LDS in hc.hpp

    Change-Id: I47b433b714633a4c97df87c40a0b1d3386429a00

commit 5a36117d777064113a528dc47b42e8c8413baa97
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 11:29:24 2016 +0800

    Add test patterns for regular expression to match "extern __shared__"

    These test patterns should better be saved as an individual test case, but I'm
    not familiar with HIP test structures so I leave them as comments in hipify as
    of now.

    Change-Id: I7fee89c89b9e73de2133357a226ec0c769733531

commit 1b26284168c7f5339f63338fd0149bed5d994656
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 11:25:23 2016 +0800

    Add one HIP unit test to use HIP_DECLARE_EXTERN_SHARED

    Change-Id: I4d9907815920693a74ea9d575fe26e7c67636109

commit 77b816ee5972b13d829d5bbcf06fbfd07acea2af
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 19:18:59 2016 +0800

    Adopt HIP_ prefix for DECLARE_EXTERN_SHARED macro

    Change-Id: I555ded16b449b67d2e20904013d86fe1ded6a2be

commit ef0997939c3578a9ae11621bf21c0416f04d2622
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 17:42:04 2016 +0800

    Modify hipify to support converting extern __shared__ to DECLARE_EXTERN_SHARED macro

    Added regular expression to search & replace extern __shared__ declarations to
    DECLARE_EXTERN_SHARED macro.

    Limitation:
    - Won't work if "extern __shared__" is declared at global scope

    Sample Usages:
    extern __shared__ double foo[];
    extern __shared__ unsigned int foo[];
    extern volatile __shared__ double foo[];
    extern volatile __shared__ unsigned int sdata[];
    extern __shared__ volatile unsigned int sdata[];
    extern __shared__ T s[];
    extern __shared__ T::type s[];
    extern __shared__ blah<T>::type s[];
    extern __shared__ typename mapper<Float>::type s_data[];
    extern __attribute__((used)) __shared__ typename mapper<Float>::type s_data[];

    Change-Id: I2be0b7039adeddb789f5a2b067d403a43fdc3e26

commit 93ff268724493aedfacdcd5a5aa9a100f4ebaed0
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 15:13:09 2016 +0800

    Introduce DECLARE_EXTERN_SHARED macro to encapsulate "extern __shared__" decls

    Change-Id: I93b2d37c763195b0ca9fd0afee78605a1e3272db

commit cff9c95412de343cc6405158b5acc4f1029267ff
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 12:53:54 2016 +0800

    Add __get_dynamic_groupbaseptr() to point to dynamic LDS

    Change-Id: I97b548d8a691488057617c551a8f331cad7afc77

Change-Id: I84e7875b76fa1f59e860e19c93bd4209cdd1fd2c


[ROCm/clr commit: 65448e74ed]
2016-06-05 06:20:44 -04:00
Rahul Garg 5b74d1666a Update in clock function
Change-Id: I5819aa62693dc3b9b5d7e39944d1e58aadc72027


[ROCm/clr commit: 02a6c1fbe0]
2016-05-20 11:12:32 +05:30
Maneesh Gupta 0fe5e4d12b Add misssing unsigned keyword to atomicInc and atomicDec
Change-Id: I658479c4c7c409dba117152165229880aeb5ab9f


[ROCm/clr commit: 429c26ea93]
2016-05-16 10:42:13 +05:30
Rahul Garg 6208379714 Support for Atomic inc and dec in HIP
Change-Id: I783e4917cece5cc379894f0d293382315fbfa8b0


[ROCm/clr commit: 8c11c333e2]
2016-05-12 11:10:48 +05:30
Aditya Atluri daa9b45ebf Added copyright for device functions file
Change-Id: I689345ae7428928b4d2d7cd37fbc561309db3256


[ROCm/clr commit: 67e2ee1efe]
2016-05-06 10:51:06 -05:00
Ben Sander a079847536 comment change
[ROCm/clr commit: 07b5785da2]
2016-05-03 08:33:35 -05:00
Ben Sander 41c57d1e00 Merge branch 'privatestaging' into grid_launch
[ROCm/clr commit: 20043d602e]
2016-05-02 18:38:20 -05:00
Ben Sander 070b88766f Merge branch 'privatestaging' into p2p
[ROCm/clr commit: 79983a1f4b]
2016-05-02 11:10:10 -05:00
Aditya Atluri 277039bde8 removed warnings
[ROCm/clr commit: c46e03de96]
2016-04-30 12:11:04 -05:00
Ben Sander a73068d640 remove hacks to disable math or LDG functions.
[ROCm/clr commit: 9363e495e1]
2016-04-28 14:14:22 -05:00
Ben Sander b2608d2949 hipcc uses -stdlib=stdlibc++ by default.
hipcc switches to -stdlib=libc++ if user requests it.
hack to disable LDG.


[ROCm/clr commit: 06e54694c5]
2016-04-28 13:17:49 -05:00
Aditya Atluri 8241a3dd75 changed to guard from hc.hpp
[ROCm/clr commit: ec8cedc70e]
2016-04-27 17:46:27 -05:00
bwicakso 4efcfdb83c Merge remote-tracking branch 'refs/remotes/origin/privatestaging' into kernel_synchronization
[ROCm/clr commit: 4aca1babe8]
2016-04-25 13:57:28 -05:00
Aditya Atluri 1e5fa8456e fixed hipmemset to use native ihip api
[ROCm/clr commit: f571c5ec7c]
2016-04-25 11:05:30 -05:00
Aditya Atluri 266d13c9ce Fixed git spills
[ROCm/clr commit: c404f60621]
2016-04-22 09:19:05 -05:00
Aditya Atluri ab3a1e99c5 added workweek to hip_ldg
[ROCm/clr commit: a2bc6ebc9f]
2016-04-22 09:14:26 -05:00
Maneesh Gupta 1290a35ba1 Revert "added full data type support for __ldg"
This reverts commit 23a91cd8aa.

Conflicts:
	include/hcc_detail/hip_ldg.h


[ROCm/clr commit: 091ec702a2]
2016-04-22 11:12:00 +05:30
Maneesh Gupta 03014e8a1d Merge branch 'release_0.84.00' into privatestaging
Conflicts:
	include/hcc_detail/hip_runtime.h
	src/hip_hcc.cpp


[ROCm/clr commit: 02e6fc27f4]
2016-04-22 10:55:58 +05:30
Aditya Atluri ae1fed4652 added full make_datatype support
[ROCm/clr commit: 1001796485]
2016-04-21 17:25:30 -05:00
Aditya Atluri b426b5b8b6 reorg make_datatype feature
[ROCm/clr commit: 48f3762160]
2016-04-21 14:51:19 -05:00
Aditya Atluri 23a91cd8aa added full data type support for __ldg
[ROCm/clr commit: 3aac6d45ad]
2016-04-21 11:17:26 -05:00
bwicakso 90fffbca82 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.


[ROCm/clr commit: 6773a64b22]
2016-04-20 15:51:39 -05:00
Aditya Atluri 7f21840dc8 added support pinned dma memcpy between host and device
[ROCm/clr commit: 620c5c64e6]
2016-04-20 14:21:22 -05:00
Aditya Atluri 91338214a6 added copyright for ldg
[ROCm/clr commit: f46e1bcf0e]
2016-04-20 12:28:02 -05:00
Aditya Atluri b857720440 added support for __ldg
[ROCm/clr commit: b493eac7e0]
2016-04-20 12:25:40 -05:00
Ben Sander 0f4bd3ad3a Fix hipDeviceReset synchronization
[ROCm/clr commit: ccf2c1c323]
2016-04-19 11:56:12 -05:00
Ben Sander 810f390cfe Set chicken bits to 0.
[ROCm/clr commit: b3c2d906db]
2016-04-19 11:56:12 -05:00
Ben Sander 7cbe4a1651 Add USE_HCC_LOCK_API.
Default off, if set will compile assuming HCC lock APIs exist.


[ROCm/clr commit: 9329fb8c92]
2016-04-18 23:50:52 -05:00
Ben Sander 10d42fa7cc Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 1ac93489b9]
2016-04-18 21:51:13 -05:00
Ben Sander 57a4505e77 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.


[ROCm/clr commit: 6abfa13c34]
2016-04-18 20:49:33 -05:00
Aditya Atluri 13e3aaa949 Update hip_hcc.cpp
[ROCm/clr commit: 40377fe5b1]
2016-04-18 11:36:51 -05:00
Ben Sander e92dbaeecd Move HIP_HCC define to CMake
[ROCm/clr commit: f9a31e28ad]
2016-04-17 07:40:04 -05:00
Ben Sander a77d6342a8 fix direction of peer enable/disable APIs
- Enable(peerId) makes memory physically located on peer visible to
current device.


[ROCm/clr commit: 4e0a1e1869]
2016-04-17 07:38:05 -05:00
Ben Sander dd323f5e31 Merge branch 'privatestaging' into p2p
Conflicts:
	include/hcc_detail/hip_hcc.h
	src/hip_hcc.cpp


[ROCm/clr commit: 8d26dfcde3]
2016-04-17 06:46:52 -05:00
Aditya Atluri 73e14be84b Added copyright
[ROCm/clr commit: 1aac0cc9e5]
2016-04-16 17:21:53 -05:00
Aditya Atluri f0a9d95d55 Corrected Memcpydefault
[ROCm/clr commit: dc61929a3d]
2016-04-16 17:10:13 -05:00
Ben Sander 942509d66e 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.


[ROCm/clr commit: c3bd85595d]
2016-04-16 10:18:56 -05:00
Aditya Atluri a9401cba2e improved error returns for hipHostRegister/UnRegister functions
[ROCm/clr commit: e8902a6e20]
2016-04-15 10:42:31 -05:00
Aditya Atluri 7143de0890 added more features to hipHostRegister
[ROCm/clr commit: 26ee986774]
2016-04-15 10:32:01 -05:00
Aditya Atluri 6ee096fbfc added hipHostRegister/UnRegister api
[ROCm/clr commit: 109154f03f]
2016-04-15 10:08:10 -05:00
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