From 092d0efcd1f123f580f49cbe56acbf601ced687a Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Tue, 8 Nov 2016 16:35:06 +0530 Subject: [PATCH] Update doxygen documentation Change-Id: I7e59470314a1d06f9d2c0d460bbd3c7292885d17 --- docs/RuntimeAPI/html/Synchonization.html | 4 +- docs/RuntimeAPI/html/annotated.html | 47 +- docs/RuntimeAPI/html/bug.html | 10 +- .../html/classFakeMutex-members.html | 4 +- docs/RuntimeAPI/html/classFakeMutex.html | 6 +- .../html/classLockedAccessor-members.html | 4 +- docs/RuntimeAPI/html/classLockedAccessor.html | 6 +- docs/RuntimeAPI/html/classes.html | 34 +- .../classihipCtxCriticalBase__t-members.html | 117 ++ .../html/classihipCtxCriticalBase__t.html | 157 ++ .../html/classihipCtxCriticalBase__t.png | Bin 0 -> 824 bytes .../html/classihipCtx__t-members.html | 114 ++ docs/RuntimeAPI/html/classihipCtx__t.html | 149 ++ .../html/classihipDevice__t-members.html | 27 +- docs/RuntimeAPI/html/classihipDevice__t.html | 75 +- .../html/classihipException-members.html | 4 +- docs/RuntimeAPI/html/classihipException.html | 6 +- .../html/classihipFunction__t-members.html | 106 ++ .../RuntimeAPI/html/classihipFunction__t.html | 124 ++ .../html/classihipModule__t-members.html | 106 ++ docs/RuntimeAPI/html/classihipModule__t.html | 123 ++ ...lassihipStreamCriticalBase__t-members.html | 25 +- .../html/classihipStreamCriticalBase__t.html | 36 +- .../html/classihipStream__t-members.html | 41 +- docs/RuntimeAPI/html/classihipStream__t.html | 124 +- docs/RuntimeAPI/html/deprecated.html | 98 ++ .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 16 +- .../dir_82c4e5e99cd964a390bd8b007f79d8a6.html | 117 ++ .../dir_ce4f9d092cd8b82b7c46cef8ba457558.html | 121 ++ .../dir_d44c64559bbebec7f509842c48db8b23.html | 23 +- docs/RuntimeAPI/html/files.html | 50 +- docs/RuntimeAPI/html/functions.html | 16 +- docs/RuntimeAPI/html/functions_rela.html | 106 ++ docs/RuntimeAPI/html/functions_vars.html | 13 +- docs/RuntimeAPI/html/globals.html | 187 ++- docs/RuntimeAPI/html/globals_defs.html | 16 +- docs/RuntimeAPI/html/globals_enum.html | 4 +- docs/RuntimeAPI/html/globals_eval.html | 4 +- docs/RuntimeAPI/html/globals_func.html | 175 ++- docs/RuntimeAPI/html/globals_type.html | 7 +- docs/RuntimeAPI/html/group__API.html | 6 +- docs/RuntimeAPI/html/group__Context.html | 607 +++++++ docs/RuntimeAPI/html/group__Device.html | 241 ++- docs/RuntimeAPI/html/group__Driver.html | 711 +++++++++ docs/RuntimeAPI/html/group__Error.html | 27 +- docs/RuntimeAPI/html/group__Event.html | 88 +- docs/RuntimeAPI/html/group__Fence.html | 197 +++ docs/RuntimeAPI/html/group__GlobalDefs.html | 151 +- .../RuntimeAPI/html/group__HCC__Specific.html | 6 +- docs/RuntimeAPI/html/group__HIP-ENV.html | 4 +- docs/RuntimeAPI/html/group__Memory.html | 548 ++++++- docs/RuntimeAPI/html/group__PeerToPeer.html | 7 +- docs/RuntimeAPI/html/group__Profiler.html | 4 +- docs/RuntimeAPI/html/group__Stream.html | 187 ++- docs/RuntimeAPI/html/group__Texture.html | 66 +- docs/RuntimeAPI/html/hcc_8h_source.html | 46 +- docs/RuntimeAPI/html/hcc__acc_8h_source.html | 63 +- .../hcc__detail_2hip__complex_8h_source.html | 276 ++++ .../hcc__detail_2hip__fp16_8h_source.html | 248 ++- .../html/hcc__detail_2hip__runtime_8h.html | 70 +- .../hcc__detail_2hip__runtime_8h_source.html | 1125 ++++++------- .../hcc__detail_2hip__runtime__api_8h.html | 282 +++- ...__detail_2hip__runtime__api_8h_source.html | 899 ++++++----- .../hcc__detail_2hip__vector__types_8h.html | 11 +- ..._detail_2hip__vector__types_8h_source.html | 456 ++++-- docs/RuntimeAPI/html/hierarchy.html | 57 +- .../html/hip__common_8h_source.html | 8 +- .../html/hip__complex_8h_source.html | 134 ++ docs/RuntimeAPI/html/hip__fp16_8h_source.html | 67 +- docs/RuntimeAPI/html/hip__hcc_8cpp.html | 259 +-- docs/RuntimeAPI/html/hip__hcc_8h_source.html | 1389 +++++++++-------- docs/RuntimeAPI/html/hip__ldg_8h_source.html | 156 +- .../html/hip__runtime_8h_source.html | 11 +- .../html/hip__runtime__api_8h_source.html | 567 ++++--- docs/RuntimeAPI/html/hip__texture_8h.html | 333 +++- .../html/hip__texture_8h_source.html | 273 ++-- docs/RuntimeAPI/html/hip__util_8h_source.html | 78 +- .../html/hip__vector__types_8h_source.html | 38 +- docs/RuntimeAPI/html/host__defines_8h.html | 10 +- .../html/host__defines_8h_source.html | 10 +- docs/RuntimeAPI/html/index.html | 4 +- docs/RuntimeAPI/html/modules.html | 32 +- docs/RuntimeAPI/html/pages.html | 7 +- docs/RuntimeAPI/html/search/all_0.js | 6 +- docs/RuntimeAPI/html/search/all_4.js | 2 + docs/RuntimeAPI/html/search/all_6.js | 3 +- docs/RuntimeAPI/html/search/all_8.js | 74 +- docs/RuntimeAPI/html/search/all_9.js | 9 +- docs/RuntimeAPI/html/search/all_a.js | 2 +- docs/RuntimeAPI/html/search/all_b.js | 4 +- docs/RuntimeAPI/html/search/all_f.js | 1 - docs/RuntimeAPI/html/search/classes_1.js | 1 + docs/RuntimeAPI/html/search/classes_3.js | 3 +- docs/RuntimeAPI/html/search/classes_4.js | 8 +- docs/RuntimeAPI/html/search/classes_5.js | 2 +- docs/RuntimeAPI/html/search/classes_6.js | 1 - docs/RuntimeAPI/html/search/defines_1.js | 3 +- docs/RuntimeAPI/html/search/enumvalues_0.js | 3 + docs/RuntimeAPI/html/search/functions_0.js | 57 +- docs/RuntimeAPI/html/search/functions_1.html | 26 + docs/RuntimeAPI/html/search/functions_1.js | 102 ++ docs/RuntimeAPI/html/search/groups_3.js | 2 +- docs/RuntimeAPI/html/search/groups_4.js | 4 +- docs/RuntimeAPI/html/search/groups_5.js | 5 +- docs/RuntimeAPI/html/search/groups_6.js | 2 +- docs/RuntimeAPI/html/search/groups_7.js | 3 +- docs/RuntimeAPI/html/search/groups_8.html | 26 + docs/RuntimeAPI/html/search/groups_8.js | 4 + docs/RuntimeAPI/html/search/groups_9.html | 26 + docs/RuntimeAPI/html/search/groups_9.js | 4 + docs/RuntimeAPI/html/search/pages_1.js | 2 +- docs/RuntimeAPI/html/search/pages_2.html | 26 + docs/RuntimeAPI/html/search/pages_2.js | 4 + docs/RuntimeAPI/html/search/related_0.html | 26 + docs/RuntimeAPI/html/search/related_0.js | 4 + docs/RuntimeAPI/html/search/search.js | 18 +- docs/RuntimeAPI/html/search/typedefs_1.js | 3 +- docs/RuntimeAPI/html/search/variables_0.js | 2 +- docs/RuntimeAPI/html/search/variables_1.js | 6 +- docs/RuntimeAPI/html/search/variables_2.js | 22 +- docs/RuntimeAPI/html/search/variables_3.js | 18 +- docs/RuntimeAPI/html/search/variables_4.js | 2 +- docs/RuntimeAPI/html/search/variables_5.js | 11 +- docs/RuntimeAPI/html/search/variables_6.js | 11 +- docs/RuntimeAPI/html/search/variables_7.js | 3 +- docs/RuntimeAPI/html/search/variables_8.js | 3 +- docs/RuntimeAPI/html/search/variables_9.js | 2 +- docs/RuntimeAPI/html/search/variables_a.js | 3 +- docs/RuntimeAPI/html/search/variables_b.js | 3 +- docs/RuntimeAPI/html/search/variables_c.js | 2 +- docs/RuntimeAPI/html/search/variables_d.js | 2 +- docs/RuntimeAPI/html/search/variables_e.js | 2 +- docs/RuntimeAPI/html/search/variables_f.html | 26 + docs/RuntimeAPI/html/search/variables_f.js | 4 + .../RuntimeAPI/html/structDbName-members.html | 103 ++ docs/RuntimeAPI/html/structDbName.html | 114 ++ .../html/structLockedBase-members.html | 4 +- docs/RuntimeAPI/html/structLockedBase.html | 10 +- docs/RuntimeAPI/html/structLockedBase.png | Bin 1178 -> 1146 bytes .../html/struct____half-members.html | 4 +- docs/RuntimeAPI/html/struct____half.html | 6 +- docs/RuntimeAPI/html/structdim3-members.html | 4 +- docs/RuntimeAPI/html/structdim3.html | 6 +- .../html/structhipArray-members.html | 4 +- docs/RuntimeAPI/html/structhipArray.html | 6 +- .../structhipChannelFormatDesc-members.html | 4 +- .../html/structhipChannelFormatDesc.html | 6 +- .../html/structhipDeviceArch__t-members.html | 4 +- .../html/structhipDeviceArch__t.html | 6 +- .../html/structhipDeviceProp__t-members.html | 4 +- .../html/structhipDeviceProp__t.html | 6 +- .../html/structhipDoubleComplex-members.html | 103 ++ .../html/structhipDoubleComplex.html | 114 ++ .../html/structhipFloatComplex-members.html | 103 ++ .../html/structhipFloatComplex.html | 114 ++ .../structhipPointerAttribute__t-members.html | 4 +- .../html/structhipPointerAttribute__t.html | 6 +- .../html/structihipEvent__t-members.html | 15 +- docs/RuntimeAPI/html/structihipEvent__t.html | 11 +- .../html/structstruct__float-members.html | 4 +- docs/RuntimeAPI/html/structstruct__float.html | 20 +- .../html/structtextureReference-members.html | 4 +- .../html/structtextureReference.html | 6 +- .../html/trace__helper_8h_source.html | 265 ++-- 164 files changed, 10096 insertions(+), 3713 deletions(-) create mode 100644 docs/RuntimeAPI/html/classihipCtxCriticalBase__t-members.html create mode 100644 docs/RuntimeAPI/html/classihipCtxCriticalBase__t.html create mode 100644 docs/RuntimeAPI/html/classihipCtxCriticalBase__t.png create mode 100644 docs/RuntimeAPI/html/classihipCtx__t-members.html create mode 100644 docs/RuntimeAPI/html/classihipCtx__t.html create mode 100644 docs/RuntimeAPI/html/classihipFunction__t-members.html create mode 100644 docs/RuntimeAPI/html/classihipFunction__t.html create mode 100644 docs/RuntimeAPI/html/classihipModule__t-members.html create mode 100644 docs/RuntimeAPI/html/classihipModule__t.html create mode 100644 docs/RuntimeAPI/html/deprecated.html create mode 100644 docs/RuntimeAPI/html/dir_82c4e5e99cd964a390bd8b007f79d8a6.html create mode 100644 docs/RuntimeAPI/html/dir_ce4f9d092cd8b82b7c46cef8ba457558.html create mode 100644 docs/RuntimeAPI/html/functions_rela.html create mode 100644 docs/RuntimeAPI/html/group__Context.html create mode 100644 docs/RuntimeAPI/html/group__Driver.html create mode 100644 docs/RuntimeAPI/html/group__Fence.html create mode 100644 docs/RuntimeAPI/html/hcc__detail_2hip__complex_8h_source.html create mode 100644 docs/RuntimeAPI/html/hip__complex_8h_source.html create mode 100644 docs/RuntimeAPI/html/search/functions_1.html create mode 100644 docs/RuntimeAPI/html/search/functions_1.js create mode 100644 docs/RuntimeAPI/html/search/groups_8.html create mode 100644 docs/RuntimeAPI/html/search/groups_8.js create mode 100644 docs/RuntimeAPI/html/search/groups_9.html create mode 100644 docs/RuntimeAPI/html/search/groups_9.js create mode 100644 docs/RuntimeAPI/html/search/pages_2.html create mode 100644 docs/RuntimeAPI/html/search/pages_2.js create mode 100644 docs/RuntimeAPI/html/search/related_0.html create mode 100644 docs/RuntimeAPI/html/search/related_0.js create mode 100644 docs/RuntimeAPI/html/search/variables_f.html create mode 100644 docs/RuntimeAPI/html/search/variables_f.js create mode 100644 docs/RuntimeAPI/html/structDbName-members.html create mode 100644 docs/RuntimeAPI/html/structDbName.html create mode 100644 docs/RuntimeAPI/html/structhipDoubleComplex-members.html create mode 100644 docs/RuntimeAPI/html/structhipDoubleComplex.html create mode 100644 docs/RuntimeAPI/html/structhipFloatComplex-members.html create mode 100644 docs/RuntimeAPI/html/structhipFloatComplex.html diff --git a/docs/RuntimeAPI/html/Synchonization.html b/docs/RuntimeAPI/html/Synchonization.html index cffd877184..8e2b7a8004 100644 --- a/docs/RuntimeAPI/html/Synchonization.html +++ b/docs/RuntimeAPI/html/Synchonization.html @@ -64,7 +64,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -109,7 +109,7 @@

HIP_LAUNCH_BLOCKING (also can use CUDA_LAUNCH_BLOCKING)

diff --git a/docs/RuntimeAPI/html/annotated.html b/docs/RuntimeAPI/html/annotated.html index 91ab409df8..831eebd43d 100644 --- a/docs/RuntimeAPI/html/annotated.html +++ b/docs/RuntimeAPI/html/annotated.html @@ -73,7 +73,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -90,32 +90,35 @@
Here are the classes, structs, unions and interfaces with brief descriptions:
diff --git a/docs/RuntimeAPI/html/bug.html b/docs/RuntimeAPI/html/bug.html index 014931e427..9f464f208d 100644 --- a/docs/RuntimeAPI/html/bug.html +++ b/docs/RuntimeAPI/html/bug.html @@ -64,7 +64,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -80,18 +80,16 @@
-
Member hipGetDeviceProperties (hipDeviceProp_t *prop, int device)
+
Member hipGetDeviceProperties (hipDeviceProp_t *prop, int deviceId)

HCC always returns 0 for maxThreadsPerMultiProcessor

HCC always returns 0 for regsPerBlock

-

HCC always returns 0 for l2CacheSize

+

HCC always returns 0 for l2CacheSize

-
Member hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
-
This function conservatively waits for all work in the specified stream to complete.
diff --git a/docs/RuntimeAPI/html/classFakeMutex-members.html b/docs/RuntimeAPI/html/classFakeMutex-members.html index 4d8eaa9217..3d0d7f9f7d 100644 --- a/docs/RuntimeAPI/html/classFakeMutex-members.html +++ b/docs/RuntimeAPI/html/classFakeMutex-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -96,7 +96,7 @@
diff --git a/docs/RuntimeAPI/html/classFakeMutex.html b/docs/RuntimeAPI/html/classFakeMutex.html index e2bf30ae41..d3b96887f0 100644 --- a/docs/RuntimeAPI/html/classFakeMutex.html +++ b/docs/RuntimeAPI/html/classFakeMutex.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -104,12 +104,12 @@  
The documentation for this class was generated from the following file:
diff --git a/docs/RuntimeAPI/html/classLockedAccessor-members.html b/docs/RuntimeAPI/html/classLockedAccessor-members.html index bc254ebfe8..72fd7ab96b 100644 --- a/docs/RuntimeAPI/html/classLockedAccessor-members.html +++ b/docs/RuntimeAPI/html/classLockedAccessor-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -97,7 +97,7 @@
diff --git a/docs/RuntimeAPI/html/classLockedAccessor.html b/docs/RuntimeAPI/html/classLockedAccessor.html index 2cb2fcd45e..46e9cb999d 100644 --- a/docs/RuntimeAPI/html/classLockedAccessor.html +++ b/docs/RuntimeAPI/html/classLockedAccessor.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -104,12 +104,12 @@  
The documentation for this class was generated from the following file:
diff --git a/docs/RuntimeAPI/html/classes.html b/docs/RuntimeAPI/html/classes.html index 93b63f9f24..6ad2e3ccbe 100644 --- a/docs/RuntimeAPI/html/classes.html +++ b/docs/RuntimeAPI/html/classes.html @@ -73,7 +73,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -89,32 +89,32 @@
D | F | H | I | L | S | T | _
+ + + - - + + - - + - - - - + +
  D  
+
LockedBase   hipChannelFormatDesc   ihipCtxCriticalBase_t   
  s  
+
  _  
+
hipDeviceArch_t   ihipDevice_t   
DbName   hipDeviceProp_t   ihipEvent_t   struct_float   
  F  
-
  _  
-
hipChannelFormatDesc   ihipDeviceCriticalBase_t   
  t  
+
__half   hipDoubleComplex   ihipException   
  t  
hipDeviceArch_t   ihipEvent_t   
FakeMutex   __half   hipDeviceProp_t   ihipException   textureReference   
  d  
+
hipFloatComplex   ihipFunction_t   
FakeMutex   hipPointerAttribute_t   ihipModule_t   textureReference   
  L  
-
  d  
-
hipEvent_t   ihipSignal_t   
hipPointerAttribute_t   ihipStream_t   
LockedAccessor   dim3   
  i  
+
dim3   
  i  
+
ihipStream_t   
  h  
ihipStreamCriticalBase_t   
LockedBase   
  h  
-
  s  
-
  S  
-
ihipDevice_t   
hipArray   struct_float   
StagingBuffer   
LockedAccessor   ihipCtx_t   
hipArray   
D | F | H | I | L | S | T | _
diff --git a/docs/RuntimeAPI/html/classihipCtxCriticalBase__t-members.html b/docs/RuntimeAPI/html/classihipCtxCriticalBase__t-members.html new file mode 100644 index 0000000000..e5ccfda59d --- /dev/null +++ b/docs/RuntimeAPI/html/classihipCtxCriticalBase__t-members.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipCtxCriticalBase_t< MUTEX_TYPE > Member List
+
+
+ +

This is the complete list of members for ihipCtxCriticalBase_t< MUTEX_TYPE >, including all inherited members.

+ + + + + + + + + + + + + + + + + +
_mutex (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >private
addPeer(ihipCtx_t *peer) (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >
addStream(ihipStream_t *stream) (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >
const_streams() const (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >inline
ihipCtxCriticalBase_t(unsigned deviceCnt) (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >inline
isPeer(const ihipCtx_t *peer) (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >
lock() (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >inlineprivate
LockedAccessor< ihipCtxCriticalBase_t > (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >friend
peerAgents() const (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >inline
peerCnt() const (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >inline
printPeers(FILE *f) const (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >
removePeer(ihipCtx_t *peer) (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >
resetPeers(ihipCtx_t *thisDevice) (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >
streams() (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >inline
unlock() (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >inlineprivate
~ihipCtxCriticalBase_t() (defined in ihipCtxCriticalBase_t< MUTEX_TYPE >)ihipCtxCriticalBase_t< MUTEX_TYPE >inline
+ + + + diff --git a/docs/RuntimeAPI/html/classihipCtxCriticalBase__t.html b/docs/RuntimeAPI/html/classihipCtxCriticalBase__t.html new file mode 100644 index 0000000000..c3c83e3da3 --- /dev/null +++ b/docs/RuntimeAPI/html/classihipCtxCriticalBase__t.html @@ -0,0 +1,157 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipCtxCriticalBase_t< MUTEX_TYPE > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipCtxCriticalBase_t< MUTEX_TYPE > Class Template Reference
+
+
+
+Inheritance diagram for ihipCtxCriticalBase_t< MUTEX_TYPE >:
+
+
+ + +LockedBase< MUTEX_TYPE > + +
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ihipCtxCriticalBase_t (unsigned deviceCnt)
 
+void addStream (ihipStream_t *stream)
 
+std::list< ihipStream_t * > & streams ()
 
+const std::list< ihipStream_t * > & const_streams () const
 
+bool isPeer (const ihipCtx_t *peer)
 
+bool addPeer (ihipCtx_t *peer)
 
+bool removePeer (ihipCtx_t *peer)
 
+void resetPeers (ihipCtx_t *thisDevice)
 
+void printPeers (FILE *f) const
 
+uint32_t peerCnt () const
 
+hsa_agent_t * peerAgents () const
 
+ + + +

+Friends

+class LockedAccessor< ihipCtxCriticalBase_t >
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/classihipCtxCriticalBase__t.png b/docs/RuntimeAPI/html/classihipCtxCriticalBase__t.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe1e9a2dd6c507923ac73c813e1029bf5965ecd GIT binary patch literal 824 zcmeAS@N?(olHy`uVBq!ia0vp^uYfp!gBeIFNK57eDTx4|5ZC|z{{xvX-h3_XKQsZz z0^#Ar*{o=SC+jHsEpXcm1~inc_iy z&tr^2w`Oj=3kt3;QB)2T&ujRtD4W9$b2V##p0RJtIo+avRf_EZiYOX z(Q*rRs9mE?`i!Fx18KHyE1my?SiO z^V(vC_DhX5%nO-#7QfVV$e*>2>C3X0S|l*`KhEM%>``Poz%gqD!`{qAK>a3+wxT&Foh_U_aRUwz?pR_PLJ>j~di?MSyKmyf-oD z{}3k>x=wD9S + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipCtx_t Member List
+
+
+ +

This is the complete list of members for ihipCtx_t, including all inherited members.

+ + + + + + + + + + + + + + +
_ctxFlags (defined in ihipCtx_t)ihipCtx_t
_defaultStream (defined in ihipCtx_t)ihipCtx_t
criticalData() (defined in ihipCtx_t)ihipCtx_tinline
getDevice() const (defined in ihipCtx_t)ihipCtx_tinline
getWriteableDevice() const (defined in ihipCtx_t)ihipCtx_tinline
ihipCtx_t(ihipDevice_t *device, unsigned deviceCnt, unsigned flags) (defined in ihipCtx_t)ihipCtx_t
locked_addStream(ihipStream_t *s) (defined in ihipCtx_t)ihipCtx_t
locked_removeStream(ihipStream_t *s) (defined in ihipCtx_t)ihipCtx_t
locked_reset() (defined in ihipCtx_t)ihipCtx_t
locked_syncDefaultStream(bool waitOnSelf) (defined in ihipCtx_t)ihipCtx_t
locked_waitAllStreams() (defined in ihipCtx_t)ihipCtx_t
toString() const (defined in ihipCtx_t)ihipCtx_t
~ihipCtx_t() (defined in ihipCtx_t)ihipCtx_t
+ + + + diff --git a/docs/RuntimeAPI/html/classihipCtx__t.html b/docs/RuntimeAPI/html/classihipCtx__t.html new file mode 100644 index 0000000000..032f5e5180 --- /dev/null +++ b/docs/RuntimeAPI/html/classihipCtx__t.html @@ -0,0 +1,149 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipCtx_t Class Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipCtx_t Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ihipCtx_t (ihipDevice_t *device, unsigned deviceCnt, unsigned flags)
 
+void locked_addStream (ihipStream_t *s)
 
+void locked_removeStream (ihipStream_t *s)
 
+void locked_reset ()
 
+void locked_waitAllStreams ()
 
+void locked_syncDefaultStream (bool waitOnSelf)
 
+ihipCtxCritical_tcriticalData ()
 
+const ihipDevice_tgetDevice () const
 
+ihipDevice_tgetWriteableDevice () const
 
+std::string toString () const
 
+ + + + + +

+Public Attributes

+ihipStream_t_defaultStream
 
+unsigned _ctxFlags
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/docs/RuntimeAPI/html/classihipDevice__t-members.html b/docs/RuntimeAPI/html/classihipDevice__t-members.html index 6d85d039e9..57e847005b 100644 --- a/docs/RuntimeAPI/html/classihipDevice__t-members.html +++ b/docs/RuntimeAPI/html/classihipDevice__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
+ All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -91,26 +91,19 @@

This is the complete list of members for ihipDevice_t, including all inherited members.

- - - - - + + + + + - - - - - - - - - - + + +
_acc (defined in ihipDevice_t)ihipDevice_t
_compute_units (defined in ihipDevice_t)ihipDevice_t
_default_stream (defined in ihipDevice_t)ihipDevice_t
_device_flags (defined in ihipDevice_t)ihipDevice_t
_device_index (defined in ihipDevice_t)ihipDevice_t
_hsa_agent (defined in ihipDevice_t)ihipDevice_t
_computeUnitsihipDevice_t
_deviceId (defined in ihipDevice_t)ihipDevice_t
_hsaAgent (defined in ihipDevice_t)ihipDevice_t
_isLargeBar (defined in ihipDevice_t)ihipDevice_t
_primaryCtx (defined in ihipDevice_t)ihipDevice_t
_props (defined in ihipDevice_t)ihipDevice_t
_staging_buffer (defined in ihipDevice_t)ihipDevice_t
criticalData() (defined in ihipDevice_t)ihipDevice_tinline
ihipDevice_t() (defined in ihipDevice_t)ihipDevice_tinline
init(unsigned device_index, unsigned deviceCnt, hc::accelerator &acc, unsigned flags) (defined in ihipDevice_t)ihipDevice_t
locked_addStream(ihipStream_t *s) (defined in ihipDevice_t)ihipDevice_t
locked_removeStream(ihipStream_t *s) (defined in ihipDevice_t)ihipDevice_t
locked_reset() (defined in ihipDevice_t)ihipDevice_t
locked_syncDefaultStream(bool waitOnSelf) (defined in ihipDevice_t)ihipDevice_t
locked_waitAllStreams() (defined in ihipDevice_t)ihipDevice_t
~ihipDevice_t() (defined in ihipDevice_t)ihipDevice_t
getPrimaryCtx() const (defined in ihipDevice_t)ihipDevice_tinline
ihipDevice_t(unsigned deviceId, unsigned deviceCnt, hc::accelerator &acc) (defined in ihipDevice_t)ihipDevice_t
~ihipDevice_t() (defined in ihipDevice_t)ihipDevice_t
diff --git a/docs/RuntimeAPI/html/classihipDevice__t.html b/docs/RuntimeAPI/html/classihipDevice__t.html index 1eeeeedc18..92e3a2d0d0 100644 --- a/docs/RuntimeAPI/html/classihipDevice__t.html +++ b/docs/RuntimeAPI/html/classihipDevice__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -94,63 +94,46 @@ - - - - - - - - - - - - - - + + + +

Public Member Functions

-void init (unsigned device_index, unsigned deviceCnt, hc::accelerator &acc, unsigned flags)
 
-void locked_addStream (ihipStream_t *s)
 
-void locked_removeStream (ihipStream_t *s)
 
-void locked_reset ()
 
-void locked_waitAllStreams ()
 
-void locked_syncDefaultStream (bool waitOnSelf)
 
-ihipDeviceCritical_tcriticalData ()
 
ihipDevice_t (unsigned deviceId, unsigned deviceCnt, hc::accelerator &acc)
 
+ihipCtx_tgetPrimaryCtx () const
 
- - - - + + - - - - - - - - - - + + + + + + + + + + +

Public Attributes

-unsigned _device_index
 
-hipDeviceProp_t _props
 
+unsigned _deviceId
 
hc::accelerator _acc
 
-hsa_agent_t _hsa_agent
 
-ihipStream_t_default_stream
 
-unsigned _compute_units
 
-StagingBuffer_staging_buffer [2]
 
-unsigned _device_flags
 
+hsa_agent_t _hsaAgent
 
+unsigned _computeUnits
 Number of compute units supported by the device:
 
+hipDeviceProp_t _props
 
+int _isLargeBar
 
+ihipCtx_t_primaryCtx
 

The documentation for this class was generated from the following files:
diff --git a/docs/RuntimeAPI/html/classihipException-members.html b/docs/RuntimeAPI/html/classihipException-members.html index f2e9d4336e..44e8b72c17 100644 --- a/docs/RuntimeAPI/html/classihipException-members.html +++ b/docs/RuntimeAPI/html/classihipException-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -95,7 +95,7 @@
diff --git a/docs/RuntimeAPI/html/classihipException.html b/docs/RuntimeAPI/html/classihipException.html index ee10998dc9..f400db6706 100644 --- a/docs/RuntimeAPI/html/classihipException.html +++ b/docs/RuntimeAPI/html/classihipException.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -113,12 +113,12 @@  
The documentation for this class was generated from the following file:
diff --git a/docs/RuntimeAPI/html/classihipFunction__t-members.html b/docs/RuntimeAPI/html/classihipFunction__t-members.html new file mode 100644 index 0000000000..4f3b68e5c7 --- /dev/null +++ b/docs/RuntimeAPI/html/classihipFunction__t-members.html @@ -0,0 +1,106 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipFunction_t Member List
+
+
+ +

This is the complete list of members for ihipFunction_t, including all inherited members.

+ + + + + + +
_kernel (defined in ihipFunction_t)ihipFunction_t
_kernelName (defined in ihipFunction_t)ihipFunction_t
_kernelSymbol (defined in ihipFunction_t)ihipFunction_t
ihipFunction_t(const char *name) (defined in ihipFunction_t)ihipFunction_tinline
~ihipFunction_t() (defined in ihipFunction_t)ihipFunction_tinline
+ + + + diff --git a/docs/RuntimeAPI/html/classihipFunction__t.html b/docs/RuntimeAPI/html/classihipFunction__t.html new file mode 100644 index 0000000000..252856b539 --- /dev/null +++ b/docs/RuntimeAPI/html/classihipFunction__t.html @@ -0,0 +1,124 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipFunction_t Class Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipFunction_t Class Reference
+
+
+ + + + +

+Public Member Functions

ihipFunction_t (const char *name)
 
+ + + + + + + +

+Public Attributes

+const char * _kernelName
 
+hsa_executable_symbol_t _kernelSymbol
 
+uint64_t _kernel
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/classihipModule__t-members.html b/docs/RuntimeAPI/html/classihipModule__t-members.html new file mode 100644 index 0000000000..1540b4ec8b --- /dev/null +++ b/docs/RuntimeAPI/html/classihipModule__t-members.html @@ -0,0 +1,106 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipModule_t Member List
+
+
+ +

This is the complete list of members for ihipModule_t, including all inherited members.

+ + + + + + +
executable (defined in ihipModule_t)ihipModule_t
fileName (defined in ihipModule_t)ihipModule_t
object (defined in ihipModule_t)ihipModule_t
ptr (defined in ihipModule_t)ihipModule_t
size (defined in ihipModule_t)ihipModule_t
+ + + + diff --git a/docs/RuntimeAPI/html/classihipModule__t.html b/docs/RuntimeAPI/html/classihipModule__t.html new file mode 100644 index 0000000000..24d739b6dd --- /dev/null +++ b/docs/RuntimeAPI/html/classihipModule__t.html @@ -0,0 +1,123 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipModule_t Class Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipModule_t Class Reference
+
+
+ + + + + + + + + + + + +

+Public Attributes

+hsa_executable_t executable
 
+hsa_code_object_t object
 
+std::string fileName
 
+void * ptr
 
+size_t size
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/classihipStreamCriticalBase__t-members.html b/docs/RuntimeAPI/html/classihipStreamCriticalBase__t-members.html index 165b6cc9b9..d65da4ac58 100644 --- a/docs/RuntimeAPI/html/classihipStreamCriticalBase__t-members.html +++ b/docs/RuntimeAPI/html/classihipStreamCriticalBase__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -90,23 +90,18 @@

This is the complete list of members for ihipStreamCriticalBase_t< MUTEX_TYPE >, including all inherited members.

- - - - - - - - - - - - - + + + + + + + +
_last_command_type (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_last_copy_signal (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_last_kernel_future (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_mutex (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >
_oldest_live_sig_id (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_signalCursor (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_signalPool (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_stream_sig_id (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
ihipStreamCriticalBase_t() (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >inline
lock() (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >inline
mlock() (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >inline
unlock() (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >inline
~ihipStreamCriticalBase_t() (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >inline
_av (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_kernelCnt (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >
_mutex (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >
ihipStreamCriticalBase_t(hc::accelerator_view av) (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >inline
lock() (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >inline
mlock() (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >inline
unlock() (defined in LockedBase< MUTEX_TYPE >)LockedBase< MUTEX_TYPE >inline
~ihipStreamCriticalBase_t() (defined in ihipStreamCriticalBase_t< MUTEX_TYPE >)ihipStreamCriticalBase_t< MUTEX_TYPE >inline
diff --git a/docs/RuntimeAPI/html/classihipStreamCriticalBase__t.html b/docs/RuntimeAPI/html/classihipStreamCriticalBase__t.html index 432053d211..77f8a298b5 100644 --- a/docs/RuntimeAPI/html/classihipStreamCriticalBase__t.html +++ b/docs/RuntimeAPI/html/classihipStreamCriticalBase__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -103,6 +103,9 @@ + + @@ -117,39 +120,24 @@

Public Member Functions

ihipStreamCriticalBase_t (hc::accelerator_view av)
 
ihipStreamCriticalBase_t
< StreamMutex > * 
mlock ()
- - - - - - - - - - - - - - + + + +

Public Attributes

-ihipCommand_t _last_command_type
 
-ihipSignal_t_last_copy_signal
 
-hc::completion_future _last_kernel_future
 
-int _signalCursor
 
-SIGSEQNUM _oldest_live_sig_id
 
-std::deque< ihipSignal_t_signalPool
 
-SIGSEQNUM _stream_sig_id
 
+uint32_t _kernelCnt
 
+hc::accelerator_view _av
 
- Public Attributes inherited from LockedBase< MUTEX_TYPE >
MUTEX_TYPE _mutex
 

The documentation for this class was generated from the following file:
diff --git a/docs/RuntimeAPI/html/classihipStream__t-members.html b/docs/RuntimeAPI/html/classihipStream__t-members.html index 9afbbffc38..e8570bba55 100644 --- a/docs/RuntimeAPI/html/classihipStream__t-members.html +++ b/docs/RuntimeAPI/html/classihipStream__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -90,30 +90,33 @@

This is the complete list of members for ihipStream_t, including all inherited members.

- - - - - - + + + + - - - - - - + + + + + + + + - - - - + + + + + + - + +
_av (defined in ihipStream_t)ihipStream_t
_flags (defined in ihipStream_t)ihipStream_t
_id (defined in ihipStream_t)ihipStream_t
allocSignal(LockedAccessor_StreamCrit_t &crit) (defined in ihipStream_t)ihipStream_t
copyAsync(void *dst, const void *src, size_t sizeBytes, unsigned kind) (defined in ihipStream_t)ihipStream_t
copySync(LockedAccessor_StreamCrit_t &crit, void *dst, const void *src, size_t sizeBytes, unsigned kind) (defined in ihipStream_t)ihipStream_t
_flags (defined in ihipStream_t)ihipStream_t
_id (defined in ihipStream_t)ihipStream_t
Auto enum value (defined in ihipStream_t)ihipStream_t
getCtx() const (defined in ihipStream_t)ihipStream_t
getDevice() const (defined in ihipStream_t)ihipStream_t
ihipStream_t(unsigned device_index, hc::accelerator_view av, unsigned int flags) (defined in ihipStream_t)ihipStream_t
lastCopySeqId(LockedAccessor_StreamCrit_t &crit) (defined in ihipStream_t)ihipStream_tinline
lockclose_postKernelCommand(hc::completion_future &kernel_future) (defined in ihipStream_t)ihipStream_t
locked_copySync(void *dst, const void *src, size_t sizeBytes, unsigned kind) (defined in ihipStream_t)ihipStream_t
locked_lastCopySeqId() (defined in ihipStream_t)ihipStream_tinline
locked_reclaimSignals(SIGSEQNUM sigNum) (defined in ihipStream_t)ihipStream_t
hipStreamQuery(hipStream_t)ihipStream_tfriend
ihipStream_t(ihipCtx_t *ctx, hc::accelerator_view av, unsigned int flags) (defined in ihipStream_t)ihipStream_t
launchModuleKernel(hc::accelerator_view av, hsa_signal_t signal, uint32_t blockDimX, uint32_t blockDimY, uint32_t blockDimZ, uint32_t gridDimX, uint32_t gridDimY, uint32_t gridDimZ, uint32_t groupSegmentSize, uint32_t sharedMemBytes, void *kernarg, size_t kernSize, uint64_t kernel) (defined in ihipStream_t)ihipStream_t
lockclose_postKernelCommand(hc::accelerator_view *av) (defined in ihipStream_t)ihipStream_t
locked_copyAsync(void *dst, const void *src, size_t sizeBytes, unsigned kind) (defined in ihipStream_t)ihipStream_t
locked_copySync(void *dst, const void *src, size_t sizeBytes, unsigned kind, bool resolveOn=true) (defined in ihipStream_t)ihipStream_t
locked_getAv() (defined in ihipStream_t)ihipStream_tinline
locked_recordEvent(hipEvent_t event) (defined in ihipStream_t)ihipStream_t
locked_wait(bool assertQueueEmpty=false) (defined in ihipStream_t)ihipStream_t
lockopen_preKernelCommand() (defined in ihipStream_t)ihipStream_t
operator<< (defined in ihipStream_t)ihipStream_tfriend
preCopyCommand(LockedAccessor_StreamCrit_t &crit, ihipSignal_t *lastCopy, hsa_signal_t *waitSignal, ihipCommand_t copyType) (defined in ihipStream_t)ihipStream_t
SeqNum_t typedef (defined in ihipStream_t)ihipStream_t
locked_waitEvent(hipEvent_t event) (defined in ihipStream_t)ihipStream_t
lockopen_preKernelCommand() (defined in ihipStream_t)ihipStream_t
operator<< (defined in ihipStream_t)ihipStream_tfriend
ScheduleMode enum name (defined in ihipStream_t)ihipStream_t
SeqNum_t typedef (defined in ihipStream_t)ihipStream_t
Spin enum value (defined in ihipStream_t)ihipStream_t
wait(LockedAccessor_StreamCrit_t &crit, bool assertQueueEmpty=false) (defined in ihipStream_t)ihipStream_t
~ihipStream_t() (defined in ihipStream_t)ihipStream_t
Yield enum value (defined in ihipStream_t)ihipStream_t
~ihipStream_t() (defined in ihipStream_t)ihipStream_t
diff --git a/docs/RuntimeAPI/html/classihipStream__t.html b/docs/RuntimeAPI/html/classihipStream__t.html index 9762228015..df95bc7d2e 100644 --- a/docs/RuntimeAPI/html/classihipStream__t.html +++ b/docs/RuntimeAPI/html/classihipStream__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -96,63 +96,62 @@ + +

Public Types

enum  ScheduleMode { Auto, +Spin, +Yield + }
 
typedef uint64_t SeqNum_t
 
- - - - - - - - - - - - - - - - + + + + + + + + + + - - + + + + + + - - - - - - + + + + + +

Public Member Functions

ihipStream_t (unsigned device_index, hc::accelerator_view av, unsigned int flags)
 
-void copySync (LockedAccessor_StreamCrit_t &crit, void *dst, const void *src, size_t sizeBytes, unsigned kind)
 
-void locked_copySync (void *dst, const void *src, size_t sizeBytes, unsigned kind)
 
-void copyAsync (void *dst, const void *src, size_t sizeBytes, unsigned kind)
 
-bool lockopen_preKernelCommand ()
 
-void lockclose_postKernelCommand (hc::completion_future &kernel_future)
 
-int preCopyCommand (LockedAccessor_StreamCrit_t &crit, ihipSignal_t *lastCopy, hsa_signal_t *waitSignal, ihipCommand_t copyType)
 
-void locked_reclaimSignals (SIGSEQNUM sigNum)
 
ihipStream_t (ihipCtx_t *ctx, hc::accelerator_view av, unsigned int flags)
 
+void locked_copySync (void *dst, const void *src, size_t sizeBytes, unsigned kind, bool resolveOn=true)
 
+void locked_copyAsync (void *dst, const void *src, size_t sizeBytes, unsigned kind)
 
+LockedAccessor_StreamCrit_t lockopen_preKernelCommand ()
 
+void lockclose_postKernelCommand (hc::accelerator_view *av)
 
void locked_wait (bool assertQueueEmpty=false)
 
-SIGSEQNUM locked_lastCopySeqId ()
 
+hc::accelerator_view * locked_getAv ()
 
+void locked_waitEvent (hipEvent_t event)
 
+void locked_recordEvent (hipEvent_t event)
 
void wait (LockedAccessor_StreamCrit_t &crit, bool assertQueueEmpty=false)
 
-SIGSEQNUM lastCopySeqId (LockedAccessor_StreamCrit_t &crit)
 
-ihipSignal_tallocSignal (LockedAccessor_StreamCrit_t &crit)
 
-ihipDevice_tgetDevice () const
 
+void launchModuleKernel (hc::accelerator_view av, hsa_signal_t signal, uint32_t blockDimX, uint32_t blockDimY, uint32_t blockDimZ, uint32_t gridDimX, uint32_t gridDimY, uint32_t gridDimZ, uint32_t groupSegmentSize, uint32_t sharedMemBytes, void *kernarg, size_t kernSize, uint64_t kernel)
 
+const ihipDevice_tgetDevice () const
 
+ihipCtx_tgetCtx () const
 
- - @@ -162,15 +161,54 @@ + + +

Public Attributes

SeqNum_t _id
 
-hc::accelerator_view _av
 
unsigned _flags
 
std::ostream & operator<< (std::ostream &os, const ihipStream_t &s)
 
hipError_t hipStreamQuery (hipStream_t)
 Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not. More...
 
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
hipError_t hipStreamQuery (hipStream_t stream)
+
+friend
+
+ +

Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not.

+
Parameters
+ + +
[in]streamstream to query
+
+
+
Returns
hipSuccess, hipErrorNotReady, hipErrorInvalidResourceHandle
+

This is thread-safe and returns a snapshot of the current state of the queue. However, if other host threads are sending work to the stream, the status may change immediately after the function is called. It is typically used for debug.

+
See Also
hipStreamCreate, hipStreamCreateWithFlags, hipStreamWaitEvent, hipStreamSynchronize, hipStreamDestroy
+ +
+

The documentation for this class was generated from the following files:
diff --git a/docs/RuntimeAPI/html/deprecated.html b/docs/RuntimeAPI/html/deprecated.html new file mode 100644 index 0000000000..b773bd4153 --- /dev/null +++ b/docs/RuntimeAPI/html/deprecated.html @@ -0,0 +1,98 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Deprecated List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ +
+
+
+
Deprecated List
+
+
+
+
Member hipFreeHost (void *ptr) __attribute__((deprecated("use hipHostFree instead")))
+
use hipHostFree() instead
+
Member hipHostAlloc (void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead")))
+
use hipHostMalloc() instead
+
Member hipMallocHost (void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead")))
+
use hipHostMalloc() instead
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 85d6c93bd6..ecfdd27cc7 100644 --- a/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/src Directory Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/src Directory Reference @@ -64,7 +64,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -88,6 +88,8 @@ Files file  device_util.cpp   +file  hip_context.cpp +  file  hip_device.cpp   file  hip_error.cpp @@ -98,21 +100,27 @@   file  hip_hcc.cpp   +file  hip_hcc.h [code] +  file  hip_ldg.cpp   file  hip_memory.cpp   +file  hip_module.cpp +  file  hip_peer.cpp   file  hip_stream.cpp   -file  staging_buffer.cpp +file  hip_util.h [code] +  +file  trace_helper.h [code]  
diff --git a/docs/RuntimeAPI/html/dir_82c4e5e99cd964a390bd8b007f79d8a6.html b/docs/RuntimeAPI/html/dir_82c4e5e99cd964a390bd8b007f79d8a6.html new file mode 100644 index 0000000000..91aa0ac545 --- /dev/null +++ b/docs/RuntimeAPI/html/dir_82c4e5e99cd964a390bd8b007f79d8a6.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
hip Directory Reference
+
+
+ + + + +

+Directories

directory  hcc_detail
 
+ + + + + + + + + + + + + + + +

+Files

file  hcc.h [code]
 
file  hip_common.h [code]
 
file  hip_complex.h [code]
 
file  hip_fp16.h [code]
 
file  hip_runtime.h [code]
 
file  hip_runtime_api.h [code]
 
file  hip_vector_types.h [code]
 
+
+ + + + diff --git a/docs/RuntimeAPI/html/dir_ce4f9d092cd8b82b7c46cef8ba457558.html b/docs/RuntimeAPI/html/dir_ce4f9d092cd8b82b7c46cef8ba457558.html new file mode 100644 index 0000000000..4fe0e64fea --- /dev/null +++ b/docs/RuntimeAPI/html/dir_ce4f9d092cd8b82b7c46cef8ba457558.html @@ -0,0 +1,121 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
hcc_detail Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  hcc_acc.h [code]
 
file  hip_complex.h [code]
 
file  hip_fp16.h [code]
 
file  hip_ldg.h [code]
 
file  hip_runtime.h [code]
 Contains definitions of APIs for HIP runtime.
 
file  hip_runtime_api.h [code]
 Contains C function APIs for HIP runtime. This file does not use any HCC builtin or special language extensions (-hc mode) ; those functions in hip_runtime.h.
 
file  hip_texture.h [code]
 HIP C++ Texture API for hcc compiler.
 
file  hip_vector_types.h [code]
 Defines the different newt vector types for HIP runtime.
 
file  host_defines.h [code]
 TODO-doc.
 
+
+ + + + diff --git a/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html index ccea3dd809..ca18b54706 100644 --- a/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include Directory Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include Directory Reference @@ -64,7 +64,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -86,28 +86,13 @@ - - -

Directories

directory  hcc_detail
 
- - - - - - - - - - - - +

-Files

file  hcc.h [code]
 
file  hip_common.h [code]
 
file  hip_fp16.h [code]
 
file  hip_runtime.h [code]
 
file  hip_runtime_api.h [code]
 
file  hip_vector_types.h [code]
directory  hip
 
diff --git a/docs/RuntimeAPI/html/files.html b/docs/RuntimeAPI/html/files.html index 2a9f378391..0344d85581 100644 --- a/docs/RuntimeAPI/html/files.html +++ b/docs/RuntimeAPI/html/files.html @@ -71,7 +71,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -86,35 +86,37 @@
Here is a list of all documented files with brief descriptions:
-
[detail level 123]
+
[detail level 1234]
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + +
o-include
|o-hcc_detail
||o*hcc_acc.h
||o*hip_fp16.h
||o*hip_hcc.h
||o*hip_ldg.h
||o*hip_runtime.hContains definitions of APIs for HIP runtime
||o*hip_runtime_api.hContains C function APIs for HIP runtime. This file does not use any HCC builtin or special language extensions (-hc mode) ; those functions in hip_runtime.h
||o*hip_texture.hHIP C++ Texture API for hcc compiler
||o*hip_util.h
||o*hip_vector_types.hDefines the different newt vector types for HIP runtime
||o*host_defines.hTODO-doc
||o*staging_buffer.h
||\*trace_helper.h
|o*hcc.h
|o*hip_common.h
|o*hip_fp16.h
|o*hip_runtime.h
|o*hip_runtime_api.h
|\*hip_vector_types.h
\-src
 \*hip_hcc.cpp
|\-hip
| o-hcc_detail
| |o*hcc_acc.h
| |o*hip_complex.h
| |o*hip_fp16.h
| |o*hip_ldg.h
| |o*hip_runtime.hContains definitions of APIs for HIP runtime
| |o*hip_runtime_api.hContains C function APIs for HIP runtime. This file does not use any HCC builtin or special language extensions (-hc mode) ; those functions in hip_runtime.h
| |o*hip_texture.hHIP C++ Texture API for hcc compiler
| |o*hip_vector_types.hDefines the different newt vector types for HIP runtime
| |\*host_defines.hTODO-doc
| o*hcc.h
| o*hip_common.h
| o*hip_complex.h
| o*hip_fp16.h
| o*hip_runtime.h
| o*hip_runtime_api.h
| \*hip_vector_types.h
\-src
 o*hip_hcc.cpp
 o*hip_hcc.h
 o*hip_util.h
 \*trace_helper.h
diff --git a/docs/RuntimeAPI/html/functions.html b/docs/RuntimeAPI/html/functions.html index e85e1a4933..95d0a5f50a 100644 --- a/docs/RuntimeAPI/html/functions.html +++ b/docs/RuntimeAPI/html/functions.html @@ -71,10 +71,12 @@ + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -110,6 +112,13 @@
Here is a list of all documented class members with links to the class documentation for each member:
+

- _ -

+ +

- a -

diff --git a/docs/RuntimeAPI/html/functions_rela.html b/docs/RuntimeAPI/html/functions_rela.html new file mode 100644 index 0000000000..971450654e --- /dev/null +++ b/docs/RuntimeAPI/html/functions_rela.html @@ -0,0 +1,106 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Class Members - Related Functions + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/docs/RuntimeAPI/html/functions_vars.html b/docs/RuntimeAPI/html/functions_vars.html index 372bad6799..aec2ae5cc2 100644 --- a/docs/RuntimeAPI/html/functions_vars.html +++ b/docs/RuntimeAPI/html/functions_vars.html @@ -71,10 +71,12 @@
+ All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -110,6 +112,13 @@
  +

- _ -

+ +

- a -

diff --git a/docs/RuntimeAPI/html/globals.html b/docs/RuntimeAPI/html/globals.html index 292d1572e8..d8eb195f39 100644 --- a/docs/RuntimeAPI/html/globals.html +++ b/docs/RuntimeAPI/html/globals.html @@ -88,7 +88,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
+ All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -104,6 +104,15 @@

- _ -

@@ -118,27 +127,105 @@

- h -

diff --git a/docs/RuntimeAPI/html/globals_defs.html b/docs/RuntimeAPI/html/globals_defs.html index 1257d25eb6..acc74ed8ff 100644 --- a/docs/RuntimeAPI/html/globals_defs.html +++ b/docs/RuntimeAPI/html/globals_defs.html @@ -81,7 +81,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
@@ -98,6 +98,15 @@
  • HIP_DYNAMIC_SHARED : hip_runtime.h
  • +
  • hipDeviceScheduleAuto +: hip_runtime_api.h +
  • +
  • hipDeviceScheduleSpin +: hip_runtime_api.h +
  • +
  • hipDeviceScheduleYield +: hip_runtime_api.h +
  • hipEventBlockingSync : hip_runtime_api.h
  • @@ -131,14 +140,11 @@
  • hipStreamNonBlocking : hip_runtime_api.h
  • -
  • hipThreadIdx_x -: hip_runtime.h -
  • diff --git a/docs/RuntimeAPI/html/globals_enum.html b/docs/RuntimeAPI/html/globals_enum.html index 07c1e921bc..8723fcdf4d 100644 --- a/docs/RuntimeAPI/html/globals_enum.html +++ b/docs/RuntimeAPI/html/globals_enum.html @@ -81,7 +81,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -111,7 +111,7 @@
    diff --git a/docs/RuntimeAPI/html/globals_eval.html b/docs/RuntimeAPI/html/globals_eval.html index 90a39a8a62..1b6cb06be7 100644 --- a/docs/RuntimeAPI/html/globals_eval.html +++ b/docs/RuntimeAPI/html/globals_eval.html @@ -81,7 +81,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -138,7 +138,7 @@
    diff --git a/docs/RuntimeAPI/html/globals_func.html b/docs/RuntimeAPI/html/globals_func.html index 18ae55603c..338b55465a 100644 --- a/docs/RuntimeAPI/html/globals_func.html +++ b/docs/RuntimeAPI/html/globals_func.html @@ -77,6 +77,7 @@ @@ -86,7 +87,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -98,22 +99,104 @@
      +

    - _ -

    + +

    - h -

    diff --git a/docs/RuntimeAPI/html/globals_type.html b/docs/RuntimeAPI/html/globals_type.html index 8967cc6095..664f478a81 100644 --- a/docs/RuntimeAPI/html/globals_type.html +++ b/docs/RuntimeAPI/html/globals_type.html @@ -81,7 +81,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -104,11 +104,14 @@
  • hipSharedMemConfig : hip_runtime_api.h
  • +
  • hipStreamCallback_t +: hip_runtime_api.h +
  • diff --git a/docs/RuntimeAPI/html/group__API.html b/docs/RuntimeAPI/html/group__API.html index 64c246f04b..e00c7ef1c5 100644 --- a/docs/RuntimeAPI/html/group__API.html +++ b/docs/RuntimeAPI/html/group__API.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -96,7 +96,7 @@    Device Memory Access   - ManagementInitialization and Version    Control   @@ -110,7 +110,7 @@
    diff --git a/docs/RuntimeAPI/html/group__Context.html b/docs/RuntimeAPI/html/group__Context.html new file mode 100644 index 0000000000..9f02031732 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Context.html @@ -0,0 +1,607 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Management + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + +
    + +
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    + + +
    + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    hipError_t hipCtxCreate (hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
     Create a context and set it as current/ default context. More...
     
    hipError_t hipCtxDestroy (hipCtx_t ctx)
     Destroy a HIP context. More...
     
    hipError_t hipCtxPopCurrent (hipCtx_t *ctx)
     Pop the current/default context and return the popped context. More...
     
    hipError_t hipCtxPushCurrent (hipCtx_t ctx)
     Push the context to be set as current/ default context. More...
     
    hipError_t hipCtxSetCurrent (hipCtx_t ctx)
     Set the passed context as current/default. More...
     
    hipError_t hipCtxGetCurrent (hipCtx_t *ctx)
     Get the handle of the current/ default context. More...
     
    hipError_t hipCtxGetDevice (hipDevice_t *device)
     Get the handle of the device associated with current/default context. More...
     
    hipError_t hipCtxGetApiVersion (hipCtx_t ctx, int *apiVersion)
     Returns the approximate HIP api version. More...
     
    hipError_t hipCtxGetCacheConfig (hipFuncCache *cacheConfig)
     Set Cache configuration for a specific function. More...
     
    hipError_t hipCtxSetCacheConfig (hipFuncCache cacheConfig)
     Set L1/Shared cache partition. More...
     
    hipError_t hipCtxSetSharedMemConfig (hipSharedMemConfig config)
     Set Shared memory bank configuration. More...
     
    hipError_t hipCtxGetSharedMemConfig (hipSharedMemConfig *pConfig)
     Get Shared memory bank configuration. More...
     
    hipError_t hipCtxSynchronize (void)
     Blocks until the default context has completed all preceding requested tasks. More...
     
    hipError_t hipCtxGetFlags (unsigned int *flags)
     Return flags used for creating default context. More...
     
    hipError_t hipCtxEnablePeerAccess (hipCtx_t peerCtx, unsigned int flags)
     Enables direct access to memory allocations in a peer context. More...
     
    hipError_t hipCtxDisablePeerAccess (hipCtx_t peerCtx)
     Disable direct access from current context's virtual address space to memory allocations physically located on a peer context.Disables direct access to memory allocations in a peer context and unregisters any registered allocations. More...
     
    +

    Detailed Description

    +

    ----------------------------------------------------------------------------------------------—

    +

    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipCtxCreate (hipCtx_tctx,
    unsigned int flags,
    hipDevice_t device 
    )
    +
    + +

    Create a context and set it as current/ default context.

    +
    Parameters
    + + + + +
    [out]ctx
    [in]flags
    [in]associateddevice handle
    +
    +
    +
    Returns
    hipSuccess
    +
    See Also
    hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxDestroy (hipCtx_t ctx)
    +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxDisablePeerAccess (hipCtx_t peerCtx)
    +
    + +

    Disable direct access from current context's virtual address space to memory allocations physically located on a peer context.Disables direct access to memory allocations in a peer context and unregisters any registered allocations.

    +

    Returns hipErrorPeerAccessNotEnabled if direct access to memory on peerDevice has not yet been enabled from the current device.

    +
    Parameters
    + + +
    [in]peerCtx
    +
    +
    +
    Returns
    hipSuccess, hipErrorPeerAccessNotEnabled
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    +
    Warning
    PeerToPeer support is experimental.
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipCtxEnablePeerAccess (hipCtx_t peerCtx,
    unsigned int flags 
    )
    +
    + +

    Enables direct access to memory allocations in a peer context.

    +

    Memory which already allocated on peer device will be mapped into the address space of the current device. In addition, all future memory allocations on peerDeviceId will be mapped into the address space of the current device when the memory is allocated. The peer memory remains accessible from the current device until a call to hipDeviceDisablePeerAccess or hipDeviceReset.

    +
    Parameters
    + + + +
    [in]peerCtx
    [in]flags
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidDevice, hipErrorInvalidValue, hipErrorPeerAccessAlreadyEnabled
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    +
    Warning
    PeerToPeer support is experimental.
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipCtxGetApiVersion (hipCtx_t ctx,
    int * apiVersion 
    )
    +
    + +

    Returns the approximate HIP api version.

    +
    Parameters
    + + + +
    [in]ctxContext to check
    [out]apiVersion
    +
    +
    +
    Returns
    hipSuccess
    +
    Warning
    The HIP feature set does not correspond to an exact CUDA SDK api revision. This function always set *apiVersion to 4 as an approximation though HIP supports some features which were introduced in later CUDA SDK revisions. HIP apps code should not rely on the api revision number here and should use arch feature flags to test device capabilities or conditional compilation.
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetDevice, hipCtxGetFlags, hipCtxPopCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxGetCacheConfig (hipFuncCachecacheConfig)
    +
    + +

    Set Cache configuration for a specific function.

    +
    Parameters
    + + +
    [out]cacheConfiguration
    +
    +
    +
    Returns
    hipSuccess
    +
    Warning
    AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxGetCurrent (hipCtx_tctx)
    +
    + +

    Get the handle of the current/ default context.

    +
    Parameters
    + + +
    [out]ctx
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidContext
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetDevice, hipCtxGetFlags, hipCtxPopCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxGetDevice (hipDevice_tdevice)
    +
    + +

    Get the handle of the device associated with current/default context.

    +
    Parameters
    + + +
    [out]device
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidContext
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxGetFlags (unsigned int * flags)
    +
    + +

    Return flags used for creating default context.

    +
    Parameters
    + + +
    [out]flags
    +
    +
    +
    Returns
    hipSuccess
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxGetSharedMemConfig (hipSharedMemConfigpConfig)
    +
    + +

    Get Shared memory bank configuration.

    +
    Parameters
    + + +
    [out]sharedMemoryConfiguration
    +
    +
    +
    Returns
    hipSuccess
    +
    Warning
    AMD devices and recent Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxPopCurrent (hipCtx_tctx)
    +
    + +

    Pop the current/default context and return the popped context.

    +
    Parameters
    + + +
    [out]ctx
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidContext
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxSetCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxPushCurrent (hipCtx_t ctx)
    +
    + +

    Push the context to be set as current/ default context.

    +
    Parameters
    + + +
    [in]ctx
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidContext
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxSetCacheConfig (hipFuncCache cacheConfig)
    +
    + +

    Set L1/Shared cache partition.

    +
    Parameters
    + + +
    [in]cacheConfiguration
    +
    +
    +
    Returns
    hipSuccess
    +
    Warning
    AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxSetCurrent (hipCtx_t ctx)
    +
    + +

    Set the passed context as current/default.

    +
    Parameters
    + + +
    [in]ctx
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidContext
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxSetSharedMemConfig (hipSharedMemConfig config)
    +
    + +

    Set Shared memory bank configuration.

    +
    Parameters
    + + +
    [in]sharedMemoryConfiguration
    +
    +
    +
    Returns
    hipSuccess
    +
    Warning
    AMD devices and recent Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipCtxSynchronize (void )
    +
    + +

    Blocks until the default context has completed all preceding requested tasks.

    +
    Returns
    hipSuccess
    +
    Warning
    This function waits for all streams on the default context to complete execution, and then returns.
    +
    See Also
    hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxGetDevice
    + +
    +
    +
    + + + + diff --git a/docs/RuntimeAPI/html/group__Device.html b/docs/RuntimeAPI/html/group__Device.html index d08fe7da65..02ef8b97e9 100644 --- a/docs/RuntimeAPI/html/group__Device.html +++ b/docs/RuntimeAPI/html/group__Device.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -85,49 +85,91 @@

    Functions

    hipError_t hipDeviceSynchronize (void) - Blocks until the default device has completed all preceding requested tasks. More...
    + Waits on all active streams on current device. More...
      hipError_t hipDeviceReset (void) - Destroy all resources and reset all state on the default device in the current process. More...
    + The state of current device is discarded and updated to a fresh state. More...
      -hipError_t hipSetDevice (int device) - Set default device to be used for subsequent hip API calls from this thread. More...
    -  -hipError_t hipGetDevice (int *device) - Return the default device id for the calling host thread. More...
    -  +hipError_t hipSetDevice (int deviceId) + Set default device to be used for subsequent hip API calls from this thread. More...
    +  +hipError_t hipGetDevice (int *deviceId) + Return the default device id for the calling host thread. More...
    hipError_t hipGetDeviceCount (int *count)  Return number of compute-capable devices. More...
      -hipError_t hipDeviceGetAttribute (int *pi, hipDeviceAttribute_t attr, int device) - Query device attribute. More...
    -  -hipError_t hipGetDeviceProperties (hipDeviceProp_t *prop, int device) - Returns device properties. More...
    -  +hipError_t hipDeviceGetAttribute (int *pi, hipDeviceAttribute_t attr, int deviceId) + Query for a specific device attribute. More...
    +  +hipError_t hipGetDeviceProperties (hipDeviceProp_t *prop, int deviceId) + Returns device properties. More...
    hipError_t hipDeviceSetCacheConfig (hipFuncCache cacheConfig)  Set L1/Shared cache partition. More...
      hipError_t hipDeviceGetCacheConfig (hipFuncCache *cacheConfig)  Set Cache configuration for a specific function. More...
      +hipError_t hipDeviceGetLimit (size_t *pValue, hipLimit_t limit) + Get Resource limits of current device. More...
    hipError_t hipFuncSetCacheConfig (hipFuncCache config)  Set Cache configuration for a specific function. More...
      hipError_t hipDeviceGetSharedMemConfig (hipSharedMemConfig *pConfig) - Get Shared memory bank configuration. More...
    + Returns bank width of shared memory for current device. More...
      hipError_t hipDeviceSetSharedMemConfig (hipSharedMemConfig config) - Set Shared memory bank configuration. More...
    + The bank width of shared memory on current device is set. More...
      hipError_t hipSetDeviceFlags (unsigned flags) - Set Device flags. More...
    + The current device behavior is changed according the flags passed. More...
      +hipError_t hipChooseDevice (int *device, hipDeviceProp_t *prop) + Device which matches hipDeviceProp_t is returned. More...

    Detailed Description

    ----------------------------------------------------------------------------------------------—

    Function Documentation

    - + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipChooseDevice (int * device,
    hipDeviceProp_tprop 
    )
    +
    + +

    Device which matches hipDeviceProp_t is returned.

    +
    Parameters
    + + + +
    [out]deviceID
    [in]deviceproperties pointer
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue
    + +
    +
    +
    @@ -147,7 +189,7 @@

    Function Documentation

    - + @@ -157,15 +199,16 @@

    Function Documentation

    int device deviceId 
    -

    Query device attribute.

    +

    Query for a specific device attribute.

    Parameters
    - +
    [out]pipointer to value to return
    [in]attrattribute to query
    [in]devicewhich device to query for information
    [in]deviceIdwhich device to query for information
    +
    Returns
    hipSuccess, hipErrorInvalidDevice, hipErrorInvalidValue
    @@ -184,8 +227,49 @@

    Function Documentation

    Set Cache configuration for a specific function.

    -

    Note: AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.

    -
    Returns
    hipSuccess
    +
    Parameters
    + + +
    [in]cacheConfig
    +
    +
    +
    Returns
    hipSuccess, hipErrorInitializationError Note: AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipDeviceGetLimit (size_t * pValue,
    hipLimit_t limit 
    )
    +
    + +

    Get Resource limits of current device.

    +
    Parameters
    + + + +
    [out]pValue
    [in]limit
    +
    +
    +
    Returns
    hipSuccess, #hipErrorUnsupportedLimit, hipErrorInvalidValue Note: Currently, only hipLimitMallocHeapSize is available
    @@ -203,9 +287,15 @@

    Function Documentation

    -

    Get Shared memory bank configuration.

    -

    Note: AMD devices and recent Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.

    -
    Returns
    hipSuccess
    +

    Returns bank width of shared memory for current device.

    +
    Parameters
    + + +
    [out]pConfig
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInitializationError
    +

    Note: AMD devices and recent Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.

    @@ -223,11 +313,10 @@

    Function Documentation

    -

    Destroy all resources and reset all state on the default device in the current process.

    -

    Explicity destroy all memory allocations, events, and queues associated with the default device in the current process.

    -

    This function will reset the device immmediately, and then return after all resources have been freed. The caller must ensure that the device is not being accessed by any other host threads from the active process when this function is called.

    -
    See Also
    hipDeviceSynchronize
    -
    Returns
    hipSuccess
    +

    The state of current device is discarded and updated to a fresh state.

    +

    Calling this function deletes all streams created, memory allocated, kernels running, events created. Make sure that no other thread is using the device or streams, memory, kernels, events associated with the current device.

    +
    Returns
    hipSuccess
    +
    See Also
    hipDeviceSynchronize
    @@ -246,8 +335,13 @@

    Function Documentation

    Set L1/Shared cache partition.

    -

    Note: AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.

    -
    Returns
    hipSuccess
    +
    Parameters
    + + +
    [in]cacheConfig
    +
    +
    +
    Returns
    hipSuccess, hipErrorInitializationError Note: AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
    @@ -265,9 +359,15 @@

    Function Documentation

    -

    Set Shared memory bank configuration.

    -

    Note: AMD devices and recent Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.

    -
    Returns
    hipSuccess
    +

    The bank width of shared memory on current device is set.

    +
    Parameters
    + + +
    [in]config
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInitializationError
    +

    Note: AMD devices and recent Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.

    @@ -285,10 +385,10 @@

    Function Documentation

    -

    Blocks until the default device has completed all preceding requested tasks.

    -

    This function waits for all streams on the default device to complete execution, and then returns.

    -
    See Also
    hipSetDevice, hipDeviceReset
    -
    Returns
    hipSuccess
    +

    Waits on all active streams on current device.

    +

    When this command is invoked, the host thread gets blocked until all the commands associated with streams associated with the device. HIP does not support multiple blocking modes (yet!).

    +
    Returns
    hipSuccess
    +
    See Also
    hipSetDevice, hipDeviceReset
    @@ -300,19 +400,24 @@

    Function Documentation

    hipError_t hipFuncSetCacheConfig ( hipFuncCache  - cacheConfig) + config)

    Set Cache configuration for a specific function.

    -

    Note: AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.

    -
    Returns
    hipSuccess
    +
    Parameters
    + + +
    [in]config;
    +
    +
    +
    Returns
    hipSuccess, hipErrorInitializationError Note: AMD devices and recent Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
    - +
    @@ -320,7 +425,7 @@

    Function Documentation

    - +
    hipError_t hipGetDevice ( int * device)deviceId)
    @@ -334,8 +439,8 @@

    Function Documentation

    HIP maintains an default device for each thread using thread-local-storage. This device is used implicitly for HIP runtime APIs called by this thread. hipGetDevice returns in * device the default device for the calling host thread.

    -
    See Also
    hipSetDevice, hipGetDevicesizeBytes
    -
    Returns
    hipSuccess
    +
    Returns
    hipSuccess
    +
    See Also
    hipSetDevice, hipGetDevicesizeBytes
    @@ -360,12 +465,12 @@

    Function Documentation

    -

    Returns in *count the number of devices that have ability to run compute commands. If there are no such devices, then hipGetDeviceCount will return hipErrorNoDevice. If 1 or more devices can be found, then hipGetDeviceCount returns hipSuccess.

    -
    Returns
    hipSuccess, hipErrorNoDevice
    +
    Returns
    hipSuccess, hipErrorNoDevice
    +

    Returns in *count the number of devices that have ability to run compute commands. If there are no such devices, then hipGetDeviceCount will return hipErrorNoDevice. If 1 or more devices can be found, then hipGetDeviceCount returns hipSuccess.

    - +
    @@ -373,13 +478,13 @@

    Function Documentation

    - + - + @@ -393,20 +498,20 @@

    Function Documentation

    Parameters
    hipError_t hipGetDeviceProperties ( hipDeviceProp_tprops, prop,
    int device deviceId 
    - +
    [out]propwritten with device properties
    [in]devicewhich device to query for information
    [in]deviceIdwhich device to query for information
    -

    Populates hipGetDeviceProperties with information for the specified device.

    Returns
    hipSuccess, hipErrorInvalidDevice
    Bug:

    HCC always returns 0 for maxThreadsPerMultiProcessor

    HCC always returns 0 for regsPerBlock

    -

    HCC always returns 0 for l2CacheSize

    +

    HCC always returns 0 for l2CacheSize

    +

    Populates hipGetDeviceProperties with information for the specified device.

    - +
    @@ -414,7 +519,7 @@

    Function Documentation

    - +
    hipError_t hipSetDevice ( int device)deviceId)
    @@ -423,7 +528,7 @@

    Function Documentation

    Set default device to be used for subsequent hip API calls from this thread.

    Parameters
    - +
    [in]deviceValid device in range 0...hipGetDeviceCount().
    [in]deviceIdValid device in range 0...hipGetDeviceCount().
    @@ -436,8 +541,8 @@

    Function Documentation

    This function may be called from any host thread. Multiple host threads may use the same device. This function does no synchronization with the previous or new device, and has very little runtime overhead. Applications can use hipSetDevice to quickly switch the default device before making a HIP runtime call which uses the default device.

    The default device is stored in thread-local-storage for each thread. Thread-pool implementations may inherit the default device of the previous thread. A good practice is to always call hipSetDevice at the start of HIP coding sequency to establish a known standard device.

    -
    See Also
    hipGetDevice, hipGetDeviceCount
    -
    Returns
    hipSuccess, hipErrorInvalidDevice
    +
    Returns
    hipSuccess, hipErrorInvalidDevice, #hipErrorDeviceAlreadyInUse
    +
    See Also
    hipGetDevice, hipGetDeviceCount
    @@ -455,15 +560,23 @@

    Function Documentation

    -

    Set Device flags.

    -

    Note: Only hipDeviceScheduleAuto and hipDeviceMapHost are supported

    +

    The current device behavior is changed according the flags passed.

    +
    Parameters
    + + +
    [in]flagsThe schedule flags impact how HIP waits for the completion of a command running on a device. hipDeviceScheduleSpin : HIP runtime will actively spin in the thread which submitted the work until the command completes. This offers the lowest latency, but will consume a CPU core and may increase power. hipDeviceScheduleYield : The HIP runtime will yield the CPU to system so that other tasks can use it. This may increase latency to detect the completion but will consume less power and is friendlier to other tasks in the system. hipDeviceScheduleBlockingSync : On ROCm platform, this is a synonym for hipDeviceScheduleYield. hipDeviceScheduleAuto : Use a hueristic to select between Spin and Yield modes. If the number of HIP contexts is greater than the number of logical processors in the system, use Spin scheduling. Else use Yield scheduling.
    +
    +
    +

    hipDeviceMapHost : Allow mapping host memory. On ROCM, this is always allowed and the flag is ignored. hipDeviceLmemResizeToMax :

    +
    Warning
    ROCm silently ignores this flag.
    +
    Returns
    hipSuccess, hipErrorInvalidDevice, #hipErrorSetOnActiveProcess
    diff --git a/docs/RuntimeAPI/html/group__Driver.html b/docs/RuntimeAPI/html/group__Driver.html new file mode 100644 index 0000000000..3faaca1ccc --- /dev/null +++ b/docs/RuntimeAPI/html/group__Driver.html @@ -0,0 +1,711 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Initialization and Version + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + +
    + +
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    + + +
    + +
    + +
    + +
    +
    Initialization and Version
    +
    +
    + + + + +

    +Modules

     Management
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    hipError_t hipInit (unsigned int flags)
     Explicitly initializes the HIP runtime. More...
     
    hipError_t hipDeviceGet (hipDevice_t *device, int ordinal)
     Returns a handle to a compute device. More...
     
    hipError_t hipDeviceComputeCapability (int *major, int *minor, hipDevice_t device)
     Returns the compute capability of the device. More...
     
    hipError_t hipDeviceGetName (char *name, int len, hipDevice_t device)
     Returns an identifer string for the device. More...
     
    hipError_t hipDeviceGetPCIBusId (int *pciBusId, int len, hipDevice_t device)
     Returns a PCI Bus Id string for the device. More...
     
    hipError_t hipDeviceTotalMem (size_t *bytes, hipDevice_t device)
     Returns the total amount of memory on the device. More...
     
    hipError_t hipDriverGetVersion (int *driverVersion)
     Returns the approximate HIP driver version. More...
     
    hipError_t hipRuntimeGetVersion (int *runtimeVersion)
     Returns the approximate HIP Runtime version. More...
     
    hipError_t hipModuleLoad (hipModule_t *module, const char *fname)
     Loads code object from file into a hipModule_t. More...
     
    hipError_t hipModuleUnload (hipModule_t module)
     Frees the module. More...
     
    hipError_t hipModuleGetFunction (hipFunction_t *function, hipModule_t module, const char *kname)
     Function with kname will be extracted if present in module. More...
     
    hipError_t hipModuleGetGlobal (hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
     returns device memory pointer and size of the kernel present in the module with symbol name More...
     
    hipError_t hipModuleLoadData (hipModule_t *module, const void *image)
     builds module from code object which resides in host memory. Image is pointer to that location. More...
     
    hipError_t hipModuleLaunchKernel (hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
     launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelparams or extra More...
     
    +

    Detailed Description

    +

    ----------------------------------------------------------------------------------------------—

    +

    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipDeviceComputeCapability (int * major,
    int * minor,
    hipDevice_t device 
    )
    +
    + +

    Returns the compute capability of the device.

    +
    Parameters
    + + + + +
    [out]major
    [out]minor
    [in]device
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidDevice
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipDeviceGet (hipDevice_tdevice,
    int ordinal 
    )
    +
    + +

    Returns a handle to a compute device.

    +
    Parameters
    + + + +
    [out]device
    [in]ordinal
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidDevice
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipDeviceGetName (char * name,
    int len,
    hipDevice_t device 
    )
    +
    + +

    Returns an identifer string for the device.

    +
    Parameters
    + + + + +
    [out]name
    [in]len
    [in]device
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidDevice
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipDeviceGetPCIBusId (int * pciBusId,
    int len,
    hipDevice_t device 
    )
    +
    + +

    Returns a PCI Bus Id string for the device.

    +
    Parameters
    + + + + +
    [out]pciBusId
    [in]len
    [in]device
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidDevice
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipDeviceTotalMem (size_t * bytes,
    hipDevice_t device 
    )
    +
    + +

    Returns the total amount of memory on the device.

    +
    Parameters
    + + + +
    [out]bytes
    [in]device
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidDevice
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipDriverGetVersion (int * driverVersion)
    +
    + +

    Returns the approximate HIP driver version.

    +
    Parameters
    + + +
    [out]driverVersion
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidValue
    +
    Warning
    The HIP feature set does not correspond to an exact CUDA SDK driver revision. This function always set *driverVersion to 4 as an approximation though HIP supports some features which were introduced in later CUDA SDK revisions. HIP apps code should not rely on the driver revision number here and should use arch feature flags to test device capabilities or conditional compilation.
    +
    See Also
    hipRuntimeGetVersion
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipInit (unsigned int flags)
    +
    + +

    Explicitly initializes the HIP runtime.

    +

    Most HIP APIs implicitly initialize the HIP runtime. This API provides control over the timing of the initialization.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipModuleGetFunction (hipFunction_tfunction,
    hipModule_t module,
    const char * kname 
    )
    +
    + +

    Function with kname will be extracted if present in module.

    +
    Parameters
    + + + + +
    [in]module
    [in]kname
    [out]function
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInvalidContext, hipErrorNotInitialized, hipErrorNotFound,
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipModuleGetGlobal (hipDeviceptr_t * dptr,
    size_t * bytes,
    hipModule_t hmod,
    const char * name 
    )
    +
    + +

    returns device memory pointer and size of the kernel present in the module with symbol name

    +
    Parameters
    + + + + + +
    [out]dptr
    [out[bytes
    [in]hmod
    [in]name
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorNotInitialized
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipModuleLaunchKernel (hipFunction_t f,
    unsigned int gridDimX,
    unsigned int gridDimY,
    unsigned int gridDimZ,
    unsigned int blockDimX,
    unsigned int blockDimY,
    unsigned int blockDimZ,
    unsigned int sharedMemBytes,
    hipStream_t stream,
    void ** kernelParams,
    void ** extra 
    )
    +
    + +

    launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelparams or extra

    +
    Parameters
    + + + + + + + + + + + + +
    [in[f
    [in]gridDimX
    [in]gridDimY
    [in]gridDimZ
    [in]blockDimX
    [in]blockDimY
    [in]blockDimZ
    [in]sharedMemBytes
    [in]stream
    [in]kernelParams
    [in]extraaThe function takes the above arguments and run the kernel in hipFunction_t f. with launch parameters specified in gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY and blockDimmZ. The amount of shared memory is specificed and can be used with HIP_DYNAMIC_SHARED. The arguemt extra is used to pass in the arguments for the kernel.
    +
    +
    +
    Returns
    hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue
    +
    Warning
    kernellParams argument is not yet implemented in HIP. Please use extra instead. Please refer to hip_porting_driver_api.md for sample usage.
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipModuleLoad (hipModule_tmodule,
    const char * fname 
    )
    +
    + +

    Loads code object from file into a hipModule_t.

    +
    Parameters
    + + + +
    [in]fname
    [out]module
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInvalidContext, hipErrorFileNotFound, hipErrorOutOfMemory, hipErrorSharedObjectInitFailed, hipErrorNotInitialized
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    hipError_t hipModuleLoadData (hipModule_tmodule,
    const void * image 
    )
    +
    + +

    builds module from code object which resides in host memory. Image is pointer to that location.

    +
    Parameters
    + + + +
    [in]image
    [out]module
    +
    +
    +
    Returns
    hipSuccess, hipErrorNotInitialized, hipErrorOutOfMemory, hipErrorNotInitialized
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipModuleUnload (hipModule_t module)
    +
    + +

    Frees the module.

    +
    Parameters
    + + +
    [in]module
    +
    +
    +
    Returns
    hipSuccess, hipInvalidValue module is freed and the code objects associated with it are destroyed
    + +
    +
    + +
    +
    + + + + + + + + +
    hipError_t hipRuntimeGetVersion (int * runtimeVersion)
    +
    + +

    Returns the approximate HIP Runtime version.

    +
    Parameters
    + + +
    [out]runtimeVersion
    +
    +
    +
    Returns
    hipSuccess, #hipErrorInavlidValue
    +
    Warning
    On HIP/HCC path this function returns HIP runtime patch version however on HIP/NVCC path this function return CUDA runtime version.
    +
    See Also
    hipDriverGetVersion
    + +
    +
    +
    + + + + diff --git a/docs/RuntimeAPI/html/group__Error.html b/docs/RuntimeAPI/html/group__Error.html index 3b23a4b616..ca093b5fee 100644 --- a/docs/RuntimeAPI/html/group__Error.html +++ b/docs/RuntimeAPI/html/group__Error.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -93,9 +93,9 @@ const char * hipGetErrorName (hipError_t hip_error)  Return name of the specified error code in text form. More...
      -const char * hipGetErrorString (hipError_t hip_error) - Return handy text string message to explain the error which occurred. More...
    -  +const char * hipGetErrorString (hipError_t hipError) + Return handy text string message to explain the error which occurred. More...

    Detailed Description

    ----------------------------------------------------------------------------------------------—

    @@ -122,11 +122,11 @@

    Function Documentation

    Returns
    const char pointer to the NULL-terminated error name
    -
    See Also
    hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t
    +
    See Also
    hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t
    - +
    @@ -134,7 +134,7 @@

    Function Documentation

    - +
    const char* hipGetErrorString ( hipError_t hip_error)hipError)
    @@ -143,14 +143,13 @@

    Function Documentation

    Return handy text string message to explain the error which occurred.

    Parameters
    - +
    hip_errorError code to convert to string.
    hipErrorError code to convert to string.
    Returns
    const char pointer to the NULL-terminated error string
    Warning
    : on HCC, this function returns the name of the error (same as hipGetErrorName)
    -
    See Also
    hipGetErrorName, hipGetLastError, hipPeakAtLastError, hipError_t
    -
    Warning
    : hipGetErrorString returns string from hipGetErrorName
    +
    See Also
    hipGetErrorName, hipGetLastError, hipPeakAtLastError, hipError_t
    @@ -169,8 +168,9 @@

    Function Documentation

    Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess.

    +
    Returns
    return code from last HIP called from the active host thread

    Returns the last error that has been returned by any of the runtime calls in the same host thread, and then resets the saved error to hipSuccess.

    -
    Returns
    return code from last HIP called from the active host thread.
    +
    See Also
    hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t
    @@ -190,14 +190,15 @@

    Function Documentation

    Return last error returned by any HIP runtime API call.

    Returns
    hipSuccess
    -

    Returns the last error that has been returned by any of the runtime calls in the same host thread. Unlike hipGetLastError, this function does not reset the saved error code.

    +

    Returns the last error that has been returned by any of the runtime calls in the same host thread. Unlike hipGetLastError, this function does not reset the saved error code.

    +
    See Also
    hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t
    diff --git a/docs/RuntimeAPI/html/group__Event.html b/docs/RuntimeAPI/html/group__Event.html index 151da41341..e504b4e177 100644 --- a/docs/RuntimeAPI/html/group__Event.html +++ b/docs/RuntimeAPI/html/group__Event.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -84,24 +84,24 @@ - + - + - + - + - - + + - + - +

    Functions

    hipError_t hipEventCreateWithFlags (hipEvent_t *event, unsigned flags)
    hipError_t hipEventCreateWithFlags (hipEvent_t *event, unsigned flags)
     Create an event with the specified flags. More...
     
    hipError_t hipEventCreate (hipEvent_t *event)
    hipError_t hipEventCreate (hipEvent_t *event)
     
    hipError_t hipEventRecord (hipEvent_t event, hipStream_t stream)
    hipError_t hipEventRecord (hipEvent_t event, hipStream_t stream)
     Record an event in the specified stream. More...
     
    hipError_t hipEventDestroy (hipEvent_t event)
    hipError_t hipEventDestroy (hipEvent_t event)
     Destroy the specified event. More...
     
    hipError_t hipEventSynchronize (hipEvent_t event)
     : Wait for an event to complete. More...
    hipError_t hipEventSynchronize (hipEvent_t event)
     Wait for an event to complete. More...
     
    hipError_t hipEventElapsedTime (float *ms, hipEvent_t start, hipEvent_t stop)
    hipError_t hipEventElapsedTime (float *ms, hipEvent_t start, hipEvent_t stop)
     Return the elapsed time between two events. More...
     
    hipError_t hipEventQuery (hipEvent_t event)
    hipError_t hipEventQuery (hipEvent_t event)
     Query event status. More...
     
    @@ -115,7 +115,7 @@

    Function Documentation

    hipError_t hipEventCreate ( - hipEvent_t *  + hipEvent_tevent) @@ -124,10 +124,12 @@

    Function Documentation

    Create an event

    Parameters
    - +
    [in,out]eventReturns the newly created event.
    [in,out]eventReturns the newly created event.
    +
    Returns
    hipSuccess, hipErrorInitializationError, hipErrorInvalidValue, hipErrorLaunchFailure, hipErrorMemoryAllocation
    +
    See Also
    hipEventCreateWithFlags, hipEventRecord, hipEventQuery, hipEventSynchronize, hipEventDestroy, hipEventElapsedTime
    @@ -138,7 +140,7 @@

    Function Documentation

    hipError_t hipEventCreateWithFlags ( - hipEvent_t *  + hipEvent_tevent, @@ -159,13 +161,14 @@

    Function Documentation

    Parameters
    - +
    [in,out]eventReturns the newly created event.
    [in]flagsFlags to control event behavior. hipEventDefault, hipEventBlockingSync, hipEventDisableTiming, hipEventInterprocess
    [in]flagsFlags to control event behavior. Valid values are hipEventDefault, hipEventBlockingSync, hipEventDisableTiming, hipEventInterprocess
    -
    Warning
    On HCC platform, hipEventInterprocess is not supported.
    -
    Returns
    #cudaSuccess
    -
    Warning
    : flags must be 0.
    +

    hipEventDefault : Default flag. The event will use active synchronization and will support timing. Blocking synchronization provides lowest possible latency at the expense of dedicating a CPU to poll on the eevent. hipEventBlockingSync : The event will use blocking synchronization : if hipEventSynchronize is called on this event, the thread will block until the event completes. This can increase latency for the synchroniation but can result in lower power and more resources for other CPU threads. hipEventDisableTiming : Disable recording of timing information. On ROCM platform, timing information is always recorded and this flag has no performance benefit.

    +
    Warning
    On HCC platform, hipEventInterprocess support is under development. Use of this flag will return an error.
    +
    Returns
    hipSuccess, hipErrorInitializationError, hipErrorInvalidValue, hipErrorLaunchFailure, hipErrorMemoryAllocation
    +
    See Also
    hipEventCreate, hipEventSynchronize, hipEventDestroy, hipEventElapsedTime
    @@ -176,7 +179,7 @@

    Function Documentation

    hipError_t hipEventDestroy ( - hipEvent_t  + hipEvent_t  event) @@ -190,8 +193,10 @@

    Function Documentation

    -
    Returns
    : hipSuccess,
    -

    Releases memory associated with the event. If the event is recording but has not completed recording when hipEventDestroy is called, the function will return immediately and the completion_future resources will be released later, when the hipDevice is synchronized.

    +
    Returns
    hipSuccess, hipErrorInitializationError, hipErrorInvalidValue, hipErrorLaunchFailure
    +

    Releases memory associated with the event. If the event is recording but has not completed recording when hipEventDestroy() is called, the function will return immediately and the completion_future resources will be released later, when the hipDevice is synchronized.

    +
    See Also
    hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventSynchronize, hipEventRecord, hipEventElapsedTime
    +
    Returns
    hipSuccess
    @@ -208,13 +213,13 @@

    Function Documentation

    - hipEvent_t  + hipEvent_t  start, - hipEvent_t  + hipEvent_t  stop  @@ -228,17 +233,18 @@

    Function Documentation

    Return the elapsed time between two events.

    Parameters
    - +
    [out]ms : Return time between start and stop in ms.
    [out]ms: Return time between start and stop in ms.
    [in]start: Start event.
    [in]stop: Stop event.
    -
    Returns
    : hipSuccess, hipErrorInvalidResourceHandle, hipErrorNotReady,
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorNotReady, hipErrorInvalidResourceHandle, hipErrorInitializationError, hipErrorLaunchFailure

    Computes the elapsed time between two events. Time is computed in ms, with a resolution of approximately 1 us.

    Events which are recorded in a NULL stream will block until all commands on all other streams complete execution, and then record the timestamp.

    -

    Events which are recorded in a non-NULL stream will record their timestamp when they reach the head of the specified stream, after all previous commands in that stream have completed executing. Thus the time that the event recorded may be significantly after the host calls hipEventRecord.

    -

    If hipEventRecord has not been called on either event, then hipErrorInvalidResourceHandle is returned. If hipEventRecord has been called on both events, but the timestamp has not yet been recorded on one or both events (that is, hipEventQuery would return hipErrorNotReady on at least one of the events), then hipErrorNotReady is returned.

    +

    Events which are recorded in a non-NULL stream will record their timestamp when they reach the head of the specified stream, after all previous commands in that stream have completed executing. Thus the time that the event recorded may be significantly after the host calls hipEventRecord().

    +

    If hipEventRecord() has not been called on either event, then hipErrorInvalidResourceHandle is returned. If hipEventRecord() has been called on both events, but the timestamp has not yet been recorded on one or both events (that is, hipEventQuery() would return hipErrorNotReady on at least one of the events), then hipErrorNotReady is returned.

    +
    See Also
    hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventDestroy, hipEventRecord, hipEventSynchronize
    @@ -249,7 +255,7 @@

    Function Documentation

    hipError_t hipEventQuery ( - hipEvent_t  + hipEvent_t  event) @@ -263,8 +269,9 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipEventNotReady
    -

    Query the status of the specified event. This function will return hipErrorNotReady if all commands in the appropriate stream (specified to hipEventRecord) have completed. If that work has not completed, or if hipEventRecord was not called on the event, then hipSuccess is returned.

    +
    Returns
    hipSuccess, hipErrorNotReady, hipErrorInvalidResourceHandle, hipErrorInvalidValue, hipErrorInitializationError, hipErrorLaunchFailure
    +

    Query the status of the specified event. This function will return hipErrorNotReady if all commands in the appropriate stream (specified to hipEventRecord()) have completed. If that work has not completed, or if hipEventRecord() was not called on the event, then hipSuccess is returned.

    +
    See Also
    hipEventCreate, hipEventCreateWithFlags, hipEventRecord, hipEventDestroy, hipEventSynchronize, hipEventElapsedTime
    @@ -275,13 +282,13 @@

    Function Documentation

    hipError_t hipEventRecord ( - hipEvent_t  + hipEvent_t  event, - hipStream_t  + hipStream_t  stream  @@ -300,12 +307,12 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipErrorInvalidResourceHandle
    -

    hipEventQuery or hipEventSynchronize must be used to determine when the event transitions from "recording" (after eventRecord is called) to "recorded" (when timestamps are set, if requested).

    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInitializationError, hipErrorInvalidResourceHandle, hipErrorLaunchFailure
    +

    hipEventQuery() or hipEventSynchronize() must be used to determine when the event transitions from "recording" (after hipEventRecord() is called) to "recorded" (when timestamps are set, if requested).

    Events which are recorded in a non-NULL stream will transition to from recording to "recorded" state when they reach the head of the specified stream, after all previous commands in that stream have completed executing.

    -

    If hipEventRecord has been previously called aon event, then this call will overwrite any existing state in event.

    +

    If hipEventRecord() has been previously called aon event, then this call will overwrite any existing state in event.

    If this function is called on a an event that is currently being recorded, results are undefined - either outstanding recording may save state into the event, and the order is not guaranteed. This shoul be avoided.

    -
    See Also
    hipEventElapsedTime
    +
    See Also
    hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventSynchronize, hipEventDestroy, hipEventElapsedTime
    @@ -316,16 +323,16 @@

    Function Documentation

    hipError_t hipEventSynchronize ( - hipEvent_t  + hipEvent_t  event)
    -

    : Wait for an event to complete.

    -

    This function will block until the event is ready, waiting for all previous work in the stream specified when event was recorded with hipEventRecord.

    -

    If hipEventRecord has not been called on event, this function returns immediately.

    +

    Wait for an event to complete.

    +

    This function will block until the event is ready, waiting for all previous work in the stream specified when event was recorded with hipEventRecord().

    +

    If hipEventRecord() has not been called on event, this function returns immediately.

    TODO-hcc - This function needs to support hipEventBlockingSync parameter.

    Parameters
    @@ -333,14 +340,15 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipErrorInvalidResourceHandle,
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInitializationError, hipErrorInvalidResourceHandle, hipErrorLaunchFailure
    +
    See Also
    hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventDestroy, hipEventRecord, hipEventElapsedTime
    diff --git a/docs/RuntimeAPI/html/group__Fence.html b/docs/RuntimeAPI/html/group__Fence.html new file mode 100644 index 0000000000..2a121b8ea1 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Fence.html @@ -0,0 +1,197 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Fence Functions + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + +
    + +
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    + + +
    + +
    + +
    + +
    +
    Fence Functions
    +
    +
    + + + + + + + + + + + +

    +Functions

    __device__ void __threadfence_block (void)
     threadfence_block makes writes visible to threads running in same block. More...
     
    __device__ void __threadfence (void)
     threadfence makes wirtes visible to other threads running on same GPU. More...
     
    __device__ void __threadfence_system (void) __attribute__((deprecated("Provided for compile-time compatibility
     threadfence_system makes writes to pinned system memory visible on host CPU. More...
     
    + + + +

    +Variables

    +__device__ void not yet functional
     
    +

    Detailed Description

    +

    CUDA 8 device function features

    +

    Kernel launching

    +
    +
    Warning
    The HIP memory fence functions are currently not supported yet. If any of those threadfence stubs are reached by the application, you should set "export HSA_DISABLE_CACHE=1" to disable L1 and L2 caches.
    +

    On AMD platforms, the threadfence* routines are currently empty stubs.

    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    __device__ void __threadfence (void )
    +
    + +

    threadfence makes wirtes visible to other threads running on same GPU.

    +

    void

    +
    Parameters
    + + +
    void
    +
    +
    +
    Warning
    __threadfence is a stub and map to no-op, application should set "export HSA_DISABLE_CACHE=1" to disable both L1 and L2 caches.
    + +
    +
    + +
    +
    + + + + + + + + +
    __device__ void __threadfence_block (void )
    +
    + +

    threadfence_block makes writes visible to threads running in same block.

    +

    void

    +
    Parameters
    + + +
    void
    +
    +
    +
    Warning
    __threadfence_block is a stub and map to no-op.
    + +
    +
    + +
    +
    + + + + + + + + +
    __device__ void __threadfence_system (void )
    +
    + +

    threadfence_system makes writes to pinned system memory visible on host CPU.

    +

    void

    +
    Parameters
    + + +
    void
    +
    +
    +
    Warning
    __threadfence_system is a stub and map to no-op, application should set "export HSA_DISABLE_CACHE=1" to disable both L1 and L2 caches.
    + +
    +
    +
    + + + + diff --git a/docs/RuntimeAPI/html/group__GlobalDefs.html b/docs/RuntimeAPI/html/group__GlobalDefs.html index 3173431a60..66544e59d3 100644 --- a/docs/RuntimeAPI/html/group__GlobalDefs.html +++ b/docs/RuntimeAPI/html/group__GlobalDefs.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -135,24 +135,30 @@   #define hipHostRegisterMapped   0x2 - Map the allocation into the address space for the current device. The device pointer can be obtained with hipHostGetDevicePointer.
    + Map the allocation into the address space for the current device. The device pointer can be obtained with hipHostGetDevicePointer.
      #define hipHostRegisterIoMemory   0x4  Not supported.
      -#define hipDeviceScheduleAuto   0x0 +#define hipDeviceScheduleAuto   0x0 + Automatically select between Spin and Yield.
      -#define hipDeviceScheduleSpin   0x1 +#define hipDeviceScheduleSpin   0x1 + Dedicate a CPU core to spin-wait. Provides lowest latency, but burns a CPU core and may consume more power.
      -#define hipDeviceScheduleYield   0x2 +#define hipDeviceScheduleYield   0x2 + Yield the CPU to the operating system when waiting. May increase latency, but lowers power and is friendlier to other threads in the system.
      - -#define hipDeviceBlockingSync   0x4 -  + +#define hipDeviceScheduleBlockingSync   0x4 +  + +#define hipDeviceScheduleMask   0x7 +  #define hipDeviceMapHost   0x8   @@ -181,27 +187,77 @@ Enumerations enum  hipError_t {
      hipSuccess = 0, -hipErrorMemoryAllocation, -hipErrorLaunchOutOfResources, -hipErrorInvalidValue, +hipErrorOutOfMemory = 2, +hipErrorNotInitialized = 3, +hipErrorDeinitialized = 4,
    -  hipErrorInvalidResourceHandle, -hipErrorInvalidDevice, -hipErrorInvalidMemcpyDirection, -hipErrorInvalidDevicePointer, +  hipErrorProfilerDisabled = 5, +hipErrorProfilerNotInitialized = 6, +hipErrorProfilerAlreadyStarted = 7, +hipErrorProfilerAlreadyStopped = 8,
    -  hipErrorInitializationError, -hipErrorNoDevice, -hipErrorNotReady, -hipErrorUnknown, +  hipErrorInvalidImage = 200, +hipErrorInvalidContext = 201, +hipErrorContextAlreadyCurrent = 202, +hipErrorMapFailed = 205,
    -  hipErrorPeerAccessNotEnabled, -hipErrorPeerAccessAlreadyEnabled, -hipErrorRuntimeMemory, -hipErrorRuntimeOther, +  hipErrorUnmapFailed = 206, +hipErrorArrayIsMapped = 207, +hipErrorAlreadyMapped = 208, +hipErrorNoBinaryForGpu = 209,
    -  hipErrorHostMemoryAlreadyRegistered, -hipErrorHostMemoryNotRegistered, +  hipErrorAlreadyAcquired = 210, +hipErrorNotMapped = 211, +hipErrorNotMappedAsArray = 212, +hipErrorNotMappedAsPointer = 213, +
    +  hipErrorECCNotCorrectable = 214, +hipErrorUnsupportedLimit = 215, +hipErrorContextAlreadyInUse = 216, +hipErrorPeerAccessUnsupported = 217, +
    +  hipErrorInvalidKernelFile = 218, +hipErrorInvalidGraphicsContext = 219, +hipErrorInvalidSource = 300, +hipErrorFileNotFound = 301, +
    +  hipErrorSharedObjectSymbolNotFound = 302, +hipErrorSharedObjectInitFailed = 303, +hipErrorOperatingSystem = 304, +hipErrorInvalidHandle = 400, +
    +  hipErrorNotFound = 500, +hipErrorIllegalAddress = 700, +hipErrorInvalidSymbol = 701, +hipErrorMissingConfiguration = 1001, +
    +  hipErrorMemoryAllocation = 1002, +hipErrorInitializationError = 1003, +hipErrorLaunchFailure = 1004, +hipErrorPriorLaunchFailure = 1005, +
    +  hipErrorLaunchTimeOut = 1006, +hipErrorLaunchOutOfResources = 1007, +hipErrorInvalidDeviceFunction = 1008, +hipErrorInvalidConfiguration = 1009, +
    +  hipErrorInvalidDevice = 1010, +hipErrorInvalidValue = 1011, +hipErrorInvalidDevicePointer = 1017, +hipErrorInvalidMemcpyDirection = 1021, +
    +  hipErrorUnknown = 1030, +hipErrorInvalidResourceHandle = 1033, +hipErrorNotReady = 1034, +hipErrorNoDevice = 1038, +
    +  hipErrorPeerAccessAlreadyEnabled = 1050, +hipErrorPeerAccessNotEnabled = 1051, +hipErrorRuntimeMemory = 1052, +hipErrorRuntimeOther = 1053, +
    +  hipErrorHostMemoryAlreadyRegistered = 1061, +hipErrorHostMemoryNotRegistered = 1062, hipErrorTbd
    } @@ -481,45 +537,54 @@

    Enumeration Type Documentation

    EnumeratorhipSuccess 

    Successful completion.

    +hipErrorInvalidContext  +

    Produced when input context is invalid.

    + +hipErrorInvalidKernelFile  +

    In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.

    + hipErrorMemoryAllocation 

    Memory allocation error.

    -hipErrorLaunchOutOfResources  -

    Out of resources error.

    +hipErrorInitializationError  +

    TODO comment from hipErrorInitializationError.

    -hipErrorInvalidValue  -

    One or more of the parameters passed to the API call is NULL or not in an acceptable range.

    +hipErrorLaunchFailure  +

    An exception occurred on the device while executing a kernel.

    -hipErrorInvalidResourceHandle  -

    Resource handle (hipEvent_t or hipStream_t) invalid.

    +hipErrorLaunchOutOfResources  +

    Out of resources error.

    hipErrorInvalidDevice 

    DeviceID must be in range 0...#compute-devices.

    -hipErrorInvalidMemcpyDirection  -

    Invalid memory copy direction.

    +hipErrorInvalidValue  +

    One or more of the parameters passed to the API call is NULL or not in an acceptable range.

    hipErrorInvalidDevicePointer 

    Invalid Device Pointer.

    -hipErrorInitializationError  -

    TODO comment from hipErrorInitializationError.

    +hipErrorInvalidMemcpyDirection  +

    Invalid memory copy direction.

    -hipErrorNoDevice  -

    Call to hipGetDeviceCount returned 0 devices.

    +hipErrorUnknown  +

    Unknown error.

    + +hipErrorInvalidResourceHandle  +

    Resource handle (hipEvent_t or hipStream_t) invalid.

    hipErrorNotReady 

    Indicates that asynchronous operations enqueued earlier are not ready. This is not actually an error, but is used to distinguish from hipSuccess (which indicates completion). APIs that return this error include hipEventQuery and hipStreamQuery.

    -hipErrorUnknown  -

    Unknown error.

    - -hipErrorPeerAccessNotEnabled  -

    Peer access was never enabled from the current device.

    +hipErrorNoDevice  +

    Call to hipGetDeviceCount returned 0 devices.

    hipErrorPeerAccessAlreadyEnabled 

    Peer access was already enabled from the current device.

    +hipErrorPeerAccessNotEnabled  +

    Peer access was never enabled from the current device.

    + hipErrorRuntimeMemory 

    HSA runtime memory call returned error. Typically not seen in production systems.

    @@ -623,7 +688,7 @@

    Enumeration Type Documentation

    diff --git a/docs/RuntimeAPI/html/group__HCC__Specific.html b/docs/RuntimeAPI/html/group__HCC__Specific.html index 8cc13b7f62..a699594c72 100644 --- a/docs/RuntimeAPI/html/group__HCC__Specific.html +++ b/docs/RuntimeAPI/html/group__HCC__Specific.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -83,12 +83,12 @@

    ----------------------------------------------------------------------------

    The following calls are only supported when compiler HIP with HCC. To produce portable code, use of these calls must be guarded #ifdef checks:

    #ifdef __HCC__
    hc::accelerator acc;
    -
    hipError_t err = hipHccGetAccelerator(deviceId, &acc)
    +
    hipError_t err = hipHccGetAccelerator(deviceId, &acc)
    #endif

    diff --git a/docs/RuntimeAPI/html/group__HIP-ENV.html b/docs/RuntimeAPI/html/group__HIP-ENV.html index 27c9623098..06b208c378 100644 --- a/docs/RuntimeAPI/html/group__HIP-ENV.html +++ b/docs/RuntimeAPI/html/group__HIP-ENV.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -82,7 +82,7 @@
    diff --git a/docs/RuntimeAPI/html/group__Memory.html b/docs/RuntimeAPI/html/group__Memory.html index 6da5755b1d..5e478932da 100644 --- a/docs/RuntimeAPI/html/group__Memory.html +++ b/docs/RuntimeAPI/html/group__Memory.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -91,19 +91,19 @@  Allocate memory on the default accelerator. More...
      hipError_t hipMallocHost (void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead"))) - Allocate pinned host memory. More...
    + Allocate pinned host memory [Deprecated]. More...
      hipError_t hipHostMalloc (void **ptr, size_t size, unsigned int flags)  Allocate device accessible page locked host memory. More...
      - -hipError_t hipHostAlloc (void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead"))) +hipError_t hipHostAlloc (void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead"))) + Allocate device accessible page locked host memory [Deprecated]. More...
      hipError_t hipHostGetDevicePointer (void **devPtr, void *hstPtr, unsigned int flags) - Get Device pointer from Host Pointer allocated through hipHostAlloc. More...
    + Get Device pointer from Host Pointer allocated through hipHostMalloc. More...
      hipError_t hipHostGetFlags (unsigned int *flagsPtr, void *hostPtr) - Get flags associated with host pointer. More...
    + Return flags associated with host pointer. More...
      hipError_t hipHostRegister (void *hostPtr, size_t sizeBytes, unsigned int flags)  Register host memory so it can be accessed from the current device. More...
    @@ -114,27 +114,48 @@ hipError_t hipMallocPitch (void **ptr, size_t *pitch, size_t width, size_t height)   hipError_t hipFree (void *ptr) - Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
    + Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
      hipError_t hipFreeHost (void *ptr) __attribute__((deprecated("use hipHostFree instead"))) - Free memory allocated by the hcc hip host memory allocation API. [Deprecated.]. More...
    + Free memory allocated by the hcc hip host memory allocation API. [Deprecated]. More...
      hipError_t hipHostFree (void *ptr) - Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
    + Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
      hipError_t hipMemcpy (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)  Copy data from src to dst. More...
      +hipError_t hipMemcpyHtoD (hipDeviceptr_t dst, void *src, size_t sizeBytes) + Copy data from Host to Device. More...
    +  +hipError_t hipMemcpyDtoH (void *dst, hipDeviceptr_t src, size_t sizeBytes) + Copy data from Device to Host. More...
    +  +hipError_t hipMemcpyDtoD (hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes) + Copy data from Device to Device. More...
    +  +hipError_t hipMemcpyHtoDAsync (hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream) + Copy data from Host to Device asynchronously. More...
    +  +hipError_t hipMemcpyDtoHAsync (void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream) + Copy data from Device to Host asynchronously. More...
    +  +hipError_t hipMemcpyDtoDAsync (hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream) + Copy data from Device to Device asynchronously. More...
    hipError_t hipMemcpyToSymbol (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind)  Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset bytes from the start of symbol symbol. More...
      -hipError_t hipMemcpyAsync (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream) +hipError_t hipMemcpyToSymbolAsync (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream) + Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset bytes from the start of symbol symbol. More...
    +  +hipError_t hipMemcpyAsync (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)  Copy data from src to dst asynchronously. More...
      hipError_t hipMemset (void *dst, int value, size_t sizeBytes)  Copy data from src to dst asynchronously. More...
      -hipError_t hipMemsetAsync (void *dst, int value, size_t sizeBytes, hipStream_t stream) +hipError_t hipMemsetAsync (void *dst, int value, size_t sizeBytes, hipStream_t stream)  Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value value. More...
      hipError_t hipMemGetInfo (size_t *free, size_t *total) @@ -164,7 +185,7 @@

    Function Documentation

    -

    Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned.

    +

    Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned.

    Parameters
    @@ -173,7 +194,8 @@

    Function Documentation

    Returns
    hipSuccess
    -hipErrorInvalidDevicePointer (if pointer is invalid, including host pointers allocated with hipHostMalloc)
    +hipErrorInvalidDevicePointer (if pointer is invalid, including host pointers allocated with hipHostMalloc) +
    See Also
    hipMalloc, hipMallocPitch, hipMallocArray, hipFreeArray, hipHostFree, hipMalloc3D, hipMalloc3DArray, hipHostMalloc
    @@ -191,8 +213,59 @@

    Function Documentation

    [in]ptrPointer to memory to be freed
    -

    Free memory allocated by the hcc hip host memory allocation API. [Deprecated.].

    -
    See Also
    hipHostFree
    +

    Free memory allocated by the hcc hip host memory allocation API. [Deprecated].

    +
    Parameters
    + + +
    [in]ptrPointer to memory to be freed
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue (if pointer is invalid, including device pointers allocated with hipMalloc)
    +
    Deprecated:
    use hipHostFree() instead
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipHostAlloc (void ** ptr,
    size_t size,
    unsigned int flags 
    )
    +
    + +

    Allocate device accessible page locked host memory [Deprecated].

    +
    Parameters
    + + + + +
    [out]ptrPointer to the allocated host pinned memory
    [in]sizeRequested memory size
    [in]flagsType of host memory allocation
    +
    +
    +
    Returns
    hipSuccess, hipErrorMemoryAllocation
    +
    Deprecated:
    use hipHostMalloc() instead
    @@ -210,14 +283,15 @@

    Function Documentation

    -

    Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned.

    +

    Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned.

    Parameters
    [in]ptrPointer to memory to be freed
    -
    Returns
    hipSuccess, hipErrorInvalidValue (if pointer is invalid, including device pointers allocated with hipMalloc)
    +
    Returns
    hipSuccess, hipErrorInvalidValue (if pointer is invalid, including device pointers allocated with hipMalloc)
    +
    See Also
    hipMalloc, hipMallocPitch, hipFree, hipMallocArray, hipFreeArray, hipMalloc3D, hipMalloc3DArray, hipHostMalloc
    @@ -251,16 +325,17 @@

    Function Documentation

    -

    Get Device pointer from Host Pointer allocated through hipHostAlloc.

    +

    Get Device pointer from Host Pointer allocated through hipHostMalloc.

    Parameters
    - - + +
    [out]dstPtrDevice Pointer mapped to passed host pointer
    [in]hstPtrHost Pointer allocated through hipHostAlloc
    [in]flagsFlags to be passed for extension
    [in]hstPtrHost Pointer allocated through hipHostMalloc
    [in]flagsFlags to be passed for extension
    -
    Returns
    Error code
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorMemoryAllocation
    +
    See Also
    hipSetDeviceFlags, hipHostMalloc
    @@ -288,7 +363,7 @@

    Function Documentation

    -

    Get flags associated with host pointer.

    +

    Return flags associated with host pointer.

    Parameters
    @@ -296,7 +371,8 @@

    Function Documentation

    [out]flagsPtrMemory location to store flags
    -
    Returns
    Error code
    +
    Returns
    hipSuccess, hipErrorInvalidValue
    +
    See Also
    hipHostMalloc
    @@ -335,11 +411,12 @@

    Function Documentation

    - +
    [out]ptrPointer to the allocated host pinned memory
    [in]sizeRequested memory size
    [in]flagsType of host memory allocation
    [in]flagsType of host memory allocation
    -
    Returns
    Error code
    +
    Returns
    hipSuccess, hipErrorMemoryAllocation
    +
    See Also
    hipSetDeviceFlags, hipHostFree
    @@ -386,13 +463,14 @@

    Function Documentation

    -

    After registering the memory, use hipHostGetDevicePointer to obtain the mapped device pointer. On many systems, the mapped device pointer will have a different value than the mapped host pointer. Applications must use the device pointer in device code, and the host pointer in device code.

    +

    After registering the memory, use hipHostGetDevicePointer to obtain the mapped device pointer. On many systems, the mapped device pointer will have a different value than the mapped host pointer. Applications must use the device pointer in device code, and the host pointer in device code.

    On some systems, registered memory is pinned. On some systems, registered memory may not be actually be pinned but uses OS or hardware facilities to all GPU access to the host memory.

    Developers are strongly encouraged to register memory blocks which are aligned to the host cache-line size. (typically 64-bytes but can be obtains from the CPUID instruction).

    If registering non-aligned pointers, the application must take care when register pointers from the same cache line on different devices. HIP's coarse-grained synchronization model does not guarantee correct results if different devices write to different parts of the same cache block - typically one of the writes will "win" and overwrite data from the other registered memory region.

    -
    Returns
    hipSuccess, hipErrorMemoryAllocation
    +
    Returns
    hipSuccess, hipErrorMemoryAllocation
    +
    See Also
    hipHostUnregister, hipHostGetFlags, hipHostGetDevicePointer
    @@ -417,7 +495,8 @@

    Function Documentation

    -
    Returns
    Error code
    +
    Returns
    Error code
    +
    See Also
    hipHostRegister
    @@ -435,7 +514,7 @@

    Function Documentation

    size_t  - sizeBytes  + size  @@ -449,13 +528,12 @@

    Function Documentation

    Parameters
    - +
    [out]ptrPointer to the allocated memory
    [in]sizeRequested memory size
    [in]sizeRequested memory size
    -
    Returns
    hipSuccess
    -
    -hipSuccess hipErrorMemoryAllocation
    +
    Returns
    hipSuccess
    +
    See Also
    hipMallocPitch, hipFree, hipMallocArray, hipFreeArray, hipMalloc3D, hipMalloc3DArray, hipHostFree, hipHostMalloc
    @@ -483,15 +561,16 @@

    Function Documentation

    -

    Allocate pinned host memory.

    +

    Allocate pinned host memory [Deprecated].

    Parameters
    - +
    [out]ptrPointer to the allocated host pinned memory
    [in]sizeRequested memory size
    [in]sizeRequested memory size
    -
    Returns
    Error code
    +
    Returns
    hipSuccess, hipErrorMemoryAllocation
    +
    Deprecated:
    use hipHostMalloc() instead
    @@ -540,7 +619,8 @@

    Function Documentation

    -
    Returns
    Error code
    +
    Returns
    Error code
    +
    See Also
    hipMalloc, hipFree, hipMallocArray, hipFreeArray, hipHostFree, hipMalloc3D, hipMalloc3DArray, hipHostMalloc
    @@ -592,7 +672,8 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, hipErrorUnknown
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknowni
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    @@ -627,7 +708,7 @@

    Function Documentation

    - hipStream_t  + hipStream_t  stream  @@ -639,8 +720,9 @@

    Function Documentation

    Copy data from src to dst asynchronously.

    -
    Warning
    If host or dest are not pinned, the memory copy will be performed synchronously. For best performance, use hipHostMalloc to allocate host memory that is transferred asynchronously.
    -

    For hipMemcpy, the copy is always performed by the device associated with the specified stream.

    +
    Warning
    If host or dest are not pinned, the memory copy will be performed synchronously. For best performance, use hipHostMalloc to allocate host memory that is transferred asynchronously.
    +
    +on HCC hipMemcpyAsync does not support overlapped H2D and D2H copies. For hipMemcpy, the copy is always performed by the device associated with the specified stream.

    For multi-gpu or peer-to-peer configurations, it is recommended to use a stream which is a attached to the device where the src data is physically located. For optimal peer-to-peer copies, the copy device must be able to access the src and dst pointers (by calling hipDeviceEnablePeerAccess with copy agent as the current device and src/dest as the peerDevice argument. if this is not done, the hipMemcpy will still work, but will perform the copy using a staging buffer on the host.

    Parameters
    @@ -651,14 +733,290 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, hipErrorUnknown
    -
    -hipSuccess, hipErrorInvalidDevice, hipErrorInvalidMemcpyDirection,
    -
    -hipErrorInvalidValue : If dst==NULL or src==NULL, or other bad argument.
    -
    Warning
    on HCC hipMemcpyAsync does not support overlapped H2D and D2H copies.
    -
    -on HCC hipMemcpyAsync requires that any host pointers are pinned (ie via the hipMallocHost call).
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, hipErrorUnknown
    +
    See Also
    hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyToSymbol, hipMemcpyFromSymbol, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyDtoD (hipDeviceptr_t dst,
    hipDeviceptr_t src,
    size_t sizeBytes 
    )
    +
    + +

    Copy data from Device to Device.

    +
    Parameters
    + + + + +
    [out]dstData being copy to
    [in]srcData being copy from
    [in]sizeBytesData size in bytes
    +
    +
    +
    Returns
    hipSuccess, #hipErrorDeInitialized, #hipErrorNotInitialized, hipErrorInvalidContext, hipErrorInvalidValue
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyDtoDAsync (hipDeviceptr_t dst,
    hipDeviceptr_t src,
    size_t sizeBytes,
    hipStream_t stream 
    )
    +
    + +

    Copy data from Device to Device asynchronously.

    +
    Parameters
    + + + + +
    [out]dstData being copy to
    [in]srcData being copy from
    [in]sizeBytesData size in bytes
    +
    +
    +
    Returns
    hipSuccess, #hipErrorDeInitialized, #hipErrorNotInitialized, hipErrorInvalidContext, hipErrorInvalidValue
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyDtoH (void * dst,
    hipDeviceptr_t src,
    size_t sizeBytes 
    )
    +
    + +

    Copy data from Device to Host.

    +
    Parameters
    + + + + +
    [out]dstData being copy to
    [in]srcData being copy from
    [in]sizeBytesData size in bytes
    +
    +
    +
    Returns
    hipSuccess, #hipErrorDeInitialized, #hipErrorNotInitialized, hipErrorInvalidContext, hipErrorInvalidValue
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyDtoHAsync (void * dst,
    hipDeviceptr_t src,
    size_t sizeBytes,
    hipStream_t stream 
    )
    +
    + +

    Copy data from Device to Host asynchronously.

    +
    Parameters
    + + + + +
    [out]dstData being copy to
    [in]srcData being copy from
    [in]sizeBytesData size in bytes
    +
    +
    +
    Returns
    hipSuccess, #hipErrorDeInitialized, #hipErrorNotInitialized, hipErrorInvalidContext, hipErrorInvalidValue
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyHtoD (hipDeviceptr_t dst,
    void * src,
    size_t sizeBytes 
    )
    +
    + +

    Copy data from Host to Device.

    +
    Parameters
    + + + + +
    [out]dstData being copy to
    [in]srcData being copy from
    [in]sizeBytesData size in bytes
    +
    +
    +
    Returns
    hipSuccess, #hipErrorDeInitialized, #hipErrorNotInitialized, hipErrorInvalidContext, hipErrorInvalidValue
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyHtoDAsync (hipDeviceptr_t dst,
    void * src,
    size_t sizeBytes,
    hipStream_t stream 
    )
    +
    + +

    Copy data from Host to Device asynchronously.

    +
    Parameters
    + + + + +
    [out]dstData being copy to
    [in]srcData being copy from
    [in]sizeBytesData size in bytes
    +
    +
    +
    Returns
    hipSuccess, #hipErrorDeInitialized, #hipErrorNotInitialized, hipErrorInvalidContext, hipErrorInvalidValue
    +
    See Also
    hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD, hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync, hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo, hipMemHostAlloc, hipMemHostGetDevicePointer
    @@ -716,7 +1074,73 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, hipErrorUnknown
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, hipErrorUnknown
    +
    See Also
    hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, hipMemcpyAsync, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
    + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyToSymbolAsync (const char * symbolName,
    const void * src,
    size_t sizeBytes,
    size_t offset,
    hipMemcpyKind kind,
    hipStream_t stream 
    )
    +
    + +

    Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset bytes from the start of symbol symbol.

    +

    The memory areas may not overlap. Symbol can either be a variable that resides in global or constant memory space, or it can be a character string, naming a variable that resides in global or constant memory space. Kind can be either hipMemcpyHostToDevice or hipMemcpyDeviceToDevice hipMemcpyToSymbolAsync() is asynchronous with respect to the host, so the call may return before copy is complete. TODO: cudaErrorInvalidSymbol and cudaErrorInvalidMemcpyDirection is not supported, use hipErrorUnknown for now.

    +
    Parameters
    + + + + + + +
    [in]symbolName- Symbol destination on device
    [in]src- Data being copy from
    [in]sizeBytes- Data size in bytes
    [in]offset- Offset from start of symbol in bytes
    [in]kind- Type of transfer
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree, hipErrorUnknown
    +
    See Also
    hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, hipMemcpyAsync, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
    @@ -745,7 +1169,9 @@

    Function Documentation

    Query memory info. Return snapshot of free memory, and total allocatable memory on the device.

    -

    Returns in *free a snapshot of the current free memory o

    +

    Returns in *free a snapshot of the current free memory.

    +
    Returns
    hipSuccess, hipErrorInvalidDevice, hipErrorInvalidValue
    +
    Warning
    On HCC, the free memory only accounts for memory allocated by this process and may be optimistic.
    @@ -819,7 +1245,7 @@

    Function Documentation

    - hipStream_t  + hipStream_t  stream  @@ -841,9 +1267,7 @@

    Function Documentation

    -
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree
    -
    -hipErrorInvalidValue
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorMemoryFree
    @@ -872,14 +1296,22 @@

    Function Documentation

    Return attributes for the specified pointer.

    -
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInvalidDevice
    +
    Parameters
    + + + +
    [out]attributesfor the specified pointer
    [in]pointerto get attributes for
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidDevice, hipErrorInvalidValue
    +
    See Also
    hipGetDeviceCount, hipGetDevice, hipSetDevice, hipChooseDevice
    diff --git a/docs/RuntimeAPI/html/group__PeerToPeer.html b/docs/RuntimeAPI/html/group__PeerToPeer.html index 56d7146395..a929e0f746 100644 --- a/docs/RuntimeAPI/html/group__PeerToPeer.html +++ b/docs/RuntimeAPI/html/group__PeerToPeer.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -142,8 +142,7 @@

    Function Documentation

    Returns
    hipSuccess,
    hipErrorInvalidDevice if deviceId or peerDeviceId are not valid devices
    -
    Warning
    PeerToPeer support is experimental.
    -

    HCC returns 0 in *canAccessPeer ; Need to update this function when RT supports P2P

    +
    Warning
    PeerToPeer support is experimental.
    @@ -215,7 +214,7 @@

    Function Documentation

    diff --git a/docs/RuntimeAPI/html/group__Profiler.html b/docs/RuntimeAPI/html/group__Profiler.html index 7b6f85e536..d1a36b680d 100644 --- a/docs/RuntimeAPI/html/group__Profiler.html +++ b/docs/RuntimeAPI/html/group__Profiler.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -85,7 +85,7 @@

    ----------------------------------------------------------------------------

    diff --git a/docs/RuntimeAPI/html/group__Stream.html b/docs/RuntimeAPI/html/group__Stream.html index c158d3d4aa..1757e07ae4 100644 --- a/docs/RuntimeAPI/html/group__Stream.html +++ b/docs/RuntimeAPI/html/group__Stream.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -76,41 +76,121 @@
    Stream Management
    + + + +

    +Typedefs

    typedef void(* hipStreamCallback_t )(hipStream_t stream, hipError_t status, void *userData)
     
    - - - - + - - - - - - - + + + + - + + + + + + + + + + + + +

    Functions

    hipError_t hipStreamCreateWithFlags (hipStream_t *stream, unsigned int flags)
     Create an asynchronous stream. More...
     
    hipError_t hipStreamCreate (hipStream_t *stream)
    hipError_t hipStreamCreate (hipStream_t *stream)
     Create an asynchronous stream. More...
     
    hipError_t hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
     Make the specified compute stream wait for an event. More...
     
    hipError_t hipStreamSynchronize (hipStream_t stream)
     Wait for all commands in stream to complete. More...
     
    hipError_t hipStreamDestroy (hipStream_t stream)
    hipError_t hipStreamCreateWithFlags (hipStream_t *stream, unsigned int flags)
     Create an asynchronous stream. More...
     
    hipError_t hipStreamDestroy (hipStream_t stream)
     Destroys the specified stream. More...
     
    hipError_t hipStreamGetFlags (hipStream_t stream, unsigned int *flags)
    hipError_t hipStreamQuery (hipStream_t stream)
     Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not. More...
     
    hipError_t hipStreamSynchronize (hipStream_t stream)
     Wait for all commands in stream to complete. More...
     
    hipError_t hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
     Make the specified compute stream wait for an event. More...
     
    hipError_t hipStreamGetFlags (hipStream_t stream, unsigned int *flags)
     Return flags associated with this stream. More...
     
    hipError_t hipStreamAddCallback (hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags)
     Adds a callback to be called on the host after all currently enqueued items in the stream have completed. For each cudaStreamAddCallback call, a callback will be executed exactly once. The callback will block later work in the stream until it is finished. More...
     

    Detailed Description

    ----------------------------------------------------------------------------------------------—

    The following Stream APIs are not (yet) supported in HIP:

      +
    • cudaStreamAddCallback
    • +
    • cudaStreamAttachMemAsync
    • cudaStreamCreateWithPriority
    • -
    • cudaStreamGetPriority
    • +
    • cudaStreamGetPriority
    • +
    • cudaStreamWaitEvent
    +

    Typedef Documentation

    + +
    +
    + + + + +
    typedef void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
    +
    +

    Stream CallBack struct

    + +
    +

    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipStreamAddCallback (hipStream_t stream,
    hipStreamCallback_t callback,
    void * userData,
    unsigned int flags 
    )
    +
    + +

    Adds a callback to be called on the host after all currently enqueued items in the stream have completed. For each cudaStreamAddCallback call, a callback will be executed exactly once. The callback will block later work in the stream until it is finished.

    +
    Parameters
    + + + + + +
    [in]stream- Stream to add callback to
    [in]callback- The function to call once preceding stream operations are complete
    [in]userData- User specified data to be passed to the callback function
    [in]flags- Reserved for future use, must be 0
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidResourceHandle, #hipErrorNotSupported
    +
    See Also
    hipStreamCreate, hipStreamCreateWithFlags, hipStreamQuery, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy
    + +
    +
    @@ -118,7 +198,7 @@

    Function Documentation

    hipError_t hipStreamCreate ( - hipStream_t *  + hipStream_tstream) @@ -134,7 +214,8 @@

    Function Documentation

    Returns
    hipSuccess, hipErrorInvalidValue

    Create a new asynchronous stream. stream returns an opaque handle that can be used to reference the newly created stream in subsequent hipStream* commands. The stream is allocated on the heap and will remain allocated even if the handle goes out-of-scope. To release the memory used by the stream, applicaiton must call hipStreamDestroy.

    -
    See Also
    hipStreamDestroy
    +
    Returns
    hipSuccess, hipErrorInvalidValue
    +
    See Also
    hipStreamCreateWithFlags, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy
    @@ -145,7 +226,7 @@

    Function Documentation

    hipError_t hipStreamCreateWithFlags ( - hipStream_t *  + hipStream_tstream, @@ -171,8 +252,8 @@

    Function Documentation

    Returns
    hipSuccess, hipErrorInvalidValue
    -

    Create a new asynchronous stream. stream returns an opaque handle that can be used to reference the newly created stream in subsequent hipStream* commands. The stream is allocated on the heap and will remain allocated

    -

    even if the handle goes out-of-scope. To release the memory used by the stream, applicaiton must call hipStreamDestroy. Flags controls behavior of the stream. See hipStreamDefault, hipStreamNonBlocking. hipStream_t are under development - with current HIP use the NULL stream.

    +

    Create a new asynchronous stream. stream returns an opaque handle that can be used to reference the newly created stream in subsequent hipStream* commands. The stream is allocated on the heap and will remain allocated even if the handle goes out-of-scope. To release the memory used by the stream, applicaiton must call hipStreamDestroy. Flags controls behavior of the stream. See hipStreamDefault, hipStreamNonBlocking.

    +
    See Also
    hipStreamCreate, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy
    @@ -183,7 +264,7 @@

    Function Documentation

    hipError_t hipStreamDestroy ( - hipStream_t  + hipStream_t  stream) @@ -197,10 +278,11 @@

    Function Documentation

    -
    Returns
    hipSuccess
    +
    Returns
    hipSuccess hipErrorInvalidResourceHandle

    Destroys the specified stream.

    If commands are still executing on the specified stream, some may complete execution before the queue is deleted.

    The queue may be destroyed while some commands are still inflight, or may wait for all commands queued to the stream before destroying it.

    +
    See Also
    hipStreamCreate, hipStreamCreateWithFlags, hipStreamQuery, hipStreamWaitEvent, hipStreamSynchronize
    Returns
    hipSuccess, hipErrorInvalidResourceHandle
    @@ -212,7 +294,7 @@

    Function Documentation

    hipError_t hipStreamGetFlags ( - hipStream_t  + hipStream_t  stream, @@ -232,15 +314,43 @@

    Function Documentation

    Return flags associated with this stream.

    Parameters
    - - + +
    [in]stream
    [in,out]flags
    [in]streamstream to be queried
    [in,out]flagsPointer to an unsigned integer in which the stream's flags are returned
    -
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInvalidResourceHandle
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInvalidResourceHandle
    +
    +hipSuccess hipErrorInvalidValue hipErrorInvalidResourceHandle

    Return flags associated with this stream in *flags.

    -
    See Also
    hipStreamCreateWithFlags
    -
    Returns
    hipSuccess
    +
    See Also
    hipStreamCreateWithFlags
    + + + + +
    +
    + + + + + + + + +
    hipError_t hipStreamQuery (hipStream_t stream)
    +
    + +

    Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not.

    +
    Parameters
    + + +
    [in]streamstream to query
    +
    +
    +
    Returns
    hipSuccess, hipErrorNotReady, hipErrorInvalidResourceHandle
    +

    This is thread-safe and returns a snapshot of the current state of the queue. However, if other host threads are sending work to the stream, the status may change immediately after the function is called. It is typically used for debug.

    +
    See Also
    hipStreamCreate, hipStreamCreateWithFlags, hipStreamWaitEvent, hipStreamSynchronize, hipStreamDestroy
    @@ -251,7 +361,7 @@

    Function Documentation

    hipError_t hipStreamSynchronize ( - hipStream_t  + hipStream_t  stream) @@ -259,10 +369,15 @@

    Function Documentation

    Wait for all commands in stream to complete.

    -

    If the null stream is specified, this command blocks until all

    -

    This command honors the hipDeviceLaunchBlocking flag, which controls whether the wait is active or blocking.

    -

    This command is host-synchronous : the host will block until the stream is empty.

    -

    TODO

    +
    Parameters
    + + +
    [in]streamstream identifier.
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidResourceHandle
    +

    If the null stream is specified, this command blocks until all This command honors the hipDeviceLaunchBlocking flag, which controls whether the wait is active or blocking. This command is host-synchronous : the host will block until the stream is empty.

    +
    See Also
    hipStreamCreate, hipStreamCreateWithFlags, hipStreamWaitEvent, hipStreamDestroy
    @@ -273,13 +388,13 @@

    Function Documentation

    hipError_t hipStreamWaitEvent ( - hipStream_t  + hipStream_t  stream, - hipEvent_t  + hipEvent_t  event, @@ -307,14 +422,14 @@

    Function Documentation

    Returns
    hipSuccess, hipErrorInvalidResourceHandle

    This function inserts a wait operation into the specified stream. All future work submitted to stream will wait until event reports completion before beginning execution. This function is host-asynchronous and the function may return before the wait has completed.

    -
    Bug:
    This function conservatively waits for all work in the specified stream to complete.
    +
    See Also
    hipStreamCreate, hipStreamCreateWithFlags, hipStreamSynchronize, hipStreamDestroy
    diff --git a/docs/RuntimeAPI/html/group__Texture.html b/docs/RuntimeAPI/html/group__Texture.html index cca806498a..4041f03f45 100644 --- a/docs/RuntimeAPI/html/group__Texture.html +++ b/docs/RuntimeAPI/html/group__Texture.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -84,8 +84,8 @@ - + + @@ -145,10 +145,68 @@

    ----------------------------------------------------------------------------
  • cudaGetChannelDesc
  • cudaGetTextureReference
  • +

    Function Documentation

    + +
    +
    +

    Functions

    -hipChannelFormatDesc hipCreateChannelDesc (int x, int y, int z, int w, hipChannelFormatKind f)
    hipChannelFormatDesc hipCreateChannelDesc (int x, int y, int z, int w, hipChannelFormatKind f)
     Returns a channel descriptor using the specified format. More...
     
    template<typename T >
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipChannelFormatDesc hipCreateChannelDesc (int x,
    int y,
    int z,
    int w,
    hipChannelFormatKind f 
    )
    +
    + +

    Returns a channel descriptor using the specified format.

    +
    Parameters
    + + + + + + +
    [in]xX component
    [in]yY component
    [in]zZ component
    [in]wW component
    [in]fChannel format
    +
    +
    +
    Returns
    Channel descriptor with format f
    + +
    + diff --git a/docs/RuntimeAPI/html/hcc_8h_source.html b/docs/RuntimeAPI/html/hcc_8h_source.html index 535cb34406..f2c6a81868 100644 --- a/docs/RuntimeAPI/html/hcc_8h_source.html +++ b/docs/RuntimeAPI/html/hcc_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -89,18 +89,40 @@
    hcc.h
    -
    1 #ifndef HCC_H
    -
    2 #define HCC_H
    -
    3 
    -
    4 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    -
    5 #include <hcc_detail/hcc_acc.h>
    -
    6 #endif
    -
    7 
    -
    8 #endif
    +
    1 /*
    +
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HCC_H
    +
    24 #define HCC_H
    +
    25 
    +
    26 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    +
    27 #include "hip/hcc_detail/hcc_acc.h"
    +
    28 #endif
    +
    29 
    +
    30 #endif
    diff --git a/docs/RuntimeAPI/html/hcc__acc_8h_source.html b/docs/RuntimeAPI/html/hcc__acc_8h_source.html index 258df9517f..a6e57701fe 100644 --- a/docs/RuntimeAPI/html/hcc__acc_8h_source.html +++ b/docs/RuntimeAPI/html/hcc__acc_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hcc_acc.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hcc_acc.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -89,27 +89,48 @@
    hcc_acc.h
    -
    1 #ifndef HCC_ACC_H
    -
    2 #define HCC_ACC_H
    -
    3 #include "hip/hip_runtime_api.h"
    -
    4 
    -
    5 #if __cplusplus
    -
    6 #ifdef __HCC__
    -
    7 #include <hc.hpp>
    -
    11 hipError_t hipHccGetAccelerator(int deviceId, hc::accelerator *acc);
    -
    12 
    -
    16 hipError_t hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av);
    -
    17 #endif
    -
    18 #endif
    -
    19 
    -
    20 #endif
    -
    hipError_t hipHccGetAccelerator(int deviceId, hc::accelerator *acc)
    Definition: hip_hcc.cpp:1630
    -
    hipError_t
    Definition: hip_runtime_api.h:144
    -
    hipError_t hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av)
    Definition: hip_hcc.cpp:1650
    +
    1 /*
    +
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HCC_ACC_H
    +
    24 #define HCC_ACC_H
    +
    25 #include "hip/hip_runtime_api.h"
    +
    26 
    +
    27 #if __cplusplus
    +
    28 #ifdef __HCC__
    +
    29 #include <hc.hpp>
    +
    34 hipError_t hipHccGetAccelerator(int deviceId, hc::accelerator *acc);
    +
    35 
    +
    42 hipError_t hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av);
    +
    43 #endif
    +
    44 #endif
    +
    45 
    +
    46 #endif
    +
    hipError_t
    Definition: hip_runtime_api.h:152
    +
    Definition: hip_hcc.h:397
    diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__complex_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__complex_8h_source.html new file mode 100644 index 0000000000..8d0cd3a914 --- /dev/null +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__complex_8h_source.html @@ -0,0 +1,276 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_complex.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    hip_complex.h
    +
    +
    +
    1 /*
    +
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HIPCOMPLEX_H
    +
    24 #define HIPCOMPLEX_H
    +
    25 
    +
    26 typedef struct{
    +
    27  float x;
    +
    28  float y;
    + +
    30 
    +
    31 __device__ static inline float hipCrealf(hipFloatComplex z){
    +
    32  return z.x;
    +
    33 }
    +
    34 
    +
    35 __device__ static inline float hipCimagf(hipFloatComplex z){
    +
    36  return z.y;
    +
    37 }
    +
    38 
    +
    39 __device__ static inline hipFloatComplex make_hipFloatComplex(float a, float b){
    + +
    41  z.x = a;
    +
    42  z.y = b;
    +
    43  return z;
    +
    44 }
    +
    45 
    +
    46 __device__ static inline hipFloatComplex hipConjf(hipFloatComplex z){
    +
    47  hipFloatComplex ret;
    +
    48  ret.x = z.x;
    +
    49  ret.y = -z.y;
    +
    50  return ret;
    +
    51 }
    +
    52 
    +
    53 __device__ static inline float hipCsqabsf(hipFloatComplex z){
    +
    54  return z.x * z.x + z.y * z.y;
    +
    55 }
    +
    56 
    +
    57 __device__ static inline hipFloatComplex hipCaddf(hipFloatComplex p, hipFloatComplex q){
    +
    58  return make_hipFloatComplex(p.x + q.x, p.y + q.y);
    +
    59 }
    +
    60 
    +
    61 __device__ static inline hipFloatComplex hipCsubf(hipFloatComplex p, hipFloatComplex q){
    +
    62  return make_hipFloatComplex(p.x - q.x, p.y - q.y);
    +
    63 }
    +
    64 
    +
    65 __device__ static inline hipFloatComplex hipCmulf(hipFloatComplex p, hipFloatComplex q){
    +
    66  return make_hipFloatComplex(p.x * q.x - p.y * q.y, p.y * q.x + p.x * q.y);
    +
    67 }
    +
    68 
    +
    69 __device__ static inline hipFloatComplex hipCdivf(hipFloatComplex p, hipFloatComplex q){
    +
    70  float sqabs = hipCsqabsf(q);
    +
    71  hipFloatComplex ret;
    +
    72  ret.x = (p.x * q.x + p.y * q.y)/sqabs;
    +
    73  ret.y = (p.y * q.x - p.x * q.y)/sqabs;
    +
    74  return ret;
    +
    75 }
    +
    76 
    +
    77 __device__ static inline float hipCabsf(hipFloatComplex z){
    +
    78  return sqrtf(hipCsqabsf(z));
    +
    79 }
    +
    80 
    +
    81 
    +
    82 typedef struct{
    +
    83  double x;
    +
    84  double y;
    + +
    86 
    +
    87 __device__ static inline double hipCreal(hipDoubleComplex z){
    +
    88  return z.x;
    +
    89 }
    +
    90 
    +
    91 __device__ static inline double hipCimag(hipDoubleComplex z){
    +
    92  return z.y;
    +
    93 }
    +
    94 
    +
    95 __device__ static inline hipDoubleComplex make_hipDoubleComplex(double a, double b){
    + +
    97  z.x = a;
    +
    98  z.y = b;
    +
    99  return z;
    +
    100 }
    +
    101 
    +
    102 __device__ static inline hipDoubleComplex hipConj(hipDoubleComplex z){
    +
    103  hipDoubleComplex ret;
    +
    104  ret.x = z.x;
    +
    105  ret.y = z.y;
    +
    106  return ret;
    +
    107 }
    +
    108 
    +
    109 __device__ static inline double hipCsqabs(hipDoubleComplex z){
    +
    110  return z.x * z.x + z.y * z.y;
    +
    111 }
    +
    112 
    +
    113 __device__ static inline hipDoubleComplex hipCadd(hipDoubleComplex p, hipDoubleComplex q){
    +
    114  return make_hipDoubleComplex(p.x + q.x, p.y + q.y);
    +
    115 }
    +
    116 
    +
    117 __device__ static inline hipDoubleComplex hipCsub(hipDoubleComplex p, hipDoubleComplex q){
    +
    118  return make_hipDoubleComplex(p.x - q.x, p.y - q.y);
    +
    119 }
    +
    120 
    +
    121 __device__ static inline hipDoubleComplex hipCmul(hipDoubleComplex p, hipDoubleComplex q){
    +
    122  return make_hipDoubleComplex(p.x * q.x - p.y * q.y, p.y * q.x + p.x * q.y);
    +
    123 }
    +
    124 
    +
    125 __device__ static inline hipDoubleComplex hipCdiv(hipDoubleComplex p, hipDoubleComplex q){
    +
    126  double sqabs = hipCsqabs(q);
    +
    127  hipDoubleComplex ret;
    +
    128  ret.x = (p.x * q.x + p.y * q.y)/sqabs;
    +
    129  ret.y = (p.y * q.x - p.x * q.y)/sqabs;
    +
    130  return ret;
    +
    131 }
    +
    132 
    +
    133 __device__ static inline double hipCabs(hipDoubleComplex z){
    +
    134  return sqrtf(hipCsqabs(z));
    +
    135 }
    +
    136 
    + +
    138 
    +
    139 __device__ static inline hipComplex make_hipComplex(float x,
    +
    140  float y){
    +
    141  return make_hipFloatComplex(x, y);
    +
    142 }
    +
    143 
    +
    144 __device__ static inline hipFloatComplex hipComplexDoubleToFloat
    +
    145 (hipDoubleComplex z){
    +
    146  return make_hipFloatComplex((float)z.x, (float)z.y);
    +
    147 }
    +
    148 
    +
    149 __device__ static inline hipDoubleComplex hipComplexFloatToDouble
    +
    150 (hipFloatComplex z){
    +
    151  return make_hipDoubleComplex((double)z.x, (double)z.y);
    +
    152 }
    +
    153 
    +
    154 __device__ static inline hipComplex hipCfmaf(hipComplex p, hipComplex q, hipComplex r){
    +
    155  float real = (p.x * q.x) + r.x;
    +
    156  float imag = (q.x * p.y) + r.y;
    +
    157 
    +
    158  real = -(p.y * q.y) + real;
    +
    159  imag = (p.x * q.y) + imag;
    +
    160 
    +
    161  return make_hipComplex(real, imag);
    +
    162 }
    +
    163 
    +
    164 __device__ static inline hipDoubleComplex hipCfma(hipDoubleComplex p, hipDoubleComplex q, hipDoubleComplex r){
    +
    165  float real = (p.x * q.x) + r.x;
    +
    166  float imag = (q.x * p.y) + r.y;
    +
    167 
    +
    168  real = -(p.y * q.y) + real;
    +
    169  imag = (p.x * q.y) + imag;
    +
    170 
    +
    171  return make_hipDoubleComplex(real, imag);
    +
    172 }
    +
    173 
    +
    174 #endif
    +
    Definition: hip_complex.h:26
    +
    Definition: hip_complex.h:82
    +
    + + + + diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__fp16_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__fp16_8h_source.html index 598d744374..e8a9fd6d29 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__fp16_8h_source.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__fp16_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_fp16.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_fp16.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -91,192 +91,186 @@
    1 /*
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    -
    3 Permission is hereby granted, free of charge, to any person obtaining a copy
    -
    4 of this software and associated documentation files (the "Software"), to deal
    -
    5 in the Software without restriction, including without limitation the rights
    -
    6 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -
    7 copies of the Software, and to permit persons to whom the Software is
    -
    8 furnished to do so, subject to the following conditions:
    -
    9 The above copyright notice and this permission notice shall be included in
    -
    10 all copies or substantial portions of the Software.
    -
    11 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
    -
    12 IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -
    13 FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -
    14 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
    -
    15 LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -
    16 OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -
    17 THE SOFTWARE.
    -
    18 */
    -
    19 
    -
    20 #ifndef HIP_FP16_H
    -
    21 #define HIP_FP16_H
    -
    22 
    -
    23 #include "hip_runtime.h"
    -
    24 
    -
    25 typedef struct{
    -
    26  unsigned x: 16;
    -
    27 } __half;
    -
    28 
    -
    29 
    -
    30 typedef struct __attribute__((aligned(4))){
    -
    31  __half p,q;
    -
    32 } __half2;
    -
    33 
    -
    34 typedef __half half;
    -
    35 typedef __half2 half2;
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HIP_FP16_H
    +
    24 #define HIP_FP16_H
    +
    25 
    +
    26 #include "hip/hip_runtime.h"
    +
    27 
    +
    28 typedef struct{
    +
    29  unsigned x: 16;
    +
    30 } __half;
    +
    31 
    +
    32 
    +
    33 typedef struct __attribute__((aligned(4))){
    +
    34  __half p,q;
    +
    35 } __half2;
    36 
    -
    37 typedef struct{
    -
    38  union{
    -
    39  float f;
    -
    40  unsigned u;
    -
    41  };
    -
    42 } struct_float;
    +
    37 typedef __half half;
    +
    38 typedef __half2 half2;
    +
    39 
    +
    40 /*
    +
    41 Arithmetic functions
    +
    42 */
    43 
    -
    44 /*
    -
    45 Arithmetic functions
    -
    46 */
    +
    44 __device__ __half __hadd(const __half a, const __half b);
    +
    45 
    +
    46 __device__ __half __hadd_sat(const __half a, const __half b);
    47 
    -
    48 __device__ __half __hadd(const __half a, const __half b);
    +
    48 __device__ __half __hfma(const __half a, const __half b, const __half c);
    49 
    -
    50 __device__ __half __hadd_sat(const __half a, const __half b);
    +
    50 __device__ __half __hfma_sat(const __half a, const __half b, const __half c);
    51 
    -
    52 __device__ __half __hfma(const __half a, const __half b, const __half c);
    +
    52 __device__ __half __hmul(const __half a, const __half b);
    53 
    -
    54 __device__ __half __hfma_sat(const __half a, const __half b, const __half c);
    +
    54 __device__ __half __hmul_sat(const __half a, const __half b);
    55 
    -
    56 __device__ __half __hmul(const __half a, const __half b);
    +
    56 __device__ __half __hneq(const __half a);
    57 
    -
    58 __device__ __half __hmul_sat(const __half a, const __half b);
    +
    58 __device__ __half __hsub(const __half a, const __half b);
    59 
    -
    60 __device__ __half __hneq(const __half a);
    +
    60 __device__ __half __hsub_sat(const __half a, const __half b);
    61 
    -
    62 __device__ __half __hsub(const __half a, const __half b);
    +
    62 
    63 
    -
    64 __device__ __half __hsub_sat(const __half a, const __half b);
    -
    65 
    -
    66 
    +
    64 /*
    +
    65 Half2 Arithmetic Instructions
    +
    66 */
    67 
    -
    68 /*
    -
    69 Half2 Arithmetic Instructions
    -
    70 */
    +
    68 __device__ __half2 __hadd2(const __half2 a, const __half2 b);
    +
    69 
    +
    70 __device__ __half2 __hadd2_sat(const __half2 a, const __half2 b);
    71 
    -
    72 __device__ __half2 __hadd2(const __half2 a, const __half2 b);
    +
    72 __device__ __half2 __hfma2(const __half2 a, const __half2 b, const __half2 c);
    73 
    -
    74 __device__ __half2 __hadd2_sat(const __half2 a, const __half2 b);
    +
    74 __device__ __half2 __hfma2_sat(const __half2 a, const __half2 b, const __half2 c);
    75 
    -
    76 __device__ __half2 __hfma2(const __half2 a, const __half2 b, const __half2 c);
    +
    76 __device__ __half2 __hmul2(const __half2 a, const __half2 b);
    77 
    -
    78 __device__ __half2 __hfma2_sat(const __half2 a, const __half2 b, const __half2 c);
    +
    78 __device__ __half2 __hmul2_sat(const __half2 a, const __half2 b);
    79 
    -
    80 __device__ __half2 __hmul2(const __half2 a, const __half2 b);
    +
    80 __device__ __half2 __hneq2(const __half2 a);
    81 
    -
    82 __device__ __half2 __hmul2_sat(const __half2 a, const __half2 b);
    +
    82 __device__ __half2 __hsub2(const __half2 a, const __half2 b);
    83 
    -
    84 __device__ __half2 __hneq2(const __half2 a);
    +
    84 __device__ __half2 __hsub2_sat(const __half2 a, const __half2 b);
    85 
    -
    86 __device__ __half2 __hsub2(const __half2 a, const __half2 b);
    -
    87 
    -
    88 __device__ __half2 __hsub2_sat(const __half2 a, const __half2 b);
    +
    86 /*
    +
    87 Half Cmps
    +
    88 */
    89 
    -
    90 /*
    -
    91 Half Cmps
    -
    92 */
    +
    90 __device__ bool __heq(const __half a, const __half b);
    +
    91 
    +
    92 __device__ bool __hge(const __half a, const __half b);
    93 
    -
    94 __device__ bool __heq(const __half a, const __half b);
    +
    94 __device__ bool __hgt(const __half a, const __half b);
    95 
    -
    96 __device__ bool __hge(const __half a, const __half b);
    +
    96 __device__ bool __hisinf(const __half a);
    97 
    -
    98 __device__ bool __hgt(const __half a, const __half b);
    +
    98 __device__ bool __hisnan(const __half a);
    99 
    -
    100 __device__ bool __hisinf(const __half a);
    +
    100 __device__ bool __hle(const __half a, const __half b);
    101 
    -
    102 __device__ bool __hisnan(const __half a);
    +
    102 __device__ bool __hlt(const __half a, const __half b);
    103 
    -
    104 __device__ bool __hle(const __half a, const __half b);
    +
    104 __device__ bool __hne(const __half a, const __half b);
    105 
    -
    106 __device__ bool __hlt(const __half a, const __half b);
    -
    107 
    -
    108 __device__ bool __hne(const __half a, const __half b);
    +
    106 /*
    +
    107 Half2 Cmps
    +
    108 */
    109 
    -
    110 /*
    -
    111 Half2 Cmps
    -
    112 */
    +
    110 __device__ bool __hbeq2(const __half2 a, const __half2 b);
    +
    111 
    +
    112 __device__ bool __hbge2(const __half2 a, const __half2 b);
    113 
    -
    114 __device__ bool __hbeq2(const __half2 a, const __half2 b);
    +
    114 __device__ bool __hbgt2(const __half2 a, const __half2 b);
    115 
    -
    116 __device__ bool __hbge2(const __half2 a, const __half2 b);
    +
    116 __device__ bool __hble2(const __half2 a, const __half2 b);
    117 
    -
    118 __device__ bool __hbgt2(const __half2 a, const __half2 b);
    +
    118 __device__ bool __hblt2(const __half2 a, const __half2 b);
    119 
    -
    120 __device__ bool __hble2(const __half2 a, const __half2 b);
    +
    120 __device__ bool __hbne2(const __half2 a, const __half2 b);
    121 
    -
    122 __device__ bool __hblt2(const __half2 a, const __half2 b);
    +
    122 __device__ __half2 __heq2(const __half2 a, const __half2 b);
    123 
    -
    124 __device__ bool __hbne2(const __half2 a, const __half2 b);
    +
    124 __device__ __half2 __hge2(const __half2 a, const __half2 b);
    125 
    -
    126 __device__ __half2 __heq2(const __half2 a, const __half2 b);
    +
    126 __device__ __half2 __hgt2(const __half2 a, const __half2 b);
    127 
    -
    128 __device__ __half2 __hge2(const __half2 a, const __half2 b);
    +
    128 __device__ __half2 __hisnan2(const __half2 a);
    129 
    -
    130 __device__ __half2 __hgt2(const __half2 a, const __half2 b);
    +
    130 __device__ __half2 __hle2(const __half2 a, const __half2 b);
    131 
    -
    132 __device__ __half2 __hisnan2(const __half2 a);
    +
    132 __device__ __half2 __hlt2(const __half2 a, const __half2 b);
    133 
    -
    134 __device__ __half2 __hle2(const __half2 a, const __half2 b);
    +
    134 __device__ __half2 __hne2(const __half2 a, const __half2 b);
    135 
    -
    136 __device__ __half2 __hlt2(const __half2 a, const __half2 b);
    -
    137 
    -
    138 __device__ __half2 __hne2(const __half2 a, const __half2 b);
    -
    139 
    +
    136 
    +
    137 /*
    +
    138 Half Cnvs and Data Mvmnt
    +
    139 */
    140 
    -
    141 /*
    -
    142 Half Cnvs and Data Mvmnt
    -
    143 */
    +
    141 __device__ __half2 __float22half2_rn(const float2 a);
    +
    142 
    +
    143 __device__ __half __float2half(const float a);
    144 
    -
    145 __device__ __half2 __float22half2_rn(const float2 a);
    +
    145 __device__ __half2 __float2half2_rn(const float a);
    146 
    -
    147 __device__ __half __float2half(const float a);
    +
    147 __device__ __half2 __floats2half2_rn(const float a, const float b);
    148 
    -
    149 __device__ __half2 __float2half2_rn(const float a);
    +
    149 __device__ float2 __half22float2(const __half2 a);
    150 
    -
    151 __device__ __half2 __floats2half2_rn(const float a, const float b);
    +
    151 __device__ float __half2float(const __half a);
    152 
    -
    153 __device__ float2 __half22float2(const __half2 a);
    +
    153 __device__ __half2 __half2half2(const __half a);
    154 
    -
    155 __device__ float __half2float(const __half a);
    +
    155 __device__ __half2 __halves2half2(const __half a, const __half b);
    156 
    -
    157 __device__ __half2 __half2half2(const __half a);
    +
    157 __device__ float __high2float(const __half2 a);
    158 
    -
    159 __device__ __half2 __halves2half2(const __half a, const __half b);
    +
    159 __device__ __half __high2half(const __half2 a);
    160 
    -
    161 __device__ float __high2float(const __half2 a);
    +
    161 __device__ __half2 __high2half2(const __half2 a);
    162 
    -
    163 __device__ __half __high2half(const __half2 a);
    +
    163 __device__ __half2 __highs2half2(const __half2 a, const __half2 b);
    164 
    -
    165 __device__ __half2 __high2half2(const __half2 a);
    +
    165 __device__ float __low2float(const __half2 a);
    166 
    -
    167 __device__ __half2 __highs2half2(const __half2 a, const __half2 b);
    +
    167 __device__ __half __low2half(const __half2 a);
    168 
    -
    169 __device__ float __low2float(const __half2 a);
    +
    169 __device__ __half2 __low2half2(const __half2 a);
    170 
    -
    171 __device__ __half __low2half(const __half2 a);
    +
    171 __device__ __half2 __lows2half2(const __half2 a, const __half2 b);
    172 
    -
    173 __device__ __half2 __low2half2(const __half2 a);
    +
    173 __device__ __half2 __lowhigh2highlow(const __half2 a);
    174 
    -
    175 __device__ __half2 __lows2half2(const __half2 a, const __half2 b);
    +
    175 __device__ __half2 __low2half2(const __half2 a, const __half2 b);
    176 
    -
    177 __device__ __half2 __lowhigh2highlow(const __half2 a);
    -
    178 
    -
    179 __device__ __half2 __low2half2(const __half2 a, const __half2 b);
    -
    180 
    -
    181 #endif
    -
    Definition: hip_fp16.h:25
    -
    Contains definitions of APIs for HIP runtime.
    -
    Definition: hip_fp16.h:37
    +
    177 #endif
    +
    Definition: hip_fp16.h:28
    diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html index 33a73fc72a..b2647449e0 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_runtime.h File Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_runtime.h File Reference @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -96,12 +96,12 @@

    Contains definitions of APIs for HIP runtime. More...

    -
    #include <cmath>
    +
    #include <math.h>
    #include <string.h>
    #include <stddef.h>
    #include <hip/hip_runtime_api.h>
    #include <grid_launch.h>
    -#include <hip/hcc_detail/host_defines.h>
    +#include <hip/hcc_detail/host_defines.h>

    Go to the source code of this file.

    @@ -113,9 +113,15 @@ - - + + + + + + @@ -125,7 +131,8 @@ - + @@ -166,8 +173,14 @@ + + + +
    #define CUDA_SUCCESS   hipSuccess
     
    -#define USE_GRID_LAUNCH_20   0
     
    +#define HIP_LAUNCH_PARAM_BUFFER_POINTER   ((void*) 0x01)
     
    +#define HIP_LAUNCH_PARAM_BUFFER_SIZE   ((void*) 0x02)
     
    +#define HIP_LAUNCH_PARAM_END   ((void*) 0x03)
     
    #define hipLaunchParm   grid_launch_parm
     
    #define clock_t   long long int
     
    #define hipThreadIdx_x   (hc_get_workitem_id(0))
    +#define hipThreadIdx_x   (hc_get_workitem_id(0))
     
    #define hipThreadIdx_y   (hc_get_workitem_id(1))
    #define HIP_KERNEL_NAME(...)   __VA_ARGS__
     
    +#define HIP_SYMBOL(X)   #X
     
    #define HIP_DYNAMIC_SHARED(type, var)
     
    +#define HIP_DYNAMIC_SHARED_ATTRIBUTE   __attribute__((address_space(3)))
     
    @@ -795,6 +808,12 @@ + + + + @@ -927,6 +946,21 @@ + + + + + + + + + + + + +

    Functions

    __device__ unsigned int atomicDec (unsigned int *address, unsigned int val)
     
    +__device__ int __mul24 (int arg1, int arg2)
     
    +__device__ unsigned int __umul24 (unsigned int arg1, unsigned int arg2)
     
    __device__ unsigned int __popc (unsigned int input)
     
    __device__ float __dsqrt_rz (double x)
     
    __device__ void __threadfence_block (void)
     threadfence_block makes writes visible to threads running in same block. More...
     
    __device__ void __threadfence (void)
     threadfence makes wirtes visible to other threads running on same GPU. More...
     
    __device__ void __threadfence_system (void) __attribute__((deprecated("Provided for compile-time compatibility
     threadfence_system makes writes to pinned system memory visible on host CPU. More...
     
    +__device__ void * __hip_hc_malloc (size_t)
     
    +__device__ void * __hip_hc_free (void *ptr)
     
    @@ -936,6 +970,9 @@ + +

    Variables

    const int warpSize
     
    +__device__ void not yet functional
     

    Detailed Description

    Contains definitions of APIs for HIP runtime.

    @@ -967,25 +1004,12 @@
    (__attribute__((address_space(3))) type*)__get_dynamicgroupbaseptr(); \

    extern shared

    -
    -
    - -
    -
    - - - - -
    #define hipThreadIdx_x   (hc_get_workitem_id(0))
    -
    -

    Kernel launching

    -
    diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html index ba509fca2f..2b7e66b3d1 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_runtime.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_runtime.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -110,562 +110,603 @@
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    20 THE SOFTWARE.
    21 */
    -
    27 //#pragma once
    -
    28 #ifndef HIP_RUNTIME_H
    -
    29 #define HIP_RUNTIME_H
    -
    30 
    -
    31 //---
    -
    32 // Top part of file can be compiled with any compiler
    -
    33 
    +
    22 
    +
    28 //#pragma once
    +
    29 #ifndef HIP_RUNTIME_H
    +
    30 #define HIP_RUNTIME_H
    +
    31 
    +
    32 //---
    +
    33 // Top part of file can be compiled with any compiler
    34 
    -
    35 //#include <cstring>
    -
    36 #include <cmath>
    -
    37 #include <string.h>
    -
    38 #include <stddef.h>
    -
    39 
    -
    40 // Define NVCC_COMPAT for CUDA compatibility
    -
    41 #define NVCC_COMPAT
    -
    42 #define CUDA_SUCCESS hipSuccess
    -
    43 
    -
    44 #include <hip/hip_runtime_api.h>
    -
    45 //#include "hip/hcc_detail/hip_hcc.h"
    -
    46 //---
    -
    47 // Remainder of this file only compiles with HCC
    -
    48 #ifdef __HCC__
    -
    49 #include <grid_launch.h>
    -
    50 
    -
    51 #if defined (GRID_LAUNCH_VERSION) and (GRID_LAUNCH_VERSION >= 20)
    -
    52 // Use field names for grid_launch 2.0 structure, if HCC supports GL 2.0.
    -
    53 #define USE_GRID_LAUNCH_20 1
    -
    54 #else
    -
    55 #define USE_GRID_LAUNCH_20 0
    -
    56 #endif
    -
    57 
    -
    58 
    -
    59 
    -
    60 extern int HIP_TRACE_API;
    -
    61 
    -
    62 //TODO-HCC-GL - change this to typedef.
    -
    63 //typedef grid_launch_parm hipLaunchParm ;
    -
    64 #define hipLaunchParm grid_launch_parm
    -
    65 #ifdef __cplusplus
    -
    66 #include <hip/hcc_detail/hip_texture.h>
    -
    67 #include <hip/hcc_detail/hip_ldg.h>
    -
    68 #endif
    -
    69 #include <hip/hcc_detail/host_defines.h>
    -
    70 // TODO-HCC remove old definitions ; ~1602 hcc supports __HCC_ACCELERATOR__ define.
    -
    71 #if defined (__KALMAR_ACCELERATOR__) && !defined (__HCC_ACCELERATOR__)
    -
    72 #define __HCC_ACCELERATOR__ __KALMAR_ACCELERATOR__
    -
    73 #endif
    -
    74 
    -
    75 // Feature tests:
    -
    76 #if defined(__HCC_ACCELERATOR__) && (__HCC_ACCELERATOR__ != 0)
    -
    77 // Device compile and not host compile:
    -
    78 
    -
    79 //TODO-HCC enable __HIP_ARCH_HAS_ATOMICS__ when HCC supports these.
    -
    80  // 32-bit Atomics:
    -
    81 #define __HIP_ARCH_HAS_GLOBAL_INT32_ATOMICS__ (1)
    -
    82 #define __HIP_ARCH_HAS_GLOBAL_FLOAT_ATOMIC_EXCH__ (1)
    -
    83 #define __HIP_ARCH_HAS_SHARED_INT32_ATOMICS__ (1)
    -
    84 #define __HIP_ARCH_HAS_SHARED_FLOAT_ATOMIC_EXCH__ (1)
    -
    85 #define __HIP_ARCH_HAS_FLOAT_ATOMIC_ADD__ (0)
    -
    86 
    -
    87 // 64-bit Atomics:
    -
    88 #define __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__ (1)
    -
    89 #define __HIP_ARCH_HAS_SHARED_INT64_ATOMICS__ (0)
    -
    90 
    -
    91 // Doubles
    -
    92 #define __HIP_ARCH_HAS_DOUBLES__ (1)
    -
    93 
    -
    94 //warp cross-lane operations:
    -
    95 #define __HIP_ARCH_HAS_WARP_VOTE__ (1)
    -
    96 #define __HIP_ARCH_HAS_WARP_BALLOT__ (1)
    -
    97 #define __HIP_ARCH_HAS_WARP_SHUFFLE__ (1)
    -
    98 #define __HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ (0)
    -
    99 
    -
    100 //sync
    -
    101 #define __HIP_ARCH_HAS_THREAD_FENCE_SYSTEM__ (0)
    -
    102 #define __HIP_ARCH_HAS_SYNC_THREAD_EXT__ (0)
    -
    103 
    -
    104 // misc
    -
    105 #define __HIP_ARCH_HAS_SURFACE_FUNCS__ (0)
    -
    106 #define __HIP_ARCH_HAS_3DGRID__ (1)
    -
    107 #define __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ (0)
    +
    35 
    +
    36 //#include <cstring>
    +
    37 #if __cplusplus
    +
    38 #include <cmath>
    +
    39 #else
    +
    40 #include <math.h>
    +
    41 #include <string.h>
    +
    42 #include <stddef.h>
    +
    43 #endif
    +
    44 // Define NVCC_COMPAT for CUDA compatibility
    +
    45 #define NVCC_COMPAT
    +
    46 #define CUDA_SUCCESS hipSuccess
    +
    47 
    +
    48 #include <hip/hip_runtime_api.h>
    +
    49 //#include "hip/hcc_detail/hip_hcc.h"
    +
    50 //---
    +
    51 // Remainder of this file only compiles with HCC
    +
    52 #ifdef __HCC__
    +
    53 #include <grid_launch.h>
    +
    54 
    +
    55 #if defined (GRID_LAUNCH_VERSION) and (GRID_LAUNCH_VERSION >= 20)
    +
    56 // Use field names for grid_launch 2.0 structure, if HCC supports GL 2.0.
    +
    57 #else
    +
    58 #error (HCC must support GRID_LAUNCH_20)
    +
    59 #endif
    +
    60 
    +
    61 #define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*) 0x01)
    +
    62 #define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*) 0x02)
    +
    63 #define HIP_LAUNCH_PARAM_END ((void*) 0x03)
    +
    64 
    +
    65 extern int HIP_TRACE_API;
    +
    66 
    +
    67 //TODO-HCC-GL - change this to typedef.
    +
    68 //typedef grid_launch_parm hipLaunchParm ;
    +
    69 #define hipLaunchParm grid_launch_parm
    +
    70 #ifdef __cplusplus
    + +
    72 #include <hip/hcc_detail/hip_ldg.h>
    +
    73 #endif
    + +
    75 // TODO-HCC remove old definitions ; ~1602 hcc supports __HCC_ACCELERATOR__ define.
    +
    76 #if defined (__KALMAR_ACCELERATOR__) && !defined (__HCC_ACCELERATOR__)
    +
    77 #define __HCC_ACCELERATOR__ __KALMAR_ACCELERATOR__
    +
    78 #endif
    +
    79 
    +
    80 // Feature tests:
    +
    81 #if defined(__HCC_ACCELERATOR__) && (__HCC_ACCELERATOR__ != 0)
    +
    82 // Device compile and not host compile:
    +
    83 
    +
    84 //TODO-HCC enable __HIP_ARCH_HAS_ATOMICS__ when HCC supports these.
    +
    85  // 32-bit Atomics:
    +
    86 #define __HIP_ARCH_HAS_GLOBAL_INT32_ATOMICS__ (1)
    +
    87 #define __HIP_ARCH_HAS_GLOBAL_FLOAT_ATOMIC_EXCH__ (1)
    +
    88 #define __HIP_ARCH_HAS_SHARED_INT32_ATOMICS__ (1)
    +
    89 #define __HIP_ARCH_HAS_SHARED_FLOAT_ATOMIC_EXCH__ (1)
    +
    90 #define __HIP_ARCH_HAS_FLOAT_ATOMIC_ADD__ (0)
    +
    91 
    +
    92 // 64-bit Atomics:
    +
    93 #define __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__ (1)
    +
    94 #define __HIP_ARCH_HAS_SHARED_INT64_ATOMICS__ (0)
    +
    95 
    +
    96 // Doubles
    +
    97 #define __HIP_ARCH_HAS_DOUBLES__ (1)
    +
    98 
    +
    99 //warp cross-lane operations:
    +
    100 #define __HIP_ARCH_HAS_WARP_VOTE__ (1)
    +
    101 #define __HIP_ARCH_HAS_WARP_BALLOT__ (1)
    +
    102 #define __HIP_ARCH_HAS_WARP_SHUFFLE__ (1)
    +
    103 #define __HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ (0)
    +
    104 
    +
    105 //sync
    +
    106 #define __HIP_ARCH_HAS_THREAD_FENCE_SYSTEM__ (0)
    +
    107 #define __HIP_ARCH_HAS_SYNC_THREAD_EXT__ (0)
    108 
    -
    109 #endif /* Device feature flags */
    -
    110 
    -
    111 
    -
    112 //TODO-HCC this is currently ignored by HCC target of HIP
    -
    113 #define __launch_bounds__(requiredMaxThreadsPerBlock, minBlocksPerMultiprocessor)
    -
    114 
    -
    115 // Detect if we are compiling C++ mode or C mode
    -
    116 #if defined(__cplusplus)
    -
    117 #define __HCC_CPP__
    -
    118 #elif defined(__STDC_VERSION__)
    -
    119 #define __HCC_C__
    -
    120 #endif
    -
    121 
    -
    122 __device__ float acosf(float x);
    -
    123 __device__ float acoshf(float x);
    -
    124 __device__ float asinf(float x);
    -
    125 __device__ float asinhf(float x);
    -
    126 __device__ float atan2f(float y, float x);
    -
    127 __device__ float atanf(float x);
    -
    128 __device__ float atanhf(float x);
    -
    129 __device__ float cbrtf(float x);
    -
    130 __device__ float ceilf(float x);
    -
    131 __device__ float copysignf(float x, float y);
    -
    132 __device__ float cosf(float x);
    -
    133 __device__ float coshf(float x);
    -
    134 __device__ float cyl_bessel_i0f(float x);
    -
    135 __device__ float cyl_bessel_i1f(float x);
    -
    136 __device__ float erfcf(float x);
    -
    137 __device__ float erfcinvf(float y);
    -
    138 __host__ float erfcinvf(float y);
    -
    139 __device__ float erfcxf(float x);
    -
    140 __host__ float erfcxf(float x);
    -
    141 __device__ float erff(float x);
    -
    142 __device__ float erfinvf(float y);
    -
    143 __host__ float erfinvf(float y);
    -
    144 __device__ float exp10f(float x);
    -
    145 __device__ float exp2f(float x);
    -
    146 __device__ float expf(float x);
    -
    147 __device__ float expm1f(float x);
    -
    148 __device__ float fabsf(float x);
    -
    149 __device__ float fdimf(float x, float y);
    -
    150 __device__ __host__ float fdividef(float x, float y);
    -
    151 __device__ float floorf(float x);
    -
    152 __device__ float fmaf(float x, float y, float z);
    -
    153 __device__ float fmaxf(float x, float y);
    -
    154 __device__ float fminf(float x, float y);
    -
    155 __device__ float fmodf(float x, float y);
    -
    156 __device__ float frexpf(float x, float y);
    -
    157 __device__ float hypotf(float x, float y);
    -
    158 __device__ float ilogbf(float x);
    -
    159 __host__ __device__ unsigned isfinite(float a);
    -
    160 __device__ unsigned isinf(float a);
    -
    161 __device__ unsigned isnan(float a);
    -
    162 __device__ float j0f(float x);
    -
    163 __device__ float j1f(float x);
    -
    164 __device__ float jnf(int n, float x);
    -
    165 __device__ float ldexpf(float x, int exp);
    -
    166 __device__ float lgammaf(float x);
    -
    167 __device__ long long int llrintf(float x);
    -
    168 __device__ long long int llroundf(float x);
    -
    169 __device__ float log10f(float x);
    -
    170 __device__ float log1pf(float x);
    -
    171 __device__ float log2f(float x);
    -
    172 __device__ float logbf(float x);
    -
    173 __device__ float logf(float x);
    -
    174 __device__ long int lrintf(float x);
    -
    175 __device__ long int lroundf(float x);
    -
    176 __device__ float modff(float x, float *iptr);
    -
    177 __device__ float nanf(const char* tagp);
    -
    178 __device__ float nearbyintf(float x);
    -
    179 __device__ float nextafterf(float x, float y);
    -
    180 __device__ float norm3df(float a, float b, float c);
    -
    181 __host__ float norm3df(float a, float b, float c);
    -
    182 __device__ float norm4df(float a, float b, float c, float d);
    -
    183 __host__ float norm4df(float a, float b, float c, float d);
    -
    184 __device__ float normcdff(float y);
    -
    185 __host__ float normcdff(float y);
    -
    186 __device__ float normcdfinvf(float y);
    -
    187 __host__ float normcdfinvf(float y);
    -
    188 __device__ float normf(int dim, const float *a);
    -
    189 __device__ float powf(float x, float y);
    -
    190 __device__ float rcbrtf(float x);
    -
    191 __host__ float rcbrtf(float x);
    -
    192 __device__ float remainderf(float x, float y);
    -
    193 __device__ float remquof(float x, float y, int *quo);
    -
    194 __device__ float rhypotf(float x, float y);
    -
    195 __host__ float rhypotf(float x, float y);
    -
    196 __device__ float rintf(float x);
    -
    197 __device__ float rnorm3df(float a, float b, float c);
    -
    198 __host__ float rnorm3df(float a, float b, float c);
    -
    199 __device__ float rnorm4df(float a, float b, float c, float d);
    -
    200 __host__ float rnorm4df(float a, float b, float c, float d);
    -
    201 __device__ float rnormf(int dim, const float* a);
    -
    202 __host__ float rnormf(int dim, const float* a);
    -
    203 __device__ float roundf(float x);
    -
    204 __device__ float rsqrtf(float x);
    -
    205 __device__ float scalblnf(float x, long int n);
    -
    206 __device__ float scalbnf(float x, int n);
    -
    207 __host__ __device__ unsigned signbit(float a);
    -
    208 __device__ void sincosf(float x, float *sptr, float *cptr);
    -
    209 __device__ void sincospif(float x, float *sptr, float *cptr);
    -
    210 __host__ void sincospif(float x, float *sptr, float *cptr);
    -
    211 __device__ float sinf(float x);
    -
    212 __device__ float sinhf(float x);
    -
    213 __device__ float sinpif(float x);
    -
    214 __device__ float sqrtf(float x);
    -
    215 __device__ float tanf(float x);
    -
    216 __device__ float tanhf(float x);
    -
    217 __device__ float tgammaf(float x);
    -
    218 __device__ float truncf(float x);
    -
    219 __device__ float y0f(float x);
    -
    220 __device__ float y1f(float x);
    -
    221 __device__ float ynf(int n, float x);
    -
    222 
    -
    223 __host__ __device__ float cospif(float x);
    -
    224 __host__ __device__ float sinpif(float x);
    -
    225 __device__ float sqrtf(float x);
    -
    226 __host__ __device__ float rsqrtf(float x);
    +
    109 // misc
    +
    110 #define __HIP_ARCH_HAS_SURFACE_FUNCS__ (0)
    +
    111 #define __HIP_ARCH_HAS_3DGRID__ (1)
    +
    112 #define __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ (0)
    +
    113 
    +
    114 #endif /* Device feature flags */
    +
    115 
    +
    116 
    +
    117 //TODO-HCC this is currently ignored by HCC target of HIP
    +
    118 #define __launch_bounds__(requiredMaxThreadsPerBlock, minBlocksPerMultiprocessor)
    +
    119 
    +
    120 // Detect if we are compiling C++ mode or C mode
    +
    121 #if defined(__cplusplus)
    +
    122 #define __HCC_CPP__
    +
    123 #elif defined(__STDC_VERSION__)
    +
    124 #define __HCC_C__
    +
    125 #endif
    +
    126 
    +
    127 __device__ float acosf(float x);
    +
    128 __device__ float acoshf(float x);
    +
    129 __device__ float asinf(float x);
    +
    130 __device__ float asinhf(float x);
    +
    131 __device__ float atan2f(float y, float x);
    +
    132 __device__ float atanf(float x);
    +
    133 __device__ float atanhf(float x);
    +
    134 __device__ float cbrtf(float x);
    +
    135 __device__ float ceilf(float x);
    +
    136 __device__ float copysignf(float x, float y);
    +
    137 __device__ float cosf(float x);
    +
    138 __device__ float coshf(float x);
    +
    139 __device__ float cyl_bessel_i0f(float x);
    +
    140 __device__ float cyl_bessel_i1f(float x);
    +
    141 __device__ float erfcf(float x);
    +
    142 __device__ float erfcinvf(float y);
    +
    143 __host__ float erfcinvf(float y);
    +
    144 __device__ float erfcxf(float x);
    +
    145 __host__ float erfcxf(float x);
    +
    146 __device__ float erff(float x);
    +
    147 __device__ float erfinvf(float y);
    +
    148 __host__ float erfinvf(float y);
    +
    149 __device__ float exp10f(float x);
    +
    150 __device__ float exp2f(float x);
    +
    151 __device__ float expf(float x);
    +
    152 __device__ float expm1f(float x);
    +
    153 __device__ float fabsf(float x);
    +
    154 __device__ float fdimf(float x, float y);
    +
    155 __device__ __host__ float fdividef(float x, float y);
    +
    156 __device__ float floorf(float x);
    +
    157 __device__ float fmaf(float x, float y, float z);
    +
    158 __device__ float fmaxf(float x, float y);
    +
    159 __device__ float fminf(float x, float y);
    +
    160 __device__ float fmodf(float x, float y);
    +
    161 __device__ float frexpf(float x, float y);
    +
    162 __device__ float hypotf(float x, float y);
    +
    163 __device__ float ilogbf(float x);
    +
    164 __host__ __device__ unsigned isfinite(float a);
    +
    165 __device__ unsigned isinf(float a);
    +
    166 __device__ unsigned isnan(float a);
    +
    167 __device__ float j0f(float x);
    +
    168 __device__ float j1f(float x);
    +
    169 __device__ float jnf(int n, float x);
    +
    170 __device__ float ldexpf(float x, int exp);
    +
    171 __device__ float lgammaf(float x);
    +
    172 __device__ long long int llrintf(float x);
    +
    173 __device__ long long int llroundf(float x);
    +
    174 __device__ float log10f(float x);
    +
    175 __device__ float log1pf(float x);
    +
    176 __device__ float log2f(float x);
    +
    177 __device__ float logbf(float x);
    +
    178 __device__ float logf(float x);
    +
    179 __device__ long int lrintf(float x);
    +
    180 __device__ long int lroundf(float x);
    +
    181 __device__ float modff(float x, float *iptr);
    +
    182 __device__ float nanf(const char* tagp);
    +
    183 __device__ float nearbyintf(float x);
    +
    184 __device__ float nextafterf(float x, float y);
    +
    185 __device__ float norm3df(float a, float b, float c);
    +
    186 __host__ float norm3df(float a, float b, float c);
    +
    187 __device__ float norm4df(float a, float b, float c, float d);
    +
    188 __host__ float norm4df(float a, float b, float c, float d);
    +
    189 __device__ float normcdff(float y);
    +
    190 __host__ float normcdff(float y);
    +
    191 __device__ float normcdfinvf(float y);
    +
    192 __host__ float normcdfinvf(float y);
    +
    193 __device__ float normf(int dim, const float *a);
    +
    194 __device__ float powf(float x, float y);
    +
    195 __device__ float rcbrtf(float x);
    +
    196 __host__ float rcbrtf(float x);
    +
    197 __device__ float remainderf(float x, float y);
    +
    198 __device__ float remquof(float x, float y, int *quo);
    +
    199 __device__ float rhypotf(float x, float y);
    +
    200 __host__ float rhypotf(float x, float y);
    +
    201 __device__ float rintf(float x);
    +
    202 __device__ float rnorm3df(float a, float b, float c);
    +
    203 __host__ float rnorm3df(float a, float b, float c);
    +
    204 __device__ float rnorm4df(float a, float b, float c, float d);
    +
    205 __host__ float rnorm4df(float a, float b, float c, float d);
    +
    206 __device__ float rnormf(int dim, const float* a);
    +
    207 __host__ float rnormf(int dim, const float* a);
    +
    208 __device__ float roundf(float x);
    +
    209 __device__ float rsqrtf(float x);
    +
    210 __device__ float scalblnf(float x, long int n);
    +
    211 __device__ float scalbnf(float x, int n);
    +
    212 __host__ __device__ unsigned signbit(float a);
    +
    213 __device__ void sincosf(float x, float *sptr, float *cptr);
    +
    214 __device__ void sincospif(float x, float *sptr, float *cptr);
    +
    215 __host__ void sincospif(float x, float *sptr, float *cptr);
    +
    216 __device__ float sinf(float x);
    +
    217 __device__ float sinhf(float x);
    +
    218 __device__ float sinpif(float x);
    +
    219 __device__ float sqrtf(float x);
    +
    220 __device__ float tanf(float x);
    +
    221 __device__ float tanhf(float x);
    +
    222 __device__ float tgammaf(float x);
    +
    223 __device__ float truncf(float x);
    +
    224 __device__ float y0f(float x);
    +
    225 __device__ float y1f(float x);
    +
    226 __device__ float ynf(int n, float x);
    227 
    -
    228 __device__ double acos(double x);
    -
    229 __device__ double acosh(double x);
    -
    230 __device__ double asin(double x);
    -
    231 __device__ double asinh(double x);
    -
    232 __device__ double atan(double x);
    -
    233 __device__ double atan2(double y, double x);
    -
    234 __device__ double atanh(double x);
    -
    235 __device__ double cbrt(double x);
    -
    236 __device__ double ceil(double x);
    -
    237 __device__ double copysign(double x, double y);
    -
    238 __device__ double cos(double x);
    -
    239 __device__ double cosh(double x);
    -
    240 __host__ __device__ double cospi(double x);
    -
    241 __device__ double cyl_bessel_i0(double x);
    -
    242 __device__ double cyl_bessel_i1(double x);
    -
    243 __device__ double erf(double x);
    -
    244 __device__ double erfc(double x);
    -
    245 __device__ double erfcinv(double y);
    -
    246 __device__ double erfcx(double x);
    -
    247 __device__ double erfinv(double x);
    -
    248 __device__ double exp(double x);
    -
    249 __device__ double exp10(double x);
    -
    250 __device__ double exp2(double x);
    -
    251 __device__ double expm1(double x);
    -
    252 __device__ double fabs(double x);
    -
    253 __device__ double fdim(double x, double y);
    -
    254 __device__ double fdivide(double x, double y);
    -
    255 __device__ double floor(double x);
    -
    256 __device__ double fma(double x, double y, double z);
    -
    257 __device__ double fmax(double x, double y);
    -
    258 __device__ double fmin(double x, double y);
    -
    259 __device__ double fmod(double x, double y);
    -
    260 __device__ double frexp(double x, int *nptr);
    -
    261 __device__ double hypot(double x, double y);
    -
    262 __device__ double ilogb(double x);
    -
    263 __host__ __device__ unsigned isfinite(double x);
    -
    264 __device__ unsigned isinf(double x);
    -
    265 __device__ unsigned isnan(double x);
    -
    266 __device__ double j0(double x);
    -
    267 __device__ double j1(double x);
    -
    268 __device__ double jn(int n, double x);
    -
    269 __device__ double ldexp(double x, int exp);
    -
    270 __device__ double lgamma(double x);
    -
    271 __device__ long long llrint(double x);
    -
    272 __device__ long long llround(double x);
    -
    273 __device__ double log(double x);
    -
    274 __device__ double log10(double x);
    -
    275 __device__ double log1p(double x);
    -
    276 __device__ double log2(double x);
    -
    277 __device__ double logb(double x);
    -
    278 __device__ long int lrint(double x);
    -
    279 __device__ long int lround(double x);
    -
    280 __device__ double modf(double x, double *iptr);
    -
    281 __device__ double nan(const char* tagp);
    -
    282 __device__ double nearbyint(double x);
    -
    283 __device__ double nextafter(double x, double y);
    -
    284 __device__ double norm(int dim, const double* t);
    -
    285 __device__ double norm3d(double a, double b, double c);
    -
    286 __host__ double norm3d(double a, double b, double c);
    -
    287 __device__ double norm4d(double a, double b, double c, double d);
    -
    288 __host__ double norm4d(double a, double b, double c, double d);
    -
    289 __device__ double normcdf(double y);
    -
    290 __host__ double normcdf(double y);
    -
    291 __device__ double normcdfinv(double y);
    -
    292 __host__ double normcdfinv(double y);
    -
    293 __device__ double pow(double x, double y);
    -
    294 __device__ double rcbrt(double x);
    -
    295 __host__ double rcbrt(double x);
    -
    296 __device__ double remainder(double x, double y);
    -
    297 __device__ double remquo(double x, double y, int *quo);
    -
    298 __device__ double rhypot(double x, double y);
    -
    299 __host__ double rhypot(double x, double y);
    -
    300 __device__ double rint(double x);
    -
    301 __device__ double rnorm(int dim, const double* t);
    -
    302 __host__ double rnorm(int dim, const double* t);
    -
    303 __device__ double rnorm3d(double a, double b, double c);
    -
    304 __host__ double rnorm3d(double a, double b, double c);
    -
    305 __device__ double rnorm4d(double a, double b, double c, double d);
    -
    306 __host__ double rnorm4d(double a, double b, double c, double d);
    -
    307 __device__ double round(double x);
    -
    308 __host__ __device__ double rsqrt(double x);
    -
    309 __device__ double scalbln(double x, long int n);
    -
    310 __device__ double scalbn(double x, int n);
    -
    311 __host__ __device__ unsigned signbit(double a);
    -
    312 __device__ double sin(double a);
    -
    313 __device__ void sincos(double x, double *sptr, double *cptr);
    -
    314 __device__ void sincospi(double x, double *sptr, double *cptr);
    -
    315 __host__ void sincospi(double x, double *sptr, double *cptr);
    -
    316 __device__ double sinh(double x);
    -
    317 __host__ __device__ double sinpi(double x);
    -
    318 __device__ double sqrt(double x);
    -
    319 __device__ double tan(double x);
    -
    320 __device__ double tanh(double x);
    -
    321 __device__ double tgamma(double x);
    -
    322 __device__ double trunc(double x);
    -
    323 __device__ double y0(double x);
    -
    324 __device__ double y1(double y);
    -
    325 __device__ double yn(int n, double x);
    -
    326 
    -
    327 __host__ double erfcinv(double y);
    -
    328 __host__ double erfcx(double x);
    -
    329 __host__ double erfinv(double y);
    -
    330 __host__ double fdivide(double x, double y);
    +
    228 __host__ __device__ float cospif(float x);
    +
    229 __host__ __device__ float sinpif(float x);
    +
    230 __device__ float sqrtf(float x);
    +
    231 __host__ __device__ float rsqrtf(float x);
    +
    232 
    +
    233 __device__ double acos(double x);
    +
    234 __device__ double acosh(double x);
    +
    235 __device__ double asin(double x);
    +
    236 __device__ double asinh(double x);
    +
    237 __device__ double atan(double x);
    +
    238 __device__ double atan2(double y, double x);
    +
    239 __device__ double atanh(double x);
    +
    240 __device__ double cbrt(double x);
    +
    241 __device__ double ceil(double x);
    +
    242 __device__ double copysign(double x, double y);
    +
    243 __device__ double cos(double x);
    +
    244 __device__ double cosh(double x);
    +
    245 __host__ __device__ double cospi(double x);
    +
    246 __device__ double cyl_bessel_i0(double x);
    +
    247 __device__ double cyl_bessel_i1(double x);
    +
    248 __device__ double erf(double x);
    +
    249 __device__ double erfc(double x);
    +
    250 __device__ double erfcinv(double y);
    +
    251 __device__ double erfcx(double x);
    +
    252 __device__ double erfinv(double x);
    +
    253 __device__ double exp(double x);
    +
    254 __device__ double exp10(double x);
    +
    255 __device__ double exp2(double x);
    +
    256 __device__ double expm1(double x);
    +
    257 __device__ double fabs(double x);
    +
    258 __device__ double fdim(double x, double y);
    +
    259 __device__ double fdivide(double x, double y);
    +
    260 __device__ double floor(double x);
    +
    261 __device__ double fma(double x, double y, double z);
    +
    262 __device__ double fmax(double x, double y);
    +
    263 __device__ double fmin(double x, double y);
    +
    264 __device__ double fmod(double x, double y);
    +
    265 __device__ double frexp(double x, int *nptr);
    +
    266 __device__ double hypot(double x, double y);
    +
    267 __device__ double ilogb(double x);
    +
    268 __host__ __device__ unsigned isfinite(double x);
    +
    269 __device__ unsigned isinf(double x);
    +
    270 __device__ unsigned isnan(double x);
    +
    271 __device__ double j0(double x);
    +
    272 __device__ double j1(double x);
    +
    273 __device__ double jn(int n, double x);
    +
    274 __device__ double ldexp(double x, int exp);
    +
    275 __device__ double lgamma(double x);
    +
    276 __device__ long long llrint(double x);
    +
    277 __device__ long long llround(double x);
    +
    278 __device__ double log(double x);
    +
    279 __device__ double log10(double x);
    +
    280 __device__ double log1p(double x);
    +
    281 __device__ double log2(double x);
    +
    282 __device__ double logb(double x);
    +
    283 __device__ long int lrint(double x);
    +
    284 __device__ long int lround(double x);
    +
    285 __device__ double modf(double x, double *iptr);
    +
    286 __device__ double nan(const char* tagp);
    +
    287 __device__ double nearbyint(double x);
    +
    288 __device__ double nextafter(double x, double y);
    +
    289 __device__ double norm(int dim, const double* t);
    +
    290 __device__ double norm3d(double a, double b, double c);
    +
    291 __host__ double norm3d(double a, double b, double c);
    +
    292 __device__ double norm4d(double a, double b, double c, double d);
    +
    293 __host__ double norm4d(double a, double b, double c, double d);
    +
    294 __device__ double normcdf(double y);
    +
    295 __host__ double normcdf(double y);
    +
    296 __device__ double normcdfinv(double y);
    +
    297 __host__ double normcdfinv(double y);
    +
    298 __device__ double pow(double x, double y);
    +
    299 __device__ double rcbrt(double x);
    +
    300 __host__ double rcbrt(double x);
    +
    301 __device__ double remainder(double x, double y);
    +
    302 __device__ double remquo(double x, double y, int *quo);
    +
    303 __device__ double rhypot(double x, double y);
    +
    304 __host__ double rhypot(double x, double y);
    +
    305 __device__ double rint(double x);
    +
    306 __device__ double rnorm(int dim, const double* t);
    +
    307 __host__ double rnorm(int dim, const double* t);
    +
    308 __device__ double rnorm3d(double a, double b, double c);
    +
    309 __host__ double rnorm3d(double a, double b, double c);
    +
    310 __device__ double rnorm4d(double a, double b, double c, double d);
    +
    311 __host__ double rnorm4d(double a, double b, double c, double d);
    +
    312 __device__ double round(double x);
    +
    313 __host__ __device__ double rsqrt(double x);
    +
    314 __device__ double scalbln(double x, long int n);
    +
    315 __device__ double scalbn(double x, int n);
    +
    316 __host__ __device__ unsigned signbit(double a);
    +
    317 __device__ double sin(double a);
    +
    318 __device__ void sincos(double x, double *sptr, double *cptr);
    +
    319 __device__ void sincospi(double x, double *sptr, double *cptr);
    +
    320 __host__ void sincospi(double x, double *sptr, double *cptr);
    +
    321 __device__ double sinh(double x);
    +
    322 __host__ __device__ double sinpi(double x);
    +
    323 __device__ double sqrt(double x);
    +
    324 __device__ double tan(double x);
    +
    325 __device__ double tanh(double x);
    +
    326 __device__ double tgamma(double x);
    +
    327 __device__ double trunc(double x);
    +
    328 __device__ double y0(double x);
    +
    329 __device__ double y1(double y);
    +
    330 __device__ double yn(int n, double x);
    331 
    -
    332 // TODO - hipify-clang - change to use the function call.
    -
    333 //#define warpSize hc::__wavesize()
    -
    334 extern const int warpSize;
    -
    335 
    +
    332 __host__ double erfcinv(double y);
    +
    333 __host__ double erfcx(double x);
    +
    334 __host__ double erfinv(double y);
    +
    335 __host__ double fdivide(double x, double y);
    336 
    -
    337 #define clock_t long long int
    -
    338 __device__ long long int clock64();
    -
    339 __device__ clock_t clock();
    +
    337 // TODO - hipify-clang - change to use the function call.
    +
    338 //#define warpSize hc::__wavesize()
    +
    339 extern const int warpSize;
    340 
    -
    341 //atomicAdd()
    -
    342 __device__ int atomicAdd(int* address, int val);
    -
    343 __device__ unsigned int atomicAdd(unsigned int* address,
    -
    344  unsigned int val);
    +
    341 
    +
    342 #define clock_t long long int
    +
    343 __device__ long long int clock64();
    +
    344 __device__ clock_t clock();
    345 
    -
    346 __device__ unsigned long long int atomicAdd(unsigned long long int* address,
    -
    347  unsigned long long int val);
    -
    348 
    -
    349 __device__ float atomicAdd(float* address, float val);
    +
    346 //atomicAdd()
    +
    347 __device__ int atomicAdd(int* address, int val);
    +
    348 __device__ unsigned int atomicAdd(unsigned int* address,
    +
    349  unsigned int val);
    350 
    -
    351 
    -
    352 //atomicSub()
    -
    353 __device__ int atomicSub(int* address, int val);
    -
    354 
    -
    355 __device__ unsigned int atomicSub(unsigned int* address,
    -
    356  unsigned int val);
    -
    357 
    -
    358 
    -
    359 //atomicExch()
    -
    360 __device__ int atomicExch(int* address, int val);
    -
    361 
    -
    362 __device__ unsigned int atomicExch(unsigned int* address,
    -
    363  unsigned int val);
    -
    364 
    -
    365 __device__ unsigned long long int atomicExch(unsigned long long int* address,
    -
    366  unsigned long long int val);
    -
    367 
    -
    368 __device__ float atomicExch(float* address, float val);
    +
    351 __device__ unsigned long long int atomicAdd(unsigned long long int* address,
    +
    352  unsigned long long int val);
    +
    353 
    +
    354 __device__ float atomicAdd(float* address, float val);
    +
    355 
    +
    356 
    +
    357 //atomicSub()
    +
    358 __device__ int atomicSub(int* address, int val);
    +
    359 
    +
    360 __device__ unsigned int atomicSub(unsigned int* address,
    +
    361  unsigned int val);
    +
    362 
    +
    363 
    +
    364 //atomicExch()
    +
    365 __device__ int atomicExch(int* address, int val);
    +
    366 
    +
    367 __device__ unsigned int atomicExch(unsigned int* address,
    +
    368  unsigned int val);
    369 
    -
    370 
    -
    371 //atomicMin()
    -
    372 __device__ int atomicMin(int* address, int val);
    -
    373 __device__ unsigned int atomicMin(unsigned int* address,
    -
    374  unsigned int val);
    -
    375 __device__ unsigned long long int atomicMin(unsigned long long int* address,
    -
    376  unsigned long long int val);
    -
    377 
    -
    378 
    -
    379 //atomicMax()
    -
    380 __device__ int atomicMax(int* address, int val);
    -
    381 __device__ unsigned int atomicMax(unsigned int* address,
    -
    382  unsigned int val);
    -
    383 __device__ unsigned long long int atomicMax(unsigned long long int* address,
    -
    384  unsigned long long int val);
    -
    385 
    -
    386 
    -
    387 //atomicCAS()
    -
    388 __device__ int atomicCAS(int* address, int compare, int val);
    -
    389 __device__ unsigned int atomicCAS(unsigned int* address,
    -
    390  unsigned int compare,
    -
    391  unsigned int val);
    -
    392 __device__ unsigned long long int atomicCAS(unsigned long long int* address,
    -
    393  unsigned long long int compare,
    -
    394  unsigned long long int val);
    -
    395 
    -
    396 
    -
    397 //atomicAnd()
    -
    398 __device__ int atomicAnd(int* address, int val);
    -
    399 __device__ unsigned int atomicAnd(unsigned int* address,
    -
    400  unsigned int val);
    -
    401 __device__ unsigned long long int atomicAnd(unsigned long long int* address,
    -
    402  unsigned long long int val);
    -
    403 
    -
    404 
    -
    405 //atomicOr()
    -
    406 __device__ int atomicOr(int* address, int val);
    -
    407 __device__ unsigned int atomicOr(unsigned int* address,
    -
    408  unsigned int val);
    -
    409 __device__ unsigned long long int atomicOr(unsigned long long int* address,
    -
    410  unsigned long long int val);
    -
    411 
    -
    412 
    -
    413 //atomicXor()
    -
    414 __device__ int atomicXor(int* address, int val);
    -
    415 __device__ unsigned int atomicXor(unsigned int* address,
    -
    416  unsigned int val);
    -
    417 __device__ unsigned long long int atomicXor(unsigned long long int* address,
    -
    418  unsigned long long int val);
    -
    419 
    -
    420 //atomicInc()
    -
    421 __device__ unsigned int atomicInc(unsigned int* address,
    -
    422  unsigned int val);
    -
    423 
    +
    370 __device__ unsigned long long int atomicExch(unsigned long long int* address,
    +
    371  unsigned long long int val);
    +
    372 
    +
    373 __device__ float atomicExch(float* address, float val);
    +
    374 
    +
    375 
    +
    376 //atomicMin()
    +
    377 __device__ int atomicMin(int* address, int val);
    +
    378 __device__ unsigned int atomicMin(unsigned int* address,
    +
    379  unsigned int val);
    +
    380 __device__ unsigned long long int atomicMin(unsigned long long int* address,
    +
    381  unsigned long long int val);
    +
    382 
    +
    383 
    +
    384 //atomicMax()
    +
    385 __device__ int atomicMax(int* address, int val);
    +
    386 __device__ unsigned int atomicMax(unsigned int* address,
    +
    387  unsigned int val);
    +
    388 __device__ unsigned long long int atomicMax(unsigned long long int* address,
    +
    389  unsigned long long int val);
    +
    390 
    +
    391 
    +
    392 //atomicCAS()
    +
    393 __device__ int atomicCAS(int* address, int compare, int val);
    +
    394 __device__ unsigned int atomicCAS(unsigned int* address,
    +
    395  unsigned int compare,
    +
    396  unsigned int val);
    +
    397 __device__ unsigned long long int atomicCAS(unsigned long long int* address,
    +
    398  unsigned long long int compare,
    +
    399  unsigned long long int val);
    +
    400 
    +
    401 
    +
    402 //atomicAnd()
    +
    403 __device__ int atomicAnd(int* address, int val);
    +
    404 __device__ unsigned int atomicAnd(unsigned int* address,
    +
    405  unsigned int val);
    +
    406 __device__ unsigned long long int atomicAnd(unsigned long long int* address,
    +
    407  unsigned long long int val);
    +
    408 
    +
    409 
    +
    410 //atomicOr()
    +
    411 __device__ int atomicOr(int* address, int val);
    +
    412 __device__ unsigned int atomicOr(unsigned int* address,
    +
    413  unsigned int val);
    +
    414 __device__ unsigned long long int atomicOr(unsigned long long int* address,
    +
    415  unsigned long long int val);
    +
    416 
    +
    417 
    +
    418 //atomicXor()
    +
    419 __device__ int atomicXor(int* address, int val);
    +
    420 __device__ unsigned int atomicXor(unsigned int* address,
    +
    421  unsigned int val);
    +
    422 __device__ unsigned long long int atomicXor(unsigned long long int* address,
    +
    423  unsigned long long int val);
    424 
    -
    425 //atomicDec()
    -
    426 __device__ unsigned int atomicDec(unsigned int* address,
    +
    425 //atomicInc()
    +
    426 __device__ unsigned int atomicInc(unsigned int* address,
    427  unsigned int val);
    428 
    429 
    -
    430 // integer intrinsic function __poc __clz __ffs __brev
    -
    431 __device__ unsigned int __popc( unsigned int input);
    -
    432 __device__ unsigned int __popcll( unsigned long long int input);
    -
    433 __device__ unsigned int __clz(unsigned int input);
    -
    434 __device__ unsigned int __clzll(unsigned long long int input);
    -
    435 __device__ unsigned int __clz(int input);
    -
    436 __device__ unsigned int __clzll(long long int input);
    -
    437 __device__ unsigned int __ffs(unsigned int input);
    -
    438 __device__ unsigned int __ffsll(unsigned long long int input);
    -
    439 __device__ unsigned int __ffs(int input);
    -
    440 __device__ unsigned int __ffsll(long long int input);
    -
    441 __device__ unsigned int __brev( unsigned int input);
    -
    442 __device__ unsigned long long int __brevll( unsigned long long int input);
    -
    443 
    -
    444 
    -
    445 // warp vote function __all __any __ballot
    -
    446 __device__ int __all( int input);
    -
    447 __device__ int __any( int input);
    -
    448 __device__ unsigned long long int __ballot( int input);
    -
    449 
    -
    450 // warp shuffle functions
    -
    451 #ifdef __cplusplus
    -
    452 __device__ int __shfl(int input, int lane, int width=warpSize);
    -
    453 __device__ int __shfl_up(int input, unsigned int lane_delta, int width=warpSize);
    -
    454 __device__ int __shfl_down(int input, unsigned int lane_delta, int width=warpSize);
    -
    455 __device__ int __shfl_xor(int input, int lane_mask, int width=warpSize);
    -
    456 __device__ float __shfl(float input, int lane, int width=warpSize);
    -
    457 __device__ float __shfl_up(float input, unsigned int lane_delta, int width=warpSize);
    -
    458 __device__ float __shfl_down(float input, unsigned int lane_delta, int width=warpSize);
    -
    459 __device__ float __shfl_xor(float input, int lane_mask, int width=warpSize);
    -
    460 #else
    -
    461 __device__ int __shfl(int input, int lane, int width);
    -
    462 __device__ int __shfl_up(int input, unsigned int lane_delta, int width);
    -
    463 __device__ int __shfl_down(int input, unsigned int lane_delta, int width);
    -
    464 __device__ int __shfl_xor(int input, int lane_mask, int width);
    -
    465 __device__ float __shfl(float input, int lane, int width);
    -
    466 __device__ float __shfl_up(float input, unsigned int lane_delta, int width);
    -
    467 __device__ float __shfl_down(float input, unsigned int lane_delta, int width);
    -
    468 __device__ float __shfl_xor(float input, int lane_mask, int width);
    -
    469 #endif
    -
    470 
    -
    471 __host__ __device__ int min(int arg1, int arg2);
    -
    472 __host__ __device__ int max(int arg1, int arg2);
    -
    473 
    -
    474 __device__ __attribute__((address_space(3))) void* __get_dynamicgroupbaseptr();
    -
    475 
    -
    476 //TODO - add a couple fast math operations here, the set here will grow :
    -
    477 __device__ float __cosf(float x);
    -
    478 __device__ float __expf(float x);
    -
    479 __device__ float __frsqrt_rn(float x);
    -
    480 __device__ float __fsqrt_rd(float x);
    -
    481 __device__ float __fsqrt_rn(float x);
    -
    482 __device__ float __fsqrt_ru(float x);
    -
    483 __device__ float __fsqrt_rz(float x);
    -
    484 __device__ float __log10f(float x);
    -
    485 __device__ float __log2f(float x);
    -
    486 __device__ float __logf(float x);
    -
    487 __device__ float __powf(float base, float exponent);
    -
    488 __device__ void __sincosf(float x, float *s, float *c) ;
    -
    489 __device__ float __sinf(float x);
    -
    490 __device__ float __tanf(float x);
    -
    491 __device__ float __dsqrt_rd(double x);
    -
    492 __device__ float __dsqrt_rn(double x);
    -
    493 __device__ float __dsqrt_ru(double x);
    -
    494 __device__ float __dsqrt_rz(double x);
    -
    500 #define hipThreadIdx_x (hc_get_workitem_id(0))
    -
    501 #define hipThreadIdx_y (hc_get_workitem_id(1))
    -
    502 #define hipThreadIdx_z (hc_get_workitem_id(2))
    -
    503 
    -
    504 #define hipBlockIdx_x (hc_get_group_id(0))
    -
    505 #define hipBlockIdx_y (hc_get_group_id(1))
    -
    506 #define hipBlockIdx_z (hc_get_group_id(2))
    -
    507 
    -
    508 #define hipBlockDim_x (hc_get_group_size(0))
    -
    509 #define hipBlockDim_y (hc_get_group_size(1))
    -
    510 #define hipBlockDim_z (hc_get_group_size(2))
    -
    511 
    -
    512 #define hipGridDim_x (hc_get_num_groups(0))
    -
    513 #define hipGridDim_y (hc_get_num_groups(1))
    -
    514 #define hipGridDim_z (hc_get_num_groups(2))
    -
    515 
    -
    516 #define __syncthreads() hc_barrier(CLK_LOCAL_MEM_FENCE)
    -
    517 
    -
    518 #define HIP_KERNEL_NAME(...) __VA_ARGS__
    -
    519 
    -
    520 #ifdef __HCC_CPP__
    -
    521 hipStream_t ihipPreLaunchKernel(hipStream_t stream, dim3 grid, dim3 block, grid_launch_parm *lp);
    -
    522 hipStream_t ihipPreLaunchKernel(hipStream_t stream, dim3 grid, size_t block, grid_launch_parm *lp);
    -
    523 hipStream_t ihipPreLaunchKernel(hipStream_t stream, size_t grid, dim3 block, grid_launch_parm *lp);
    -
    524 hipStream_t ihipPreLaunchKernel(hipStream_t stream, size_t grid, size_t block, grid_launch_parm *lp);
    -
    525 void ihipPostLaunchKernel(hipStream_t stream, grid_launch_parm &lp);
    -
    526 
    -
    527 // TODO - move to common header file.
    -
    528 #define KNRM "\x1B[0m"
    -
    529 #define KGRN "\x1B[32m"
    -
    530 
    -
    531 #if USE_GRID_LAUNCH_20
    -
    532 #define hipLaunchKernel(_kernelName, _numBlocks3D, _blockDim3D, _groupMemBytes, _stream, ...) \
    -
    533 do {\
    -
    534  grid_launch_parm lp;\
    -
    535  lp.dynamic_group_mem_bytes = _groupMemBytes; \
    -
    536  hipStream_t trueStream = (ihipPreLaunchKernel(_stream, _numBlocks3D, _blockDim3D, &lp)); \
    -
    537  if (HIP_TRACE_API) {\
    -
    538  fprintf(stderr, KGRN "<<hip-api: hipLaunchKernel '%s' gridDim:(%d,%d,%d) groupDim:(%d,%d,%d) groupMem:+%d stream=%p\n" KNRM, \
    -
    539  #_kernelName, lp.grid_dim.x, lp.grid_dim.y, lp.grid_dim.z, lp.group_dim.x, lp.group_dim.y, lp.group_dim.z, lp.dynamic_group_mem_bytes, (void*)(_stream));\
    -
    540  }\
    -
    541  _kernelName (lp, ##__VA_ARGS__);\
    -
    542  ihipPostLaunchKernel(trueStream, lp);\
    -
    543 } while(0)
    -
    544 #else
    -
    545 #define hipLaunchKernel(_kernelName, _numBlocks3D, _blockDim3D, _groupMemBytes, _stream, ...) \
    -
    546 do {\
    -
    547  grid_launch_parm lp;\
    -
    548  lp.groupMemBytes = _groupMemBytes; \
    -
    549  hipStream_t trueStream = (ihipPreLaunchKernel(_stream, _numBlocks3D, _blockDim3D, &lp)); \
    -
    550  if (HIP_TRACE_API) {\
    -
    551  fprintf(stderr, KGRN "<<hip-api: hipLaunchKernel '%s' gridDim:(%d,%d,%d) groupDim:(%d,%d,%d) groupMem:+%d stream=%p\n" KNRM, \
    -
    552  #_kernelName, lp.gridDim.x, lp.gridDim.y, lp.gridDim.z, lp.groupDim.x, lp.groupDim.y, lp.groupDim.z, lp.groupMemBytes, (void*)(_stream));\
    -
    553  }\
    -
    554  _kernelName (lp, ##__VA_ARGS__);\
    -
    555  ihipPostLaunchKernel(trueStream, lp);\
    -
    556 } while(0)
    -
    557 
    -
    558 #endif
    -
    559 
    -
    560 
    -
    561 #elif defined (__HCC_C__)
    -
    562 
    -
    563 //TODO - develop C interface.
    -
    564 
    -
    565 #endif
    -
    566 
    -
    571 // Macro to replace extern __shared__ declarations
    -
    572 // to local variable definitions
    -
    573 #define HIP_DYNAMIC_SHARED(type, var) \
    -
    574  __attribute__((address_space(3))) type* var = \
    -
    575  (__attribute__((address_space(3))) type*)__get_dynamicgroupbaseptr(); \
    -
    576 
    -
    577 #endif // __HCC__
    -
    578 
    -
    579 
    -
    584 //extern int HIP_PRINT_ENV ; ///< Print all HIP-related environment variables.
    -
    585 //extern int HIP_TRACE_API; ///< Trace HIP APIs.
    -
    586 //extern int HIP_LAUNCH_BLOCKING ; ///< Make all HIP APIs host-synchronous
    -
    587 
    -
    593 // End doxygen API:
    -
    599 #endif
    -
    Definition: hip_runtime_api.h:114
    +
    430 //atomicDec()
    +
    431 __device__ unsigned int atomicDec(unsigned int* address,
    +
    432  unsigned int val);
    +
    433 
    +
    434 //__mul24 __umul24
    +
    435 __device__ int __mul24(int arg1, int arg2);
    +
    436 __device__ unsigned int __umul24(unsigned int arg1, unsigned int arg2);
    +
    437 
    +
    438 // integer intrinsic function __poc __clz __ffs __brev
    +
    439 __device__ unsigned int __popc( unsigned int input);
    +
    440 __device__ unsigned int __popcll( unsigned long long int input);
    +
    441 __device__ unsigned int __clz(unsigned int input);
    +
    442 __device__ unsigned int __clzll(unsigned long long int input);
    +
    443 __device__ unsigned int __clz(int input);
    +
    444 __device__ unsigned int __clzll(long long int input);
    +
    445 __device__ unsigned int __ffs(unsigned int input);
    +
    446 __device__ unsigned int __ffsll(unsigned long long int input);
    +
    447 __device__ unsigned int __ffs(int input);
    +
    448 __device__ unsigned int __ffsll(long long int input);
    +
    449 __device__ unsigned int __brev( unsigned int input);
    +
    450 __device__ unsigned long long int __brevll( unsigned long long int input);
    +
    451 
    +
    452 
    +
    453 // warp vote function __all __any __ballot
    +
    454 __device__ int __all( int input);
    +
    455 __device__ int __any( int input);
    +
    456 __device__ unsigned long long int __ballot( int input);
    +
    457 
    +
    458 // warp shuffle functions
    +
    459 #ifdef __cplusplus
    +
    460 __device__ int __shfl(int input, int lane, int width=warpSize);
    +
    461 __device__ int __shfl_up(int input, unsigned int lane_delta, int width=warpSize);
    +
    462 __device__ int __shfl_down(int input, unsigned int lane_delta, int width=warpSize);
    +
    463 __device__ int __shfl_xor(int input, int lane_mask, int width=warpSize);
    +
    464 __device__ float __shfl(float input, int lane, int width=warpSize);
    +
    465 __device__ float __shfl_up(float input, unsigned int lane_delta, int width=warpSize);
    +
    466 __device__ float __shfl_down(float input, unsigned int lane_delta, int width=warpSize);
    +
    467 __device__ float __shfl_xor(float input, int lane_mask, int width=warpSize);
    +
    468 #else
    +
    469 __device__ int __shfl(int input, int lane, int width);
    +
    470 __device__ int __shfl_up(int input, unsigned int lane_delta, int width);
    +
    471 __device__ int __shfl_down(int input, unsigned int lane_delta, int width);
    +
    472 __device__ int __shfl_xor(int input, int lane_mask, int width);
    +
    473 __device__ float __shfl(float input, int lane, int width);
    +
    474 __device__ float __shfl_up(float input, unsigned int lane_delta, int width);
    +
    475 __device__ float __shfl_down(float input, unsigned int lane_delta, int width);
    +
    476 __device__ float __shfl_xor(float input, int lane_mask, int width);
    +
    477 #endif
    +
    478 
    +
    479 __host__ __device__ int min(int arg1, int arg2);
    +
    480 __host__ __device__ int max(int arg1, int arg2);
    +
    481 
    +
    482 __device__ __attribute__((address_space(3))) void* __get_dynamicgroupbaseptr();
    +
    483 
    +
    484 //TODO - add a couple fast math operations here, the set here will grow :
    +
    485 __device__ float __cosf(float x);
    +
    486 __device__ float __expf(float x);
    +
    487 __device__ float __frsqrt_rn(float x);
    +
    488 __device__ float __fsqrt_rd(float x);
    +
    489 __device__ float __fsqrt_rn(float x);
    +
    490 __device__ float __fsqrt_ru(float x);
    +
    491 __device__ float __fsqrt_rz(float x);
    +
    492 __device__ float __log10f(float x);
    +
    493 __device__ float __log2f(float x);
    +
    494 __device__ float __logf(float x);
    +
    495 __device__ float __powf(float base, float exponent);
    +
    496 __device__ void __sincosf(float x, float *s, float *c) ;
    +
    497 __device__ float __sinf(float x);
    +
    498 __device__ float __tanf(float x);
    +
    499 __device__ float __dsqrt_rd(double x);
    +
    500 __device__ float __dsqrt_rn(double x);
    +
    501 __device__ float __dsqrt_ru(double x);
    +
    502 __device__ float __dsqrt_rz(double x);
    +
    503 
    +
    537 // __device__ void __threadfence_block(void);
    +
    538 extern "C" __device__ void __threadfence_block(void);
    +
    539 
    +
    549 // __device__ void __threadfence(void) __attribute__((deprecated("Provided for compile-time compatibility, not yet functional")));
    +
    550 extern "C" __device__ void __threadfence(void);
    +
    551 
    +
    561 __device__ void __threadfence_system(void) __attribute__((deprecated("Provided for compile-time compatibility, not yet functional")));
    +
    562 
    +
    563 
    +
    564 // doxygen end Fence Fence
    +
    570 #define hipThreadIdx_x (hc_get_workitem_id(0))
    +
    571 #define hipThreadIdx_y (hc_get_workitem_id(1))
    +
    572 #define hipThreadIdx_z (hc_get_workitem_id(2))
    +
    573 
    +
    574 #define hipBlockIdx_x (hc_get_group_id(0))
    +
    575 #define hipBlockIdx_y (hc_get_group_id(1))
    +
    576 #define hipBlockIdx_z (hc_get_group_id(2))
    +
    577 
    +
    578 #define hipBlockDim_x (hc_get_group_size(0))
    +
    579 #define hipBlockDim_y (hc_get_group_size(1))
    +
    580 #define hipBlockDim_z (hc_get_group_size(2))
    +
    581 
    +
    582 #define hipGridDim_x (hc_get_num_groups(0))
    +
    583 #define hipGridDim_y (hc_get_num_groups(1))
    +
    584 #define hipGridDim_z (hc_get_num_groups(2))
    +
    585 
    +
    586 // loop unrolling
    +
    587 __device__ static inline void* memcpy(void* dst, void* src, size_t size)
    +
    588 {
    +
    589  uint8_t *dstPtr, *srcPtr;
    +
    590  dstPtr = (uint8_t*)dst;
    +
    591  srcPtr = (uint8_t*)src;
    +
    592  for(uint32_t i=0;i<size;i++) {
    +
    593  dstPtr[i] = srcPtr[i];
    +
    594  }
    +
    595  return nullptr;
    +
    596 }
    +
    597 
    +
    598 __device__ static inline void* memset(void* ptr, uint8_t val, size_t size)
    +
    599 {
    +
    600  uint8_t *dstPtr;
    +
    601  dstPtr = (uint8_t*)ptr;
    +
    602  for(uint32_t i=0;i<size;i++) {
    +
    603  dstPtr[i] = val;
    +
    604  }
    +
    605  return nullptr;
    +
    606 }
    +
    607 
    +
    608 extern "C" __device__ void* __hip_hc_malloc(size_t);
    +
    609 extern "C" __device__ void* __hip_hc_free(void *ptr);
    +
    610 
    +
    611 __device__ static inline void* malloc(size_t size)
    +
    612 {
    +
    613  return __hip_hc_malloc(size);
    +
    614 }
    +
    615 
    +
    616 __device__ static inline void* free(void *ptr)
    +
    617 {
    +
    618  return __hip_hc_free(ptr);
    +
    619 }
    +
    620 
    +
    621 #define __syncthreads() hc_barrier(CLK_LOCAL_MEM_FENCE)
    +
    622 
    +
    623 #define HIP_KERNEL_NAME(...) __VA_ARGS__
    +
    624 #define HIP_SYMBOL(X) #X
    +
    625 
    +
    626 #ifdef __HCC_CPP__
    +
    627 extern hipStream_t ihipPreLaunchKernel(hipStream_t stream, dim3 grid, dim3 block, grid_launch_parm *lp, const char *kernelNameStr);
    +
    628 extern hipStream_t ihipPreLaunchKernel(hipStream_t stream, dim3 grid, size_t block, grid_launch_parm *lp, const char *kernelNameStr);
    +
    629 extern hipStream_t ihipPreLaunchKernel(hipStream_t stream, size_t grid, dim3 block, grid_launch_parm *lp, const char *kernelNameStr);
    +
    630 extern hipStream_t ihipPreLaunchKernel(hipStream_t stream, size_t grid, size_t block, grid_launch_parm *lp, const char *kernelNameStr);
    +
    631 extern void ihipPostLaunchKernel(hipStream_t stream, grid_launch_parm &lp);
    +
    632 
    +
    633 
    +
    634 // Due to multiple overloaded versions of ihipPreLaunchKernel, the numBlocks3D and blockDim3D can be either size_t or dim3 types
    +
    635 #define hipLaunchKernel(_kernelName, _numBlocks3D, _blockDim3D, _groupMemBytes, _stream, ...) \
    +
    636 do {\
    +
    637  grid_launch_parm lp;\
    +
    638  lp.dynamic_group_mem_bytes = _groupMemBytes; \
    +
    639  hipStream_t trueStream = (ihipPreLaunchKernel(_stream, _numBlocks3D, _blockDim3D, &lp, #_kernelName)); \
    +
    640  _kernelName (lp, ##__VA_ARGS__);\
    +
    641  ihipPostLaunchKernel(trueStream, lp);\
    +
    642 } while(0)
    +
    643 
    +
    644 
    +
    645 #elif defined (__HCC_C__)
    +
    646 
    +
    647 //TODO - develop C interface.
    +
    648 
    +
    649 #endif
    +
    650 
    +
    655 // Macro to replace extern __shared__ declarations
    +
    656 // to local variable definitions
    +
    657 #define HIP_DYNAMIC_SHARED(type, var) \
    +
    658  __attribute__((address_space(3))) type* var = \
    +
    659  (__attribute__((address_space(3))) type*)__get_dynamicgroupbaseptr(); \
    +
    660 
    +
    661 #define HIP_DYNAMIC_SHARED_ATTRIBUTE __attribute__((address_space(3)))
    +
    662 
    +
    663 #endif // __HCC__
    +
    664 
    +
    665 
    +
    670 //extern int HIP_PRINT_ENV ; ///< Print all HIP-related environment variables.
    +
    671 //extern int HIP_TRACE_API; ///< Trace HIP APIs.
    +
    672 //extern int HIP_LAUNCH_BLOCKING ; ///< Make all HIP APIs host-synchronous
    +
    673 
    +
    679 // End doxygen API:
    +
    687 #endif
    +
    __device__ void __threadfence(void)
    threadfence makes wirtes visible to other threads running on same GPU.
    +
    TODO-doc.
    +
    __device__ void __threadfence_system(void) __attribute__((deprecated("Provided for compile-time compatibility
    threadfence_system makes writes to pinned system memory visible on host CPU.
    +
    Definition: hip_runtime_api.h:134
    #define __host__
    Definition: host_defines.h:35
    +
    HIP C++ Texture API for hcc compiler.
    +
    __device__ void __threadfence_block(void)
    threadfence_block makes writes visible to threads running in same block.
    +
    Definition: hip_hcc.h:397
    diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h.html index f95bf6a23a..1f19e7d01c 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_runtime_api.h File Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_runtime_api.h File Reference @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -100,15 +100,13 @@ More...

    #include <stdint.h>
    #include <stddef.h>
    -#include <hip/hcc_detail/host_defines.h>
    +#include <hip/hcc_detail/host_defines.h>
    #include <hip/hip_runtime_api.h>

    Go to the source code of this file.

    - -

    Classes

    struct  hipEvent_t
     
    struct  dim3
     
    @@ -157,24 +155,30 @@ - + +#define  + +#define  + +#define  + - - + + + + @@ -184,12 +188,27 @@
     
    #define hipHostRegisterMapped   0x2
     Map the allocation into the address space for the current device. The device pointer can be obtained with hipHostGetDevicePointer.
     Map the allocation into the address space for the current device. The device pointer can be obtained with hipHostGetDevicePointer.
     
    #define hipHostRegisterIoMemory   0x4
     Not supported.
     
    -#define hipDeviceScheduleAuto   0x0
    hipDeviceScheduleAuto   0x0
     Automatically select between Spin and Yield.
     
    -#define hipDeviceScheduleSpin   0x1
    hipDeviceScheduleSpin   0x1
     Dedicate a CPU core to spin-wait. Provides lowest latency, but burns a CPU core and may consume more power.
     
    -#define hipDeviceScheduleYield   0x2
    hipDeviceScheduleYield   0x2
     Yield the CPU to the operating system when waiting. May increase latency, but lowers power and is friendlier to other threads in the system.
     
    -#define hipDeviceBlockingSync   0x4
     
    +#define hipDeviceScheduleBlockingSync   0x4
     
    +#define hipDeviceScheduleMask   0x7
     
    #define hipDeviceMapHost   0x8
     
    + + + + - - + + + + + + + + @@ -198,9 +217,14 @@ + +

    Typedefs

    +typedef struct ihipCtx_thipCtx_t
     
    +typedef struct ihipDevice_thipDevice_t
     
    typedef struct ihipStream_thipStream_t
     
    -typedef struct hipEvent_t hipEvent_t
     
    +typedef struct ihipModule_thipModule_t
     
    +typedef struct ihipFunction_thipFunction_t
     
    +typedef void * hipDeviceptr_t
     
    +typedef struct ihipEvent_thipEvent_t
     
    typedef enum hipFuncCache hipFuncCache
     
    typedef enum hipSharedMemConfig hipSharedMemConfig
     
    typedef enum hipMemcpyKind hipMemcpyKind
     
    typedef void(* hipStreamCallback_t )(hipStream_t stream, hipError_t status, void *userData)
     
    + + - + - + - - - - - - + + + + + + - - - - - - + + + + + + + + + - + - + - + + + + @@ -273,45 +303,51 @@ - - - - - - - + + + + - - - - - - - + + + + - + + + + + + + + + + - + + + + - + - + - + - - + + - + - + @@ -321,19 +357,19 @@ - + - + + - + - + @@ -344,27 +380,48 @@ - + - + - + + + + + + + + + + + + + + + + + + + - + + + + - + @@ -379,16 +436,103 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Enumerations

    enum  hipLimit_t { hipLimitMallocHeapSize = 0x02 + }
     
    enum  hipFuncCache { hipFuncCachePreferNone, hipFuncCachePreferShared, hipFuncCachePreferL1, @@ -226,44 +250,50 @@

    Functions

    hipError_t hipDeviceSynchronize (void)
     Blocks until the default device has completed all preceding requested tasks. More...
     Waits on all active streams on current device. More...
     
    hipError_t hipDeviceReset (void)
     Destroy all resources and reset all state on the default device in the current process. More...
     The state of current device is discarded and updated to a fresh state. More...
     
    hipError_t hipSetDevice (int device)
     Set default device to be used for subsequent hip API calls from this thread. More...
     
    hipError_t hipGetDevice (int *device)
     Return the default device id for the calling host thread. More...
     
    hipError_t hipSetDevice (int deviceId)
     Set default device to be used for subsequent hip API calls from this thread. More...
     
    hipError_t hipGetDevice (int *deviceId)
     Return the default device id for the calling host thread. More...
     
    hipError_t hipGetDeviceCount (int *count)
     Return number of compute-capable devices. More...
     
    hipError_t hipDeviceGetAttribute (int *pi, hipDeviceAttribute_t attr, int device)
     Query device attribute. More...
     
    hipError_t hipGetDeviceProperties (hipDeviceProp_t *prop, int device)
     Returns device properties. More...
     
    hipError_t hipDeviceGetAttribute (int *pi, hipDeviceAttribute_t attr, int deviceId)
     Query for a specific device attribute. More...
     
    hipError_t hipGetDeviceProperties (hipDeviceProp_t *prop, int deviceId)
     Returns device properties. More...
     
    hipError_t hipDeviceSetCacheConfig (hipFuncCache cacheConfig)
     Set L1/Shared cache partition. More...
     
    hipError_t hipDeviceGetCacheConfig (hipFuncCache *cacheConfig)
     Set Cache configuration for a specific function. More...
     
    hipError_t hipDeviceGetLimit (size_t *pValue, hipLimit_t limit)
     Get Resource limits of current device. More...
     
    hipError_t hipFuncSetCacheConfig (hipFuncCache config)
     Set Cache configuration for a specific function. More...
     
    hipError_t hipDeviceGetSharedMemConfig (hipSharedMemConfig *pConfig)
     Get Shared memory bank configuration. More...
     Returns bank width of shared memory for current device. More...
     
    hipError_t hipDeviceSetSharedMemConfig (hipSharedMemConfig config)
     Set Shared memory bank configuration. More...
     The bank width of shared memory on current device is set. More...
     
    hipError_t hipSetDeviceFlags (unsigned flags)
     Set Device flags. More...
     The current device behavior is changed according the flags passed. More...
     
    hipError_t hipChooseDevice (int *device, hipDeviceProp_t *prop)
     Device which matches hipDeviceProp_t is returned. More...
     
    hipError_t hipGetLastError (void)
     Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess. More...
     
    const char * hipGetErrorName (hipError_t hip_error)
     Return name of the specified error code in text form. More...
     
    const char * hipGetErrorString (hipError_t hip_error)
     Return handy text string message to explain the error which occurred. More...
     
    hipError_t hipStreamCreateWithFlags (hipStream_t *stream, unsigned int flags)
     Create an asynchronous stream. More...
     
    hipError_t hipStreamCreate (hipStream_t *stream)
    const char * hipGetErrorString (hipError_t hipError)
     Return handy text string message to explain the error which occurred. More...
     
    hipError_t hipStreamCreate (hipStream_t *stream)
     Create an asynchronous stream. More...
     
    hipError_t hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
     Make the specified compute stream wait for an event. More...
     
    hipError_t hipStreamSynchronize (hipStream_t stream)
     Wait for all commands in stream to complete. More...
     
    hipError_t hipStreamDestroy (hipStream_t stream)
    hipError_t hipStreamCreateWithFlags (hipStream_t *stream, unsigned int flags)
     Create an asynchronous stream. More...
     
    hipError_t hipStreamDestroy (hipStream_t stream)
     Destroys the specified stream. More...
     
    hipError_t hipStreamGetFlags (hipStream_t stream, unsigned int *flags)
    hipError_t hipStreamQuery (hipStream_t stream)
     Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not. More...
     
    hipError_t hipStreamSynchronize (hipStream_t stream)
     Wait for all commands in stream to complete. More...
     
    hipError_t hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
     Make the specified compute stream wait for an event. More...
     
    hipError_t hipStreamGetFlags (hipStream_t stream, unsigned int *flags)
     Return flags associated with this stream. More...
     
    hipError_t hipEventCreateWithFlags (hipEvent_t *event, unsigned flags)
    hipError_t hipStreamAddCallback (hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags)
     Adds a callback to be called on the host after all currently enqueued items in the stream have completed. For each cudaStreamAddCallback call, a callback will be executed exactly once. The callback will block later work in the stream until it is finished. More...
     
    hipError_t hipEventCreateWithFlags (hipEvent_t *event, unsigned flags)
     Create an event with the specified flags. More...
     
    hipError_t hipEventCreate (hipEvent_t *event)
    hipError_t hipEventCreate (hipEvent_t *event)
     
    hipError_t hipEventRecord (hipEvent_t event, hipStream_t stream)
    hipError_t hipEventRecord (hipEvent_t event, hipStream_t stream)
     Record an event in the specified stream. More...
     
    hipError_t hipEventDestroy (hipEvent_t event)
    hipError_t hipEventDestroy (hipEvent_t event)
     Destroy the specified event. More...
     
    hipError_t hipEventSynchronize (hipEvent_t event)
     : Wait for an event to complete. More...
    hipError_t hipEventSynchronize (hipEvent_t event)
     Wait for an event to complete. More...
     
    hipError_t hipEventElapsedTime (float *ms, hipEvent_t start, hipEvent_t stop)
    hipError_t hipEventElapsedTime (float *ms, hipEvent_t start, hipEvent_t stop)
     Return the elapsed time between two events. More...
     
    hipError_t hipEventQuery (hipEvent_t event)
    hipError_t hipEventQuery (hipEvent_t event)
     Query event status. More...
     
    hipError_t hipPointerGetAttributes (hipPointerAttribute_t *attributes, void *ptr)
     Allocate memory on the default accelerator. More...
     
    hipError_t hipMallocHost (void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead")))
     Allocate pinned host memory. More...
     Allocate pinned host memory [Deprecated]. More...
     
    hipError_t hipHostMalloc (void **ptr, size_t size, unsigned int flags)
     Allocate device accessible page locked host memory. More...
     
    -hipError_t hipHostAlloc (void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead")))
    hipError_t hipHostAlloc (void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead")))
     Allocate device accessible page locked host memory [Deprecated]. More...
     
    hipError_t hipHostGetDevicePointer (void **devPtr, void *hstPtr, unsigned int flags)
     Get Device pointer from Host Pointer allocated through hipHostAlloc. More...
     Get Device pointer from Host Pointer allocated through hipHostMalloc. More...
     
    hipError_t hipHostGetFlags (unsigned int *flagsPtr, void *hostPtr)
     Get flags associated with host pointer. More...
     Return flags associated with host pointer. More...
     
    hipError_t hipHostRegister (void *hostPtr, size_t sizeBytes, unsigned int flags)
     Register host memory so it can be accessed from the current device. More...
    hipError_t hipMallocPitch (void **ptr, size_t *pitch, size_t width, size_t height)
     
    hipError_t hipFree (void *ptr)
     Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
     Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
     
    hipError_t hipFreeHost (void *ptr) __attribute__((deprecated("use hipHostFree instead")))
     Free memory allocated by the hcc hip host memory allocation API. [Deprecated.]. More...
     Free memory allocated by the hcc hip host memory allocation API. [Deprecated]. More...
     
    hipError_t hipHostFree (void *ptr)
     Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
     Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDeviceSynchronize() call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. More...
     
    hipError_t hipMemcpy (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
     Copy data from src to dst. More...
     
    hipError_t hipMemcpyHtoD (hipDeviceptr_t dst, void *src, size_t sizeBytes)
     Copy data from Host to Device. More...
     
    hipError_t hipMemcpyDtoH (void *dst, hipDeviceptr_t src, size_t sizeBytes)
     Copy data from Device to Host. More...
     
    hipError_t hipMemcpyDtoD (hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
     Copy data from Device to Device. More...
     
    hipError_t hipMemcpyHtoDAsync (hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
     Copy data from Host to Device asynchronously. More...
     
    hipError_t hipMemcpyDtoHAsync (void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
     Copy data from Device to Host asynchronously. More...
     
    hipError_t hipMemcpyDtoDAsync (hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
     Copy data from Device to Device asynchronously. More...
     
    hipError_t hipMemcpyToSymbol (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
     Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset bytes from the start of symbol symbol. More...
     
    hipError_t hipMemcpyAsync (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
    hipError_t hipMemcpyToSymbolAsync (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream)
     Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset bytes from the start of symbol symbol. More...
     
    hipError_t hipMemcpyAsync (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
     Copy data from src to dst asynchronously. More...
     
    hipError_t hipMemset (void *dst, int value, size_t sizeBytes)
     Copy data from src to dst asynchronously. More...
     
    hipError_t hipMemsetAsync (void *dst, int value, size_t sizeBytes, hipStream_t stream)
    hipError_t hipMemsetAsync (void *dst, int value, size_t sizeBytes, hipStream_t stream)
     Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value value. More...
     
    hipError_t hipMemGetInfo (size_t *free, size_t *total)
    hipError_t hipDeviceDisablePeerAccess (int peerDeviceId)
     Disable direct access from current device's virtual address space to memory allocations physically located on a peer device. More...
     
    hipError_t hipDriverGetVersion (int *driverVersion)
     Returns the approximate HIP driver version. More...
    hipError_t hipInit (unsigned int flags)
     Explicitly initializes the HIP runtime. More...
     
    hipError_t hipCtxCreate (hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
     Create a context and set it as current/ default context. More...
     
    hipError_t hipCtxDestroy (hipCtx_t ctx)
     Destroy a HIP context. More...
     
    hipError_t hipCtxPopCurrent (hipCtx_t *ctx)
     Pop the current/default context and return the popped context. More...
     
    hipError_t hipCtxPushCurrent (hipCtx_t ctx)
     Push the context to be set as current/ default context. More...
     
    hipError_t hipCtxSetCurrent (hipCtx_t ctx)
     Set the passed context as current/default. More...
     
    hipError_t hipCtxGetCurrent (hipCtx_t *ctx)
     Get the handle of the current/ default context. More...
     
    hipError_t hipCtxGetDevice (hipDevice_t *device)
     Get the handle of the device associated with current/default context. More...
     
    hipError_t hipCtxGetApiVersion (hipCtx_t ctx, int *apiVersion)
     Returns the approximate HIP api version. More...
     
    hipError_t hipCtxGetCacheConfig (hipFuncCache *cacheConfig)
     Set Cache configuration for a specific function. More...
     
    hipError_t hipCtxSetCacheConfig (hipFuncCache cacheConfig)
     Set L1/Shared cache partition. More...
     
    hipError_t hipCtxSetSharedMemConfig (hipSharedMemConfig config)
     Set Shared memory bank configuration. More...
     
    hipError_t hipCtxGetSharedMemConfig (hipSharedMemConfig *pConfig)
     Get Shared memory bank configuration. More...
     
    hipError_t hipCtxSynchronize (void)
     Blocks until the default context has completed all preceding requested tasks. More...
     
    hipError_t hipCtxGetFlags (unsigned int *flags)
     Return flags used for creating default context. More...
     
    hipError_t hipCtxEnablePeerAccess (hipCtx_t peerCtx, unsigned int flags)
     Enables direct access to memory allocations in a peer context. More...
     
    hipError_t hipCtxDisablePeerAccess (hipCtx_t peerCtx)
     Disable direct access from current context's virtual address space to memory allocations physically located on a peer context.Disables direct access to memory allocations in a peer context and unregisters any registered allocations. More...
     
    hipError_t hipDeviceGet (hipDevice_t *device, int ordinal)
     Returns a handle to a compute device. More...
     
    hipError_t hipDeviceComputeCapability (int *major, int *minor, hipDevice_t device)
     Returns the compute capability of the device. More...
     
    hipError_t hipDeviceGetName (char *name, int len, hipDevice_t device)
     Returns an identifer string for the device. More...
     
    hipError_t hipDeviceGetPCIBusId (int *pciBusId, int len, hipDevice_t device)
     Returns a PCI Bus Id string for the device. More...
     
    hipError_t hipDeviceTotalMem (size_t *bytes, hipDevice_t device)
     Returns the total amount of memory on the device. More...
     
    hipError_t hipDriverGetVersion (int *driverVersion)
     Returns the approximate HIP driver version. More...
     
    hipError_t hipRuntimeGetVersion (int *runtimeVersion)
     Returns the approximate HIP Runtime version. More...
     
    hipError_t hipModuleLoad (hipModule_t *module, const char *fname)
     Loads code object from file into a hipModule_t. More...
     
    hipError_t hipModuleUnload (hipModule_t module)
     Frees the module. More...
     
    hipError_t hipModuleGetFunction (hipFunction_t *function, hipModule_t module, const char *kname)
     Function with kname will be extracted if present in module. More...
     
    hipError_t hipModuleGetGlobal (hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
     returns device memory pointer and size of the kernel present in the module with symbol name More...
     
    hipError_t hipModuleLoadData (hipModule_t *module, const void *image)
     builds module from code object which resides in host memory. Image is pointer to that location. More...
     
    hipError_t hipModuleLaunchKernel (hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
     launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelparams or extra More...
     

    Detailed Description

    Contains C function APIs for HIP runtime. This file does not use any HCC builtin or special language extensions (-hc mode) ; those functions in hip_runtime.h.

    diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html index 9e10779e28..4f4f71f957 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_runtime_api.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_runtime_api.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -110,391 +110,544 @@
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    20 THE SOFTWARE.
    21 */
    -
    22 //#pragma once
    -
    23 #ifndef HIP_RUNTIME_API_H
    -
    24 #define HIP_RUNTIME_API_H
    -
    25 
    -
    30 #include <stdint.h>
    -
    31 #include <stddef.h>
    -
    32 
    -
    33 #include <hip/hcc_detail/host_defines.h>
    -
    34 #include <hip/hip_runtime_api.h>
    -
    35 //#include "hip/hip_hcc.h"
    -
    36 
    -
    37 #if defined (__HCC__) && (__hcc_workweek__ < 16155)
    -
    38 #error("This version of HIP requires a newer version of HCC.");
    -
    39 #endif
    -
    40 
    -
    41 // Structure definitions:
    -
    42 #ifdef __cplusplus
    -
    43 extern "C" {
    -
    44 #endif
    -
    45 
    -
    46 typedef struct ihipStream_t *hipStream_t;
    -
    47 typedef struct hipEvent_t {
    -
    48  struct ihipEvent_t *_handle;
    -
    49 } hipEvent_t;
    +
    22 
    +
    23 //#pragma once
    +
    24 #ifndef HIP_RUNTIME_API_H
    +
    25 #define HIP_RUNTIME_API_H
    +
    26 
    +
    31 #include <stdint.h>
    +
    32 #include <stddef.h>
    +
    33 
    + +
    35 #include <hip/hip_runtime_api.h>
    +
    36 //#include "hip/hip_hcc.h"
    +
    37 
    +
    38 #if defined (__HCC__) && (__hcc_workweek__ < 16155)
    +
    39 #error("This version of HIP requires a newer version of HCC.");
    +
    40 #endif
    +
    41 
    +
    42 // Structure definitions:
    +
    43 #ifdef __cplusplus
    +
    44 extern "C" {
    +
    45 #endif
    +
    46 
    +
    47 //---
    +
    48 //API-visible structures
    +
    49 typedef struct ihipCtx_t *hipCtx_t;
    50 
    -
    51 
    -
    56 #define hipStreamDefault 0x00
    -
    58 #define hipStreamNonBlocking 0x01
    -
    59 
    -
    60 
    -
    62 #define hipEventDefault 0x0
    -
    63 #define hipEventBlockingSync 0x1
    -
    64 #define hipEventDisableTiming 0x2
    -
    65 #define hipEventInterprocess 0x4
    -
    66 
    -
    67 
    -
    69 #define hipHostMallocDefault 0x0
    -
    70 #define hipHostMallocPortable 0x1
    -
    71 #define hipHostMallocMapped 0x2
    -
    72 #define hipHostMallocWriteCombined 0x4
    -
    73 
    -
    75 #define hipHostRegisterDefault 0x0
    -
    76 #define hipHostRegisterPortable 0x1
    -
    77 #define hipHostRegisterMapped 0x2
    -
    78 #define hipHostRegisterIoMemory 0x4
    -
    79 
    -
    80 
    -
    81 #define hipDeviceScheduleAuto 0x0
    -
    82 #define hipDeviceScheduleSpin 0x1
    -
    83 #define hipDeviceScheduleYield 0x2
    -
    84 #define hipDeviceBlockingSync 0x4
    -
    85 #define hipDeviceMapHost 0x8
    -
    86 #define hipDeviceLmemResizeToMax 0x16
    -
    87 
    -
    91 typedef enum hipFuncCache {
    - - - - -
    96 } hipFuncCache;
    -
    97 
    -
    98 
    -
    102 typedef enum hipSharedMemConfig {
    - - - - +
    51 // Note many APIs also use integer deviceIds as an alternative to the device pointer:
    +
    52 typedef struct ihipDevice_t *hipDevice_t;
    +
    53 
    +
    54 typedef struct ihipStream_t *hipStream_t;
    +
    55 
    +
    56 typedef struct ihipModule_t *hipModule_t;
    +
    57 
    +
    58 typedef struct ihipFunction_t *hipFunction_t;
    +
    59 
    +
    60 typedef void* hipDeviceptr_t;
    +
    61 
    +
    62 typedef struct ihipEvent_t *hipEvent_t;
    +
    63 
    +
    64 enum hipLimit_t
    +
    65 {
    +
    66  hipLimitMallocHeapSize = 0x02,
    +
    67 };
    +
    68 
    +
    73 #define hipStreamDefault 0x00
    +
    75 #define hipStreamNonBlocking 0x01
    +
    76 
    +
    77 
    +
    79 #define hipEventDefault 0x0
    +
    80 #define hipEventBlockingSync 0x1
    +
    81 #define hipEventDisableTiming 0x2
    +
    82 #define hipEventInterprocess 0x4
    +
    83 
    +
    84 
    +
    86 #define hipHostMallocDefault 0x0
    +
    87 #define hipHostMallocPortable 0x1
    +
    88 #define hipHostMallocMapped 0x2
    +
    89 #define hipHostMallocWriteCombined 0x4
    +
    90 
    +
    92 #define hipHostRegisterDefault 0x0
    +
    93 #define hipHostRegisterPortable 0x1
    +
    94 #define hipHostRegisterMapped 0x2
    +
    95 #define hipHostRegisterIoMemory 0x4
    +
    96 
    +
    97 
    +
    98 #define hipDeviceScheduleAuto 0x0
    +
    99 #define hipDeviceScheduleSpin 0x1
    +
    100 #define hipDeviceScheduleYield 0x2
    +
    101 #define hipDeviceScheduleBlockingSync 0x4
    +
    102 #define hipDeviceScheduleMask 0x7
    +
    103 
    +
    104 #define hipDeviceMapHost 0x8
    +
    105 #define hipDeviceLmemResizeToMax 0x16
    +
    106 
    107 
    -
    108 
    -
    109 
    -
    114 typedef struct dim3 {
    -
    115  uint32_t x;
    -
    116  uint32_t y;
    -
    117  uint32_t z;
    -
    118 #ifdef __cplusplus
    -
    119  dim3(uint32_t _x=1, uint32_t _y=1, uint32_t _z=1) : x(_x), y(_y), z(_z) {};
    -
    120 #endif
    -
    121 } dim3;
    -
    122 
    -
    123 
    -
    128 typedef enum hipMemcpyKind {
    - - - - - -
    134 } hipMemcpyKind;
    -
    135 
    -
    136 
    -
    137 
    -
    138 
    -
    139 // Doxygen end group GlobalDefs
    -
    143 //-------------------------------------------------------------------------------------------------
    -
    144 
    -
    145 
    -
    146 // The handle allows the async commands to use the stream even if the parent hipStream_t goes out-of-scope.
    -
    147 //typedef class ihipStream_t * hipStream_t;
    -
    148 
    -
    149 
    -
    150 /*
    -
    151  * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the surrounding hipEvent_t goes out-of-scope.
    -
    152  * This is handy for cases where the hipEvent_t goes out-of-scope but the true event is being written by some async queue or device */
    -
    153 //typedef struct hipEvent_t {
    -
    154 // struct ihipEvent_t *_handle;
    -
    155 //} hipEvent_t;
    +
    111 typedef enum hipFuncCache {
    + + + + +
    116 } hipFuncCache;
    +
    117 
    +
    118 
    +
    122 typedef enum hipSharedMemConfig {
    + + + + +
    127 
    +
    128 
    +
    129 
    +
    134 typedef struct dim3 {
    +
    135  uint32_t x;
    +
    136  uint32_t y;
    +
    137  uint32_t z;
    +
    138 #ifdef __cplusplus
    +
    139  dim3(uint32_t _x=1, uint32_t _y=1, uint32_t _z=1) : x(_x), y(_y), z(_z) {};
    +
    140 #endif
    +
    141 } dim3;
    +
    142 
    +
    143 
    +
    148 typedef enum hipMemcpyKind {
    + + + + + +
    154 } hipMemcpyKind;
    +
    155 
    156 
    157 
    158 
    -
    159 
    -
    160 
    -
    161 
    -
    162 
    - -
    187 
    -
    188 
    -
    189 
    - -
    201 
    -
    202 
    -
    227 hipError_t hipSetDevice(int device);
    -
    228 
    -
    229 
    -
    241 hipError_t hipGetDevice(int *device);
    -
    242 
    -
    243 
    -
    251 hipError_t hipGetDeviceCount(int *count);
    -
    252 
    -
    259 hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int device);
    -
    260 
    - +
    159 // Doxygen end group GlobalDefs
    +
    163 //-------------------------------------------------------------------------------------------------
    +
    164 
    +
    165 
    +
    166 // The handle allows the async commands to use the stream even if the parent hipStream_t goes out-of-scope.
    +
    167 //typedef class ihipStream_t * hipStream_t;
    +
    168 
    +
    169 
    +
    170 /*
    +
    171  * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the surrounding hipEvent_t goes out-of-scope.
    +
    172  * This is handy for cases where the hipEvent_t goes out-of-scope but the true event is being written by some async queue or device */
    +
    173 //typedef struct hipEvent_t {
    +
    174 // struct ihipEvent_t *_handle;
    +
    175 //} hipEvent_t;
    +
    176 
    +
    177 
    +
    178 
    +
    179 
    +
    180 
    +
    181 
    +
    182 
    + +
    210 
    +
    211 
    +
    212 
    + +
    224 
    +
    225 
    +
    252 hipError_t hipSetDevice(int deviceId);
    +
    253 
    +
    254 
    +
    268 hipError_t hipGetDevice(int *deviceId);
    +
    269 
    270 
    -
    271 
    -
    272 
    -
    273 //Cache partitioning functions:
    -
    274 
    - -
    282 
    +
    282 hipError_t hipGetDeviceCount(int *count);
    283 
    - -
    291 
    -
    292 
    - -
    300 
    -
    301 //---
    -
    302 //Shared bank config functions:
    -
    303 
    - -
    311 
    -
    312 
    - -
    320 
    -
    327 hipError_t hipSetDeviceFlags ( unsigned flags);
    -
    328 
    -
    329 // end doxygen Device
    - -
    350 
    -
    351 
    - -
    364 
    -
    365 
    -
    366 
    -
    375 const char *hipGetErrorName(hipError_t hip_error);
    -
    376 
    -
    377 
    -
    388 const char *hipGetErrorString(hipError_t hip_error);
    -
    389 
    -
    390 // end doxygen Error
    -
    423 hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags);
    -
    424 
    -
    425 
    -
    426 
    -
    441 hipError_t hipStreamCreate(hipStream_t *stream);
    -
    442 
    -
    443 
    -
    459 hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
    -
    460 
    -
    461 
    -
    473 hipError_t hipStreamSynchronize(hipStream_t stream);
    -
    474 
    +
    293 hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int deviceId);
    +
    294 
    + +
    309 
    +
    310 
    + +
    321 
    +
    322 
    + +
    333 
    +
    344 hipError_t hipDeviceGetLimit(size_t *pValue, hipLimit_t limit);
    +
    345 
    +
    346 
    + +
    357 
    + +
    369 
    +
    370 
    + +
    382 
    +
    402 hipError_t hipSetDeviceFlags ( unsigned flags);
    +
    403 
    +
    412 hipError_t hipChooseDevice(int *device, hipDeviceProp_t* prop);
    +
    413 
    +
    414 // end doxygen Device
    + +
    437 
    +
    438 
    + +
    450 
    +
    451 
    +
    452 
    +
    461 const char *hipGetErrorName(hipError_t hip_error);
    +
    462 
    +
    463 
    +
    474 const char *hipGetErrorString(hipError_t hipError);
    475 
    -
    489 hipError_t hipStreamDestroy(hipStream_t stream);
    -
    490 
    -
    491 
    -
    505 hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags);
    -
    506 
    -
    507 
    -
    508 // end doxygen Stream
    -
    533 hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
    -
    534 
    -
    535 
    - -
    543 
    -
    544 
    -
    569 #ifdef __cplusplus
    -
    570 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
    -
    571 #else
    -
    572 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream);
    -
    573 #endif
    -
    574 
    - -
    586 
    -
    587 
    - +
    476 // end doxygen Error
    +
    512 hipError_t hipStreamCreate(hipStream_t *stream);
    +
    513 
    +
    514 
    +
    531 hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags);
    +
    532 
    +
    533 
    +
    549 hipError_t hipStreamDestroy(hipStream_t stream);
    +
    550 
    +
    551 
    +
    564 hipError_t hipStreamQuery(hipStream_t stream);
    +
    565 
    +
    566 
    +
    581 hipError_t hipStreamSynchronize(hipStream_t stream);
    +
    582 
    +
    583 
    +
    600 hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
    +
    601 
    602 
    603 
    -
    628 hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop);
    -
    629 
    -
    630 
    - -
    644 
    -
    645 
    -
    646 // end doxygen Events
    - -
    672 
    -
    680 hipError_t hipMalloc(void** ptr, size_t size) ;
    -
    681 
    -
    682 
    -
    690 hipError_t hipMallocHost(void** ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead"))) ;
    -
    691 
    -
    700 hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags) ;
    -
    701 hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead"))) ;;
    -
    702 
    -
    711 hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags) ;
    -
    712 
    -
    720 hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr) ;
    -
    721 
    -
    752 hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags) ;
    -
    753 
    -
    760 hipError_t hipHostUnregister(void* hostPtr) ;
    -
    761 
    -
    775 hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
    -
    776 
    -
    786 hipError_t hipFree(void* ptr);
    -
    787 
    -
    788 
    -
    789 
    -
    795 hipError_t hipFreeHost(void* ptr) __attribute__((deprecated("use hipHostFree instead"))) ;
    -
    796 
    -
    797 
    -
    807 hipError_t hipHostFree(void* ptr);
    -
    808 
    -
    809 
    -
    810 
    -
    830 hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
    -
    831 
    -
    832 
    -
    847 hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
    -
    848 
    -
    849 
    -
    869 #if __cplusplus
    -
    870 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0);
    -
    871 #else
    -
    872 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream);
    -
    873 #endif
    -
    874 
    -
    887 hipError_t hipMemset(void* dst, int value, size_t sizeBytes );
    -
    888 
    -
    889 
    -
    903 #if __cplusplus
    -
    904 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t = 0 );
    -
    905 #else
    -
    906 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream);
    -
    907 #endif
    -
    908 
    -
    915 hipError_t hipMemGetInfo (size_t * free, size_t * total) ;
    -
    916 
    -
    917 // doxygen end Memory
    -
    950 hipError_t hipDeviceCanAccessPeer (int* canAccessPeer, int deviceId, int peerDeviceId);
    -
    951 
    -
    952 
    -
    968 hipError_t hipDeviceEnablePeerAccess (int peerDeviceId, unsigned int flags);
    -
    969 
    -
    970 
    -
    981 hipError_t hipDeviceDisablePeerAccess (int peerDeviceId);
    -
    982 
    -
    983 
    -
    984 #ifdef PEER_NON_UNIFIED
    -
    985 
    -
    997 hipError_t hipMemcpyPeer (void* dst, int dstDeviceId, const void* src, int srcDeviceId, size_t sizeBytes);
    -
    998 
    -
    1011 #if __cplusplus
    -
    1012 hipError_t hipMemcpyPeerAsync ( void* dst, int dstDeviceId, const void* src, int srcDevice, size_t sizeBytes, hipStream_t stream=0 );
    -
    1013 #else
    -
    1014 hipError_t hipMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t sizeBytes, hipStream_t stream);
    -
    1015 #endif
    -
    1016 #endif
    -
    1017 
    -
    1018 
    -
    1019 // doxygen end PeerToPeer
    -
    1044 hipError_t hipDriverGetVersion(int *driverVersion) ;
    -
    1045 
    -
    1046 
    -
    1047 
    -
    1048 // doxygen end Version Management
    -
    1075 #ifdef __cplusplus
    -
    1076 } /* extern "c" */
    -
    1077 #endif
    -
    1078 
    -
    1079 
    -
    1097 // end-group HCC_Specific
    -
    1104 // doxygen end HIP API
    -
    1109 #endif
    -
    hipError_t hipHostFree(void *ptr)
    Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
    Definition: hip_memory.cpp:747
    -
    hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
    Copy data from src to dst asynchronously.
    Definition: hip_memory.cpp:452
    -
    hipError_t hipPeekAtLastError(void)
    Return last error returned by any HIP runtime API call.
    +
    617 hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags);
    +
    618 
    +
    622 typedef void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
    +
    623 
    +
    638 hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags);
    +
    639 
    +
    640 
    +
    641 // end doxygen Stream
    +
    672 hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
    +
    673 
    +
    674 
    +
    684 hipError_t hipEventCreate(hipEvent_t* event);
    +
    685 
    +
    686 
    +
    711 #ifdef __cplusplus
    +
    712 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
    +
    713 #else
    +
    714 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream);
    +
    715 #endif
    +
    716 
    +
    730 hipError_t hipEventDestroy(hipEvent_t event);
    +
    731 
    +
    732 
    +
    747 hipError_t hipEventSynchronize(hipEvent_t event);
    +
    748 
    +
    749 
    +
    776 hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop);
    +
    777 
    +
    778 
    +
    791 hipError_t hipEventQuery(hipEvent_t event) ;
    +
    792 
    +
    793 
    +
    794 // end doxygen Events
    + +
    827 
    +
    838 hipError_t hipMalloc(void** ptr, size_t size) ;
    +
    839 
    +
    850 hipError_t hipMallocHost(void** ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead"))) ;
    +
    851 
    +
    863 hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags) ;
    +
    864 
    +
    876 hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead"))) ;
    +
    877 
    +
    889 hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags) ;
    +
    890 
    +
    900 hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr) ;
    +
    901 
    +
    934 hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags) ;
    +
    935 
    +
    944 hipError_t hipHostUnregister(void* hostPtr) ;
    +
    945 
    +
    961 hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
    +
    962 
    +
    974 hipError_t hipFree(void* ptr);
    +
    975 
    +
    985 hipError_t hipFreeHost(void* ptr) __attribute__((deprecated("use hipHostFree instead")));
    +
    986 
    +
    998 hipError_t hipHostFree(void* ptr);
    +
    999 
    +
    1021 hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
    +
    1022 
    +
    1034 hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
    +
    1035 
    +
    1047 hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
    +
    1048 
    +
    1060 hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes);
    +
    1061 
    +
    1073 hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
    +
    1074 
    +
    1086 hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
    +
    1087 
    +
    1099 hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
    +
    1100 
    +
    1101 
    +
    1118 hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
    +
    1119 
    +
    1120 
    +
    1138 hipError_t hipMemcpyToSymbolAsync(const char* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream);
    +
    1139 
    +
    1140 
    +
    1141 
    +
    1164 #if __cplusplus
    +
    1165 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0);
    +
    1166 #else
    +
    1167 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream);
    +
    1168 #endif
    +
    1169 
    +
    1182 hipError_t hipMemset(void* dst, int value, size_t sizeBytes );
    +
    1183 
    +
    1184 
    +
    1198 #if __cplusplus
    +
    1199 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream = 0 );
    +
    1200 #else
    +
    1201 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream);
    +
    1202 #endif
    +
    1203 
    +
    1212 hipError_t hipMemGetInfo (size_t * free, size_t * total) ;
    +
    1213 
    +
    1214 // doxygen end Memory
    +
    1247 hipError_t hipDeviceCanAccessPeer (int* canAccessPeer, int deviceId, int peerDeviceId);
    +
    1248 
    +
    1249 
    +
    1265 hipError_t hipDeviceEnablePeerAccess (int peerDeviceId, unsigned int flags);
    +
    1266 
    +
    1267 
    +
    1278 hipError_t hipDeviceDisablePeerAccess (int peerDeviceId);
    +
    1279 
    +
    1280 
    +
    1281 #ifdef PEER_NON_UNIFIED
    +
    1282 
    +
    1294 hipError_t hipMemcpyPeer (void* dst, int dstDeviceId, const void* src, int srcDeviceId, size_t sizeBytes);
    +
    1295 
    +
    1308 #if __cplusplus
    +
    1309 hipError_t hipMemcpyPeerAsync ( void* dst, int dstDeviceId, const void* src, int srcDevice, size_t sizeBytes, hipStream_t stream=0 );
    +
    1310 #else
    +
    1311 hipError_t hipMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t sizeBytes, hipStream_t stream);
    +
    1312 #endif
    +
    1313 #endif
    +
    1314 
    +
    1315 
    +
    1316 // doxygen end PeerToPeer
    +
    1335 // TODO-ctx - more description on error codes.
    +
    1336 hipError_t hipInit(unsigned int flags) ;
    +
    1337 
    +
    1338 
    +
    1357 hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device);
    +
    1358 
    +
    1368 hipError_t hipCtxDestroy(hipCtx_t ctx);
    +
    1369 
    +
    1379 hipError_t hipCtxPopCurrent(hipCtx_t* ctx);
    +
    1380 
    +
    1390 hipError_t hipCtxPushCurrent(hipCtx_t ctx);
    +
    1391 
    +
    1401 hipError_t hipCtxSetCurrent(hipCtx_t ctx);
    +
    1402 
    +
    1412 hipError_t hipCtxGetCurrent(hipCtx_t* ctx);
    +
    1413 
    +
    1424 hipError_t hipCtxGetDevice(hipDevice_t *device);
    +
    1425 
    +
    1442 hipError_t hipCtxGetApiVersion (hipCtx_t ctx,int *apiVersion);
    +
    1443 
    + +
    1456 
    + +
    1469 
    + +
    1482 
    + +
    1495 
    +
    1505 hipError_t hipCtxSynchronize ( void );
    +
    1506 
    +
    1516 hipError_t hipCtxGetFlags ( unsigned int* flags );
    +
    1517 
    +
    1534 hipError_t hipCtxEnablePeerAccess (hipCtx_t peerCtx, unsigned int flags);
    +
    1535 
    +
    1548 hipError_t hipCtxDisablePeerAccess (hipCtx_t peerCtx);
    +
    1549 
    +
    1550 // doxygen end Context Management
    +
    1562 hipError_t hipDeviceGet(hipDevice_t *device, int ordinal);
    +
    1563 
    +
    1572 hipError_t hipDeviceComputeCapability(int *major,int *minor,hipDevice_t device);
    +
    1573 
    +
    1582 hipError_t hipDeviceGetName(char *name,int len,hipDevice_t device);
    +
    1583 
    +
    1592 hipError_t hipDeviceGetPCIBusId (int *pciBusId,int len,hipDevice_t device);
    +
    1593 
    +
    1601 hipError_t hipDeviceTotalMem (size_t *bytes,hipDevice_t device);
    +
    1602 
    +
    1618 hipError_t hipDriverGetVersion(int *driverVersion) ;
    +
    1619 
    +
    1632 hipError_t hipRuntimeGetVersion(int *runtimeVersion) ;
    +
    1633 
    +
    1644 hipError_t hipModuleLoad(hipModule_t *module, const char *fname);
    +
    1645 
    +
    1656 hipError_t hipModuleUnload(hipModule_t module);
    +
    1657 
    +
    1667 hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname);
    +
    1668 
    +
    1679 hipError_t hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name);
    +
    1680 
    +
    1681 
    +
    1690 hipError_t hipModuleLoadData(hipModule_t *module, const void *image);
    +
    1691 
    +
    1692 
    +
    1713 hipError_t hipModuleLaunchKernel(hipFunction_t f,
    +
    1714  unsigned int gridDimX,
    +
    1715  unsigned int gridDimY,
    +
    1716  unsigned int gridDimZ,
    +
    1717  unsigned int blockDimX,
    +
    1718  unsigned int blockDimY,
    +
    1719  unsigned int blockDimZ,
    +
    1720  unsigned int sharedMemBytes,
    +
    1721  hipStream_t stream,
    +
    1722  void **kernelParams,
    +
    1723  void **extra) ;
    +
    1724 
    +
    1725 // doxygen end Version Management
    +
    1752 #ifdef __cplusplus
    +
    1753 } /* extern "c" */
    +
    1754 #endif
    +
    1755 
    +
    1756 
    +
    1774 // end-group HCC_Specific
    +
    1781 // doxygen end HIP API
    +
    1786 #endif
    +
    hipError_t hipHostFree(void *ptr)
    Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
    Definition: hip_memory.cpp:964
    +
    hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
    Function with kname will be extracted if present in module.
    Definition: hip_module.cpp:224
    +
    hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
    Disable direct access from current context's virtual address space to memory allocations physically l...
    Definition: hip_peer.cpp:201
    +
    hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
    Copy data from src to dst asynchronously.
    Definition: hip_memory.cpp:558
    +
    hipError_t hipDriverGetVersion(int *driverVersion)
    Returns the approximate HIP driver version.
    Definition: hip_context.cpp:82
    +
    hipError_t hipPeekAtLastError(void)
    Return last error returned by any HIP runtime API call.
    Definition: hip_error.cpp:42
    +
    Definition: hip_hcc.h:504
    struct dim3 dim3
    -
    hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int device)
    Returns device properties.
    Definition: hip_device.cpp:261
    -
    hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
    Definition: hip_memory.cpp:202
    -
    hipError_t hipMemcpyToSymbol(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
    Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...
    Definition: hip_memory.cpp:400
    -
    hipError_t hipFuncSetCacheConfig(hipFuncCache config)
    Set Cache configuration for a specific function.
    Definition: hip_device.cpp:90
    -
    no preference for shared memory or L1 (default)
    Definition: hip_runtime_api.h:92
    -
    uint32_t x
    x
    Definition: hip_runtime_api.h:115
    -
    Host-to-Device Copy.
    Definition: hip_runtime_api.h:130
    -
    hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
    Enable direct access from current device's virtual address space to memory allocations physically loc...
    Definition: hip_peer.cpp:106
    -
    hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
    Get Shared memory bank configuration.
    Definition: hip_device.cpp:120
    -
    hipError_t hipSetDevice(int device)
    Set default device to be used for subsequent hip API calls from this thread.
    Definition: hip_device.cpp:133
    -
    Definition: hip_runtime_api.h:117
    -
    Device-to-Host Copy.
    Definition: hip_runtime_api.h:131
    -
    hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
    Get Device pointer from Host Pointer allocated through hipHostAlloc.
    -
    hipError_t hipEventSynchronize(hipEvent_t event)
    : Wait for an event to complete.
    Definition: hip_event.cpp:120
    -
    hipError_t hipSetDeviceFlags(unsigned flags)
    Set Device flags.
    -
    hipFuncCache
    Definition: hip_runtime_api.h:91
    -
    hipError_t hipEventQuery(hipEvent_t event)
    Query event status.
    Definition: hip_event.cpp:194
    -
    hipError_t hipDeviceGetCacheConfig(hipFuncCache *cacheConfig)
    Set Cache configuration for a specific function.
    Definition: hip_device.cpp:76
    -
    hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
    Disable direct access from current device's virtual address space to memory allocations physically lo...
    Definition: hip_peer.cpp:63
    -
    hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device)
    Query device attribute.
    Definition: hip_device.cpp:185
    -
    hipError_t hipMallocHost(void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead")))
    Allocate pinned host memory.
    Definition: hip_memory.cpp:196
    -
    hipError_t hipGetDevice(int *device)
    Return the default device id for the calling host thread.
    Definition: hip_device.cpp:31
    -
    hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
    Allocate device accessible page locked host memory.
    Definition: hip_memory.cpp:149
    -
    hipDeviceAttribute_t
    Definition: hip_runtime_api.h:172
    -
    hipError_t hipEventDestroy(hipEvent_t event)
    Destroy the specified event.
    Definition: hip_event.cpp:105
    -
    hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
    Create an asynchronous stream.
    Definition: hip_stream.cpp:54
    -
    Definition: hip_runtime_api.h:114
    -
    uint32_t y
    y
    Definition: hip_runtime_api.h:116
    -
    prefer equal size L1 cache and shared memory
    Definition: hip_runtime_api.h:95
    -
    hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
    Create an event with the specified flags.
    Definition: hip_event.cpp:53
    -
    hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
    Return the elapsed time between two events.
    Definition: hip_event.cpp:149
    -
    hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
    Determine if a device can access a peer's memory.
    Definition: hip_peer.cpp:30
    -
    hipError_t hipGetDeviceCount(int *count)
    Return number of compute-capable devices.
    Definition: hip_device.cpp:44
    -
    hipError_t hipMemset(void *dst, int value, size_t sizeBytes)
    Copy data from src to dst asynchronously.
    Definition: hip_memory.cpp:633
    -
    hipError_t hipStreamDestroy(hipStream_t stream)
    Destroys the specified stream.
    Definition: hip_stream.cpp:117
    -
    hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
    Get flags associated with host pointer.
    Definition: hip_memory.cpp:313
    -
    hipError_t hipStreamSynchronize(hipStream_t stream)
    Wait for all commands in stream to complete.
    Definition: hip_stream.cpp:94
    -
    Shared mem is banked at 4-bytes intervals and performs best when adjacent threads access data 4 bytes...
    Definition: hip_runtime_api.h:104
    -
    hipError_t
    Definition: hip_runtime_api.h:144
    -
    hipMemcpyKind
    Definition: hip_runtime_api.h:128
    -
    prefer larger L1 cache and smaller shared memory
    Definition: hip_runtime_api.h:94
    -
    hipError_t hipDriverGetVersion(int *driverVersion)
    Returns the approximate HIP driver version.
    Definition: hip_peer.cpp:163
    -
    hipError_t hipDeviceSynchronize(void)
    Blocks until the default device has completed all preceding requested tasks.
    Definition: hip_device.cpp:149
    -
    Definition: hip_runtime_api.h:47
    -
    hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
    Register host memory so it can be accessed from the current device.
    Definition: hip_memory.cpp:339
    -
    hipError_t hipDeviceSetCacheConfig(hipFuncCache cacheConfig)
    Set L1/Shared cache partition.
    Definition: hip_device.cpp:62
    -
    hipError_t hipMalloc(void **ptr, size_t size)
    Allocate memory on the default accelerator.
    Definition: hip_memory.cpp:117
    -
    const char * hipGetErrorName(hipError_t hip_error)
    Return name of the specified error code in text form.
    Definition: hip_error.cpp:53
    -
    hipError_t hipGetLastError(void)
    Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
    Definition: hip_error.cpp:31
    -
    hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
    Make the specified compute stream wait for an event.
    Definition: hip_stream.cpp:75
    -
    hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
    Return flags associated with this stream.
    Definition: hip_stream.cpp:146
    -
    hipError_t hipMemGetInfo(size_t *free, size_t *total)
    Query memory info. Return snapshot of free memory, and total allocatable memory on the device...
    Definition: hip_memory.cpp:689
    -
    hipError_t hipFree(void *ptr)
    Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
    Definition: hip_memory.cpp:719
    -
    uint32_t z
    z
    Definition: hip_runtime_api.h:117
    -
    hipError_t hipDeviceReset(void)
    Destroy all resources and reset all state on the default device in the current process.
    Definition: hip_device.cpp:163
    -
    Definition: hip_runtime_api.h:74
    -
    hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream)
    Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
    Definition: hip_memory.cpp:583
    -
    The compiler selects a device-specific value for the banking.
    Definition: hip_runtime_api.h:103
    -
    Device-to-Device Copy.
    Definition: hip_runtime_api.h:132
    -
    Definition: hip_hcc.h:492
    -
    Runtime will automatically determine copy-kind based on virtual addresses.
    Definition: hip_runtime_api.h:133
    -
    hipSharedMemConfig
    Definition: hip_runtime_api.h:102
    -
    hipError_t hipHostUnregister(void *hostPtr)
    Un-register host pointer.
    Definition: hip_memory.cpp:382
    -
    Definition: hip_hcc.h:393
    -
    hipError_t hipStreamCreate(hipStream_t *stream)
    Create an asynchronous stream.
    Definition: hip_stream.cpp:63
    -
    hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
    Copy data from src to dst.
    Definition: hip_memory.cpp:421
    +
    hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
    Returns the compute capability of the device.
    Definition: hip_device.cpp:306
    +
    TODO-doc.
    +
    hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
    Definition: hip_memory.cpp:191
    +
    hipError_t hipMemcpyToSymbol(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
    Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...
    Definition: hip_memory.cpp:387
    +
    hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags)
    Adds a callback to be called on the host after all currently enqueued items in the stream have comple...
    Definition: hip_stream.cpp:202
    +
    hipError_t hipFuncSetCacheConfig(hipFuncCache config)
    Set Cache configuration for a specific function.
    Definition: hip_device.cpp:108
    +
    no preference for shared memory or L1 (default)
    Definition: hip_runtime_api.h:112
    +
    uint32_t x
    x
    Definition: hip_runtime_api.h:135
    +
    Host-to-Device Copy.
    Definition: hip_runtime_api.h:150
    +
    hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
    Enable direct access from current device's virtual address space to memory allocations physically loc...
    Definition: hip_peer.cpp:173
    +
    hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
    Pop the current/default context and return the popped context.
    Definition: hip_context.cpp:132
    +
    const char * hipGetErrorString(hipError_t hipError)
    Return handy text string message to explain the error which occurred.
    Definition: hip_error.cpp:57
    +
    hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
    Returns bank width of shared memory for current device.
    Definition: hip_device.cpp:126
    +
    Definition: hip_runtime_api.h:125
    +
    Device-to-Host Copy.
    Definition: hip_runtime_api.h:151
    +
    hipError_t hipCtxGetCacheConfig(hipFuncCache *cacheConfig)
    Set Cache configuration for a specific function.
    Definition: hip_context.cpp:220
    +
    hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
    Get Device pointer from Host Pointer allocated through hipHostMalloc.
    +
    hipError_t hipEventSynchronize(hipEvent_t event)
    Wait for an event to complete.
    Definition: hip_event.cpp:113
    +
    Definition: hip_hcc.h:340
    +
    hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
    Copy data from Host to Device.
    Definition: hip_memory.cpp:474
    +
    hipError_t hipModuleUnload(hipModule_t module)
    Frees the module.
    Definition: hip_module.cpp:167
    +
    hipError_t hipSetDeviceFlags(unsigned flags)
    The current device behavior is changed according the flags passed.
    +
    hipFuncCache
    Definition: hip_runtime_api.h:111
    +
    hipError_t hipEventQuery(hipEvent_t event)
    Query event status.
    Definition: hip_event.cpp:179
    +
    hipError_t hipDeviceGetCacheConfig(hipFuncCache *cacheConfig)
    Set Cache configuration for a specific function.
    Definition: hip_device.cpp:83
    +
    hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
    Disable direct access from current device's virtual address space to memory allocations physically lo...
    Definition: hip_peer.cpp:165
    +
    hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
    Get Shared memory bank configuration.
    Definition: hip_context.cpp:247
    +
    hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
    Create a context and set it as current/ default context.
    Definition: hip_context.cpp:56
    +
    hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
    Set Shared memory bank configuration.
    Definition: hip_context.cpp:238
    +
    hipError_t hipCtxSetCurrent(hipCtx_t ctx)
    Set the passed context as current/default.
    Definition: hip_context.cpp:179
    +
    hipError_t hipMallocHost(void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead")))
    Allocate pinned host memory [Deprecated].
    Definition: hip_memory.cpp:180
    +
    hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
    Allocate device accessible page locked host memory.
    Definition: hip_memory.cpp:142
    +
    Definition: hip_hcc.h:603
    +
    hipError_t hipCtxSetCacheConfig(hipFuncCache cacheConfig)
    Set L1/Shared cache partition.
    Definition: hip_context.cpp:229
    +
    hipError_t hipModuleLoadData(hipModule_t *module, const void *image)
    builds module from code object which resides in host memory. Image is pointer to that location...
    Definition: hip_module.cpp:365
    +
    hipDeviceAttribute_t
    Definition: hip_runtime_api.h:221
    +
    hipError_t hipEventDestroy(hipEvent_t event)
    Destroy the specified event.
    Definition: hip_event.cpp:100
    +
    hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
    Create an asynchronous stream.
    Definition: hip_stream.cpp:63
    +
    hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
    launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
    +
    Definition: hip_runtime_api.h:134
    +
    uint32_t y
    y
    Definition: hip_runtime_api.h:136
    +
    prefer equal size L1 cache and shared memory
    Definition: hip_runtime_api.h:115
    +
    hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
    Loads code object from file into a hipModule_t.
    Definition: hip_module.cpp:106
    +
    hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
    Create an event with the specified flags.
    Definition: hip_event.cpp:54
    +
    hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
    Return the elapsed time between two events.
    Definition: hip_event.cpp:137
    +
    hipError_t hipDeviceGetLimit(size_t *pValue, hipLimit_t limit)
    Get Resource limits of current device.
    Definition: hip_device.cpp:94
    +
    hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
    Determine if a device can access a peer's memory.
    Definition: hip_peer.cpp:158
    +
    hipError_t hipGetDeviceCount(int *count)
    Return number of compute-capable devices.
    Definition: hip_device.cpp:54
    +
    hipError_t hipMemset(void *dst, int value, size_t sizeBytes)
    Copy data from src to dst asynchronously.
    Definition: hip_memory.cpp:851
    +
    hipError_t hipStreamDestroy(hipStream_t stream)
    Destroys the specified stream.
    Definition: hip_stream.cpp:157
    +
    hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
    Return flags associated with host pointer.
    Definition: hip_memory.cpp:303
    +
    hipError_t hipStreamSynchronize(hipStream_t stream)
    Wait for all commands in stream to complete.
    Definition: hip_stream.cpp:134
    +
    hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
    Copy data from Device to Device.
    Definition: hip_memory.cpp:516
    +
    Shared mem is banked at 4-bytes intervals and performs best when adjacent threads access data 4 bytes...
    Definition: hip_runtime_api.h:124
    +
    hipError_t
    Definition: hip_runtime_api.h:152
    +
    hipError_t hipDeviceGetPCIBusId(int *pciBusId, int len, hipDevice_t device)
    Returns a PCI Bus Id string for the device.
    Definition: hip_device.cpp:326
    +
    hipMemcpyKind
    Definition: hip_runtime_api.h:148
    +
    hipError_t hipCtxSynchronize(void)
    Blocks until the default context has completed all preceding requested tasks.
    Definition: hip_context.cpp:256
    +
    prefer larger L1 cache and smaller shared memory
    Definition: hip_runtime_api.h:114
    +
    hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
    Get the handle of the current/ default context.
    Definition: hip_context.cpp:166
    +
    hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
    Copy data from Device to Host asynchronously.
    Definition: hip_memory.cpp:636
    +
    hipError_t hipDeviceSynchronize(void)
    Waits on all active streams on current device.
    Definition: hip_device.cpp:146
    +
    hipError_t hipCtxPushCurrent(hipCtx_t ctx)
    Push the context to be set as current/ default context.
    Definition: hip_context.cpp:152
    +
    hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
    Copy data from Device to Host.
    Definition: hip_memory.cpp:495
    +
    Definition: hip_hcc.h:330
    +
    hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
    Returns an identifer string for the device.
    Definition: hip_device.cpp:316
    +
    hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
    Returns device properties.
    Definition: hip_device.cpp:245
    +
    hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
    Register host memory so it can be accessed from the current device.
    Definition: hip_memory.cpp:327
    +
    hipError_t hipDeviceSetCacheConfig(hipFuncCache cacheConfig)
    Set L1/Shared cache partition.
    Definition: hip_device.cpp:74
    +
    hipError_t hipMalloc(void **ptr, size_t size)
    Allocate memory on the default accelerator.
    Definition: hip_memory.cpp:103
    +
    const char * hipGetErrorName(hipError_t hip_error)
    Return name of the specified error code in text form.
    Definition: hip_error.cpp:50
    +
    hipError_t hipGetLastError(void)
    Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
    Definition: hip_error.cpp:32
    +
    hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
    Make the specified compute stream wait for an event.
    Definition: hip_stream.cpp:80
    +
    hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
    Return flags associated with this stream.
    Definition: hip_stream.cpp:186
    +
    hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead")))
    Allocate device accessible page locked host memory [Deprecated].
    Definition: hip_memory.cpp:185
    +
    hipError_t hipMemGetInfo(size_t *free, size_t *total)
    Query memory info. Return snapshot of free memory, and total allocatable memory on the device...
    Definition: hip_memory.cpp:903
    +
    hipError_t hipCtxGetDevice(hipDevice_t *device)
    Get the handle of the device associated with current/default context.
    Definition: hip_context.cpp:193
    +
    hipError_t hipFree(void *ptr)
    Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
    Definition: hip_memory.cpp:937
    +
    uint32_t z
    z
    Definition: hip_runtime_api.h:137
    +
    hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
    Returns the approximate HIP api version.
    Definition: hip_context.cpp:209
    +
    hipError_t hipDeviceReset(void)
    The state of current device is discarded and updated to a fresh state.
    Definition: hip_device.cpp:152
    +
    hipError_t hipInit(unsigned int flags)
    Explicitly initializes the HIP runtime.
    Definition: hip_context.cpp:42
    +
    hipError_t hipRuntimeGetVersion(int *runtimeVersion)
    Returns the approximate HIP Runtime version.
    Definition: hip_context.cpp:96
    +
    hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
    Copy data from Device to Device asynchronously.
    Definition: hip_memory.cpp:609
    +
    Definition: hip_runtime_api.h:82
    +
    hipError_t hipSetDevice(int deviceId)
    Set default device to be used for subsequent hip API calls from this thread.
    Definition: hip_device.cpp:135
    +
    hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
    Returns a handle to a compute device.
    Definition: hip_context.cpp:68
    +
    hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
    Returns the total amount of memory on the device.
    Definition: hip_device.cpp:335
    +
    hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream)
    Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
    Definition: hip_memory.cpp:802
    +
    The compiler selects a device-specific value for the banking.
    Definition: hip_runtime_api.h:123
    +
    hipError_t hipCtxGetFlags(unsigned int *flags)
    Return flags used for creating default context.
    Definition: hip_context.cpp:262
    +
    Device-to-Device Copy.
    Definition: hip_runtime_api.h:152
    +
    hipError_t hipCtxDestroy(hipCtx_t ctx)
    Destroy a HIP context.
    Definition: hip_context.cpp:110
    +
    Definition: hip_hcc.h:487
    +
    Runtime will automatically determine copy-kind based on virtual addresses.
    Definition: hip_runtime_api.h:153
    +
    hipSharedMemConfig
    Definition: hip_runtime_api.h:122
    +
    hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
    Query for a specific device attribute.
    Definition: hip_device.cpp:171
    +
    hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
    Copy data from Host to Device asynchronously.
    Definition: hip_memory.cpp:583
    +
    hipError_t hipChooseDevice(int *device, hipDeviceProp_t *prop)
    Device which matches hipDeviceProp_t is returned.
    +
    hipError_t hipHostUnregister(void *hostPtr)
    Un-register host pointer.
    Definition: hip_memory.cpp:370
    +
    Definition: hip_hcc.h:397
    +
    hipError_t hipStreamCreate(hipStream_t *stream)
    Create an asynchronous stream.
    Definition: hip_stream.cpp:72
    +
    hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
    Copy data from src to dst.
    Definition: hip_memory.cpp:453
    hipError_t hipEventCreate(hipEvent_t *event)
    Definition: hip_event.cpp:61
    -
    hipError_t hipFreeHost(void *ptr) __attribute__((deprecated("use hipHostFree instead")))
    Free memory allocated by the hcc hip host memory allocation API. [Deprecated.].
    Definition: hip_memory.cpp:776
    -
    hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
    Set Shared memory bank configuration.
    Definition: hip_device.cpp:105
    -
    hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
    Record an event in the specified stream.
    Definition: hip_event.cpp:70
    -
    prefer larger shared memory and smaller L1 cache
    Definition: hip_runtime_api.h:93
    -
    Host-to-Host Copy.
    Definition: hip_runtime_api.h:129
    -
    hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr)
    Return attributes for the specified pointer.
    Definition: hip_memory.cpp:37
    -
    Shared mem is banked at 8-byte intervals and performs best when adjacent threads access data 4 bytes ...
    Definition: hip_runtime_api.h:105
    -
    const char * hipGetErrorString(hipError_t hip_error)
    Return handy text string message to explain the error which occurred.
    Definition: hip_error.cpp:66
    +
    hipError_t hipFreeHost(void *ptr) __attribute__((deprecated("use hipHostFree instead")))
    Free memory allocated by the hcc hip host memory allocation API. [Deprecated].
    Definition: hip_memory.cpp:991
    +
    void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
    Definition: hip_runtime_api.h:622
    +
    hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
    Enables direct access to memory allocations in a peer context.
    Definition: hip_peer.cpp:194
    +
    hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
    The bank width of shared memory on current device is set.
    Definition: hip_device.cpp:117
    +
    hipError_t hipMemcpyToSymbolAsync(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream)
    Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...
    Definition: hip_memory.cpp:414
    +
    hipError_t hipGetDevice(int *deviceId)
    Return the default device id for the calling host thread.
    Definition: hip_device.cpp:31
    +
    hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
    Record an event in the specified stream.
    Definition: hip_event.cpp:68
    +
    prefer larger shared memory and smaller L1 cache
    Definition: hip_runtime_api.h:113
    +
    hipError_t hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
    returns device memory pointer and size of the kernel present in the module with symbol name ...
    Definition: hip_module.cpp:344
    +
    Host-to-Host Copy.
    Definition: hip_runtime_api.h:149
    +
    hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr)
    Return attributes for the specified pointer.
    Definition: hip_memory.cpp:36
    +
    hipError_t hipStreamQuery(hipStream_t stream)
    Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not.
    Definition: hip_stream.cpp:113
    +
    Shared mem is banked at 8-byte intervals and performs best when adjacent threads access data 4 bytes ...
    Definition: hip_runtime_api.h:125
    diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h.html b/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h.html index b8997e9315..a871ee9b62 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_vector_types.h File Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_vector_types.h File Reference @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -96,7 +96,8 @@

    Defines the different newt vector types for HIP runtime. More...

    -
    #include "hip/hcc_detail/host_defines.h"
    +
    #include <hc_short_vector.hpp>
    +#include "hip/hcc_detail/host_defines.h"

    Go to the source code of this file.

    @@ -409,7 +410,7 @@ diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html index d9c6847bbc..1f1e181664 100644 --- a/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_vector_types.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_vector_types.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -118,12 +118,12 @@
    32 #error("This version of HIP requires a newer version of HCC.");
    33 #endif
    34 
    -
    35 #if __cplusplus
    +
    35 #if __HCC__
    36 #include <hc_short_vector.hpp>
    37 
    38 using namespace hc::short_vector;
    -
    39 #endif
    -
    40 
    +
    39 
    +
    40 
    41 //-- Signed
    42 // Define char vector types
    43 typedef hc::short_vector::char1 char1;
    @@ -201,163 +201,309 @@
    115 typedef hc::short_vector::double3 double3;
    116 typedef hc::short_vector::double4 double4;
    117 
    -
    118 #if __HCC__
    -
    119 #include"hip/hcc_detail/host_defines.h"
    -
    120 #define __HIP_DEVICE__ __device__ __host__
    -
    121 #else
    -
    122 #define __HIP_DEVICE__
    -
    123 #endif
    -
    124 
    -
    125 __HIP_DEVICE__ char1 make_char1(signed char );
    -
    126 __HIP_DEVICE__ char2 make_char2(signed char, signed char );
    -
    127 __HIP_DEVICE__ char3 make_char3(signed char, signed char, signed char );
    -
    128 __HIP_DEVICE__ char4 make_char4(signed char, signed char, signed char, signed char );
    +
    118 #else
    +
    119 
    +
    120 #define __hip_align(name, val, data) \
    +
    121  __attribute__((aligned(val))) name \
    +
    122  { data }
    +
    123 
    +
    124 struct __hip_align(char1, 1, signed char x;);
    +
    125 struct __hip_align(uchar1, 1, unsigned char x;);
    +
    126 
    +
    127 struct __hip_align(char2, 2, signed char x; signed char y;);
    +
    128 struct __hip_align(uchar2, 2, unsigned char x; unsigned char y;);
    129 
    -
    130 __HIP_DEVICE__ short1 make_short1(short );
    -
    131 __HIP_DEVICE__ short2 make_short2(short, short );
    -
    132 __HIP_DEVICE__ short3 make_short3(short, short, short );
    -
    133 __HIP_DEVICE__ short4 make_short4(short, short, short, short );
    +
    130 struct char3
    +
    131 {
    +
    132  signed char x, y, z;
    +
    133 };
    134 
    -
    135 __HIP_DEVICE__ int1 make_int1(int );
    -
    136 __HIP_DEVICE__ int2 make_int2(int, int );
    -
    137 __HIP_DEVICE__ int3 make_int3(int, int, int );
    -
    138 __HIP_DEVICE__ int4 make_int4(int, int, int, int );
    +
    135 struct uchar3
    +
    136 {
    +
    137  unsigned char x, y, z;
    +
    138 };
    139 
    -
    140 __HIP_DEVICE__ long1 make_long1(long );
    -
    141 __HIP_DEVICE__ long2 make_long2(long, long );
    -
    142 __HIP_DEVICE__ long3 make_long3(long, long, long );
    -
    143 __HIP_DEVICE__ long4 make_long4(long, long, long, long );
    -
    144 
    -
    145 __HIP_DEVICE__ longlong1 make_longlong1(long long );
    -
    146 __HIP_DEVICE__ longlong2 make_longlong2(long long, long long );
    -
    147 __HIP_DEVICE__ longlong3 make_longlong3(long long, long long, long long );
    -
    148 __HIP_DEVICE__ longlong4 make_longlong4(long long, long long, long long, long long );
    -
    149 
    -
    150 __HIP_DEVICE__ uchar1 make_uchar1(unsigned char );
    -
    151 __HIP_DEVICE__ uchar2 make_uchar2(unsigned char, unsigned char );
    -
    152 __HIP_DEVICE__ uchar3 make_uchar3(unsigned char, unsigned char, unsigned char );
    -
    153 __HIP_DEVICE__ uchar4 make_uchar4(unsigned char, unsigned char, unsigned char, unsigned char );
    -
    154 
    -
    155 __HIP_DEVICE__ ushort1 make_ushort1(unsigned short );
    -
    156 __HIP_DEVICE__ ushort2 make_ushort2(unsigned short, unsigned short );
    -
    157 __HIP_DEVICE__ ushort3 make_ushort3(unsigned short, unsigned short, unsigned short );
    -
    158 __HIP_DEVICE__ ushort4 make_ushort4(unsigned short, unsigned short, unsigned short, unsigned short );
    -
    159 
    -
    160 __HIP_DEVICE__ uint1 make_uint1(unsigned int );
    -
    161 __HIP_DEVICE__ uint2 make_uint2(unsigned int, unsigned int );
    -
    162 __HIP_DEVICE__ uint3 make_uint3(unsigned int, unsigned int, unsigned int );
    -
    163 __HIP_DEVICE__ uint4 make_uint4(unsigned int, unsigned int, unsigned int, unsigned int );
    +
    140 struct __hip_align(char4, 4, signed char x; signed char y; signed char z; signed char w;);
    +
    141 struct __hip_align(uchar4, 4, unsigned char x; unsigned char y; unsigned char z; unsigned char w;);
    +
    142 
    +
    143 struct __hip_align(short1, 2, signed short x;);
    +
    144 struct __hip_align(ushort1, 2, unsigned short x;);
    +
    145 
    +
    146 struct __hip_align(short2, 4, signed short x; signed short y;);
    +
    147 struct __hip_align(ushort2, 4, unsigned short x; unsigned short y;);
    +
    148 
    +
    149 struct short3
    +
    150 {
    +
    151  signed short x, y, z;
    +
    152 };
    +
    153 
    +
    154 struct ushort3
    +
    155 {
    +
    156  unsigned short x, y, z;
    +
    157 };
    +
    158 
    +
    159 struct __hip_align(short4, 8, signed short x; signed short y; signed short z; signed short w;);
    +
    160 struct __hip_align(ushort4, 8, unsigned short x; unsigned short y; unsigned short z; unsigned short w;);
    +
    161 
    +
    162 struct __hip_align(int1, 4, signed int x;);
    +
    163 struct __hip_align(uint1, 4, unsigned int x;);
    164 
    -
    165 __HIP_DEVICE__ ulong1 make_ulong1(unsigned long );
    -
    166 __HIP_DEVICE__ ulong2 make_ulong2(unsigned long, unsigned long );
    -
    167 __HIP_DEVICE__ ulong3 make_ulong3(unsigned long, unsigned long, unsigned long );
    -
    168 __HIP_DEVICE__ ulong4 make_ulong4(unsigned long, unsigned long, unsigned long, unsigned long );
    -
    169 
    -
    170 __HIP_DEVICE__ ulonglong1 make_ulonglong1(unsigned long long );
    -
    171 __HIP_DEVICE__ ulonglong2 make_ulonglong2(unsigned long long, unsigned long long);
    -
    172 __HIP_DEVICE__ ulonglong3 make_ulonglong3(unsigned long long, unsigned long long, unsigned long long);
    -
    173 __HIP_DEVICE__ ulonglong4 make_ulonglong4(unsigned long long, unsigned long long, unsigned long long, unsigned long long );
    +
    165 struct __hip_align(int2, 8, signed int x; signed int y;);
    +
    166 struct __hip_align(uint2, 8, unsigned int x; unsigned int y;);
    +
    167 
    +
    168 struct int3{
    +
    169  signed int x, y, z;
    +
    170 };
    +
    171 struct uint3{
    +
    172  unsigned int x, y, z;
    +
    173 };
    174 
    -
    175 __HIP_DEVICE__ float1 make_float1(float );
    -
    176 __HIP_DEVICE__ float2 make_float2(float, float );
    -
    177 __HIP_DEVICE__ float3 make_float3(float, float, float );
    -
    178 __HIP_DEVICE__ float4 make_float4(float, float, float, float );
    -
    179 
    -
    180 __HIP_DEVICE__ double1 make_double1(double );
    -
    181 __HIP_DEVICE__ double2 make_double2(double, double );
    -
    182 __HIP_DEVICE__ double3 make_double3(double, double, double );
    -
    183 __HIP_DEVICE__ double4 make_double4(double, double, double, double );
    -
    184 
    -
    185 /*
    -
    187 // Inline functions for creating vector types from basic types
    -
    188 #define ONE_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x) { VT t; t.x = x; return t; };
    -
    189 #define TWO_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x, T y) { VT t; t.x=x; t.y=y; return t; };
    -
    190 #define THREE_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x, T y, T z) { VT t; t.x=x; t.y=y; t.z=z; return t; };
    -
    191 #define FOUR_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x, T y, T z, T w) { VT t; t.x=x; t.y=y; t.z=z; t.w=w; return t; };
    -
    192 
    -
    193 
    -
    194 //signed:
    -
    195 ONE_COMPONENT_ACCESS (signed char, char1);
    -
    196 TWO_COMPONENT_ACCESS (signed char, char2);
    -
    197 THREE_COMPONENT_ACCESS(signed char, char3);
    -
    198 FOUR_COMPONENT_ACCESS (signed char, char4);
    -
    199 
    -
    200 ONE_COMPONENT_ACCESS (short, short1);
    -
    201 TWO_COMPONENT_ACCESS (short, short2);
    -
    202 THREE_COMPONENT_ACCESS(short, short3);
    -
    203 FOUR_COMPONENT_ACCESS (short, short4);
    -
    204 
    -
    205 ONE_COMPONENT_ACCESS (int, int1);
    -
    206 TWO_COMPONENT_ACCESS (int, int2);
    -
    207 THREE_COMPONENT_ACCESS(int, int3);
    -
    208 FOUR_COMPONENT_ACCESS (int, int4);
    -
    209 
    -
    210 ONE_COMPONENT_ACCESS (long int, long1);
    -
    211 TWO_COMPONENT_ACCESS (long int, long2);
    -
    212 THREE_COMPONENT_ACCESS(long int, long3);
    -
    213 FOUR_COMPONENT_ACCESS (long int, long4);
    -
    214 
    -
    215 ONE_COMPONENT_ACCESS (long long int, ulong1);
    -
    216 TWO_COMPONENT_ACCESS (long long int, ulong2);
    -
    217 THREE_COMPONENT_ACCESS(long long int, ulong3);
    -
    218 FOUR_COMPONENT_ACCESS (long long int, ulong4);
    -
    219 
    -
    220 ONE_COMPONENT_ACCESS (long long int, longlong1);
    -
    221 TWO_COMPONENT_ACCESS (long long int, longlong2);
    -
    222 THREE_COMPONENT_ACCESS(long long int, longlong3);
    -
    223 FOUR_COMPONENT_ACCESS (long long int, longlong4);
    -
    224 
    -
    225 
    -
    226 // unsigned:
    -
    227 ONE_COMPONENT_ACCESS (unsigned char, uchar1);
    -
    228 TWO_COMPONENT_ACCESS (unsigned char, uchar2);
    -
    229 THREE_COMPONENT_ACCESS(unsigned char, uchar3);
    -
    230 FOUR_COMPONENT_ACCESS (unsigned char, uchar4);
    -
    231 
    -
    232 ONE_COMPONENT_ACCESS (unsigned short, ushort1);
    -
    233 TWO_COMPONENT_ACCESS (unsigned short, ushort2);
    -
    234 THREE_COMPONENT_ACCESS(unsigned short, ushort3);
    -
    235 FOUR_COMPONENT_ACCESS (unsigned short, ushort4);
    -
    236 
    -
    237 ONE_COMPONENT_ACCESS (unsigned int, uint1);
    -
    238 TWO_COMPONENT_ACCESS (unsigned int, uint2);
    -
    239 THREE_COMPONENT_ACCESS(unsigned int, uint3);
    -
    240 FOUR_COMPONENT_ACCESS (unsigned int, uint4);
    -
    241 
    -
    242 ONE_COMPONENT_ACCESS (unsigned long int, ulong1);
    -
    243 TWO_COMPONENT_ACCESS (unsigned long int, ulong2);
    -
    244 THREE_COMPONENT_ACCESS(unsigned long int, ulong3);
    -
    245 FOUR_COMPONENT_ACCESS (unsigned long int, ulong4);
    -
    246 
    -
    247 ONE_COMPONENT_ACCESS (unsigned long long int, ulong1);
    -
    248 TWO_COMPONENT_ACCESS (unsigned long long int, ulong2);
    -
    249 THREE_COMPONENT_ACCESS(unsigned long long int, ulong3);
    -
    250 FOUR_COMPONENT_ACCESS (unsigned long long int, ulong4);
    -
    251 
    -
    252 ONE_COMPONENT_ACCESS (unsigned long long int, ulonglong1);
    -
    253 TWO_COMPONENT_ACCESS (unsigned long long int, ulonglong2);
    -
    254 THREE_COMPONENT_ACCESS(unsigned long long int, ulonglong3);
    -
    255 FOUR_COMPONENT_ACCESS (unsigned long long int, ulonglong4);
    -
    256 
    -
    257 
    -
    258 //Floating point
    -
    259 ONE_COMPONENT_ACCESS (float, float1);
    -
    260 TWO_COMPONENT_ACCESS (float, float2);
    -
    261 THREE_COMPONENT_ACCESS(float, float3);
    -
    262 FOUR_COMPONENT_ACCESS (float, float4);
    -
    263 
    -
    264 ONE_COMPONENT_ACCESS (double, double1);
    -
    265 TWO_COMPONENT_ACCESS (double, double2);
    -
    266 THREE_COMPONENT_ACCESS(double, double3);
    -
    267 FOUR_COMPONENT_ACCESS (double, double4);
    -
    268 */
    -
    269 
    -
    270 #endif
    -
    271 
    +
    175 struct __hip_align(int4, 16, signed int x; signed int y; signed int z; signed int w;);
    +
    176 struct __hip_align(uint4, 16, unsigned int x; unsigned int y; unsigned int z; unsigned int w;);
    +
    177 
    +
    178 struct __hip_align(long1, 8, long int x;);
    +
    179 struct __hip_align(ulong1, 8, unsigned long x;);
    +
    180 
    +
    181 struct __hip_align(long2, 16, long int x; long int y;);
    +
    182 struct __hip_align(ulong2, 16, unsigned long x; unsigned long y;);
    +
    183 
    +
    184 struct long3{
    +
    185  long int x, y, z;
    +
    186 };
    +
    187 struct ulong3{
    +
    188  unsigned long x, y, z;
    +
    189 };
    +
    190 
    +
    191 struct __hip_align(long4, 32, long int x; long int y; long int z; long int w;);
    +
    192 struct __hip_align(ulong4, 32, unsigned long x; unsigned long y; unsigned long z; unsigned long w;);
    +
    193 
    +
    194 struct float1
    +
    195 {
    +
    196  float x;
    +
    197 };
    +
    198 
    +
    199 struct __hip_align(float2, 8, float x; float y;);
    +
    200 
    +
    201 struct float3
    +
    202 {
    +
    203  float x, y, z;
    +
    204 };
    +
    205 
    +
    206 struct __hip_align(float4, 16, float x; float y; float z; float w;);
    +
    207 
    +
    208 struct __hip_align(longlong1, 16, long long int x;);
    +
    209 struct __hip_align(ulonglong1, 16, unsigned long long int x;);
    +
    210 
    +
    211 struct __attribute__((aligned(32))) longlong2
    +
    212 {
    +
    213  long long int x, y;
    +
    214 };
    +
    215 
    +
    216 struct __attribute__((aligned(32))) ulonglong2
    +
    217 {
    +
    218  unsigned long long int x, y;
    +
    219 };
    +
    220 
    +
    221 struct longlong3
    +
    222 {
    +
    223  long long int x, y, z;
    +
    224 };
    +
    225 
    +
    226 struct ulonglong3
    +
    227 {
    +
    228  unsigned long long int x, y, z;
    +
    229 };
    +
    230 
    +
    231 struct __attribute__((aligned(64))) longlong4
    +
    232 {
    +
    233  long long int x, y, z, w;
    +
    234 };
    +
    235 
    +
    236 struct __attribute__((aligned(64))) ulonglong4
    +
    237 {
    +
    238  unsigned long long int x, y, z, w;
    +
    239 };
    +
    240 
    +
    241 struct double1
    +
    242 {
    +
    243  double x;
    +
    244 };
    +
    245 
    +
    246 struct __attribute__((aligned(16))) double2
    +
    247 {
    +
    248  double x, y;
    +
    249 };
    +
    250 
    +
    251 struct double3
    +
    252 {
    +
    253  double x, y, z;
    +
    254 };
    +
    255 
    +
    256 struct __attribute__((aligned(32))) double4
    +
    257 {
    +
    258  double x, y, z, w;
    +
    259 };
    +
    260 
    +
    261 #endif
    +
    262 
    +
    263 #if __HCC__
    + +
    265 #define __HIP_DEVICE__ __device__ __host__
    +
    266 #else
    +
    267 #define __HIP_DEVICE__
    +
    268 #endif
    +
    269 
    +
    270 __HIP_DEVICE__ char1 make_char1(signed char );
    +
    271 __HIP_DEVICE__ char2 make_char2(signed char, signed char );
    +
    272 __HIP_DEVICE__ char3 make_char3(signed char, signed char, signed char );
    +
    273 __HIP_DEVICE__ char4 make_char4(signed char, signed char, signed char, signed char );
    +
    274 
    +
    275 __HIP_DEVICE__ short1 make_short1(short );
    +
    276 __HIP_DEVICE__ short2 make_short2(short, short );
    +
    277 __HIP_DEVICE__ short3 make_short3(short, short, short );
    +
    278 __HIP_DEVICE__ short4 make_short4(short, short, short, short );
    +
    279 
    +
    280 __HIP_DEVICE__ int1 make_int1(int );
    +
    281 __HIP_DEVICE__ int2 make_int2(int, int );
    +
    282 __HIP_DEVICE__ int3 make_int3(int, int, int );
    +
    283 __HIP_DEVICE__ int4 make_int4(int, int, int, int );
    +
    284 
    +
    285 __HIP_DEVICE__ long1 make_long1(long );
    +
    286 __HIP_DEVICE__ long2 make_long2(long, long );
    +
    287 __HIP_DEVICE__ long3 make_long3(long, long, long );
    +
    288 __HIP_DEVICE__ long4 make_long4(long, long, long, long );
    +
    289 
    +
    290 __HIP_DEVICE__ longlong1 make_longlong1(long long );
    +
    291 __HIP_DEVICE__ longlong2 make_longlong2(long long, long long );
    +
    292 __HIP_DEVICE__ longlong3 make_longlong3(long long, long long, long long );
    +
    293 __HIP_DEVICE__ longlong4 make_longlong4(long long, long long, long long, long long );
    +
    294 
    +
    295 __HIP_DEVICE__ uchar1 make_uchar1(unsigned char );
    +
    296 __HIP_DEVICE__ uchar2 make_uchar2(unsigned char, unsigned char );
    +
    297 __HIP_DEVICE__ uchar3 make_uchar3(unsigned char, unsigned char, unsigned char );
    +
    298 __HIP_DEVICE__ uchar4 make_uchar4(unsigned char, unsigned char, unsigned char, unsigned char );
    +
    299 
    +
    300 __HIP_DEVICE__ ushort1 make_ushort1(unsigned short );
    +
    301 __HIP_DEVICE__ ushort2 make_ushort2(unsigned short, unsigned short );
    +
    302 __HIP_DEVICE__ ushort3 make_ushort3(unsigned short, unsigned short, unsigned short );
    +
    303 __HIP_DEVICE__ ushort4 make_ushort4(unsigned short, unsigned short, unsigned short, unsigned short );
    +
    304 
    +
    305 __HIP_DEVICE__ uint1 make_uint1(unsigned int );
    +
    306 __HIP_DEVICE__ uint2 make_uint2(unsigned int, unsigned int );
    +
    307 __HIP_DEVICE__ uint3 make_uint3(unsigned int, unsigned int, unsigned int );
    +
    308 __HIP_DEVICE__ uint4 make_uint4(unsigned int, unsigned int, unsigned int, unsigned int );
    +
    309 
    +
    310 __HIP_DEVICE__ ulong1 make_ulong1(unsigned long );
    +
    311 __HIP_DEVICE__ ulong2 make_ulong2(unsigned long, unsigned long );
    +
    312 __HIP_DEVICE__ ulong3 make_ulong3(unsigned long, unsigned long, unsigned long );
    +
    313 __HIP_DEVICE__ ulong4 make_ulong4(unsigned long, unsigned long, unsigned long, unsigned long );
    +
    314 
    +
    315 __HIP_DEVICE__ ulonglong1 make_ulonglong1(unsigned long long );
    +
    316 __HIP_DEVICE__ ulonglong2 make_ulonglong2(unsigned long long, unsigned long long);
    +
    317 __HIP_DEVICE__ ulonglong3 make_ulonglong3(unsigned long long, unsigned long long, unsigned long long);
    +
    318 __HIP_DEVICE__ ulonglong4 make_ulonglong4(unsigned long long, unsigned long long, unsigned long long, unsigned long long );
    +
    319 
    +
    320 __HIP_DEVICE__ float1 make_float1(float );
    +
    321 __HIP_DEVICE__ float2 make_float2(float, float );
    +
    322 __HIP_DEVICE__ float3 make_float3(float, float, float );
    +
    323 __HIP_DEVICE__ float4 make_float4(float, float, float, float );
    +
    324 
    +
    325 __HIP_DEVICE__ double1 make_double1(double );
    +
    326 __HIP_DEVICE__ double2 make_double2(double, double );
    +
    327 __HIP_DEVICE__ double3 make_double3(double, double, double );
    +
    328 __HIP_DEVICE__ double4 make_double4(double, double, double, double );
    +
    329 
    +
    330 /*
    +
    332 // Inline functions for creating vector types from basic types
    +
    333 #define ONE_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x) { VT t; t.x = x; return t; };
    +
    334 #define TWO_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x, T y) { VT t; t.x=x; t.y=y; return t; };
    +
    335 #define THREE_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x, T y, T z) { VT t; t.x=x; t.y=y; t.z=z; return t; };
    +
    336 #define FOUR_COMPONENT_ACCESS(T, VT) inline VT make_ ##VT [[hc]] [[cpu]] (T x, T y, T z, T w) { VT t; t.x=x; t.y=y; t.z=z; t.w=w; return t; };
    +
    337 
    +
    338 
    +
    339 //signed:
    +
    340 ONE_COMPONENT_ACCESS (signed char, char1);
    +
    341 TWO_COMPONENT_ACCESS (signed char, char2);
    +
    342 THREE_COMPONENT_ACCESS(signed char, char3);
    +
    343 FOUR_COMPONENT_ACCESS (signed char, char4);
    +
    344 
    +
    345 ONE_COMPONENT_ACCESS (short, short1);
    +
    346 TWO_COMPONENT_ACCESS (short, short2);
    +
    347 THREE_COMPONENT_ACCESS(short, short3);
    +
    348 FOUR_COMPONENT_ACCESS (short, short4);
    +
    349 
    +
    350 ONE_COMPONENT_ACCESS (int, int1);
    +
    351 TWO_COMPONENT_ACCESS (int, int2);
    +
    352 THREE_COMPONENT_ACCESS(int, int3);
    +
    353 FOUR_COMPONENT_ACCESS (int, int4);
    +
    354 
    +
    355 ONE_COMPONENT_ACCESS (long int, long1);
    +
    356 TWO_COMPONENT_ACCESS (long int, long2);
    +
    357 THREE_COMPONENT_ACCESS(long int, long3);
    +
    358 FOUR_COMPONENT_ACCESS (long int, long4);
    +
    359 
    +
    360 ONE_COMPONENT_ACCESS (long long int, ulong1);
    +
    361 TWO_COMPONENT_ACCESS (long long int, ulong2);
    +
    362 THREE_COMPONENT_ACCESS(long long int, ulong3);
    +
    363 FOUR_COMPONENT_ACCESS (long long int, ulong4);
    +
    364 
    +
    365 ONE_COMPONENT_ACCESS (long long int, longlong1);
    +
    366 TWO_COMPONENT_ACCESS (long long int, longlong2);
    +
    367 THREE_COMPONENT_ACCESS(long long int, longlong3);
    +
    368 FOUR_COMPONENT_ACCESS (long long int, longlong4);
    +
    369 
    +
    370 
    +
    371 // unsigned:
    +
    372 ONE_COMPONENT_ACCESS (unsigned char, uchar1);
    +
    373 TWO_COMPONENT_ACCESS (unsigned char, uchar2);
    +
    374 THREE_COMPONENT_ACCESS(unsigned char, uchar3);
    +
    375 FOUR_COMPONENT_ACCESS (unsigned char, uchar4);
    +
    376 
    +
    377 ONE_COMPONENT_ACCESS (unsigned short, ushort1);
    +
    378 TWO_COMPONENT_ACCESS (unsigned short, ushort2);
    +
    379 THREE_COMPONENT_ACCESS(unsigned short, ushort3);
    +
    380 FOUR_COMPONENT_ACCESS (unsigned short, ushort4);
    +
    381 
    +
    382 ONE_COMPONENT_ACCESS (unsigned int, uint1);
    +
    383 TWO_COMPONENT_ACCESS (unsigned int, uint2);
    +
    384 THREE_COMPONENT_ACCESS(unsigned int, uint3);
    +
    385 FOUR_COMPONENT_ACCESS (unsigned int, uint4);
    +
    386 
    +
    387 ONE_COMPONENT_ACCESS (unsigned long int, ulong1);
    +
    388 TWO_COMPONENT_ACCESS (unsigned long int, ulong2);
    +
    389 THREE_COMPONENT_ACCESS(unsigned long int, ulong3);
    +
    390 FOUR_COMPONENT_ACCESS (unsigned long int, ulong4);
    +
    391 
    +
    392 ONE_COMPONENT_ACCESS (unsigned long long int, ulong1);
    +
    393 TWO_COMPONENT_ACCESS (unsigned long long int, ulong2);
    +
    394 THREE_COMPONENT_ACCESS(unsigned long long int, ulong3);
    +
    395 FOUR_COMPONENT_ACCESS (unsigned long long int, ulong4);
    +
    396 
    +
    397 ONE_COMPONENT_ACCESS (unsigned long long int, ulonglong1);
    +
    398 TWO_COMPONENT_ACCESS (unsigned long long int, ulonglong2);
    +
    399 THREE_COMPONENT_ACCESS(unsigned long long int, ulonglong3);
    +
    400 FOUR_COMPONENT_ACCESS (unsigned long long int, ulonglong4);
    +
    401 
    +
    402 
    +
    403 //Floating point
    +
    404 ONE_COMPONENT_ACCESS (float, float1);
    +
    405 TWO_COMPONENT_ACCESS (float, float2);
    +
    406 THREE_COMPONENT_ACCESS(float, float3);
    +
    407 FOUR_COMPONENT_ACCESS (float, float4);
    +
    408 
    +
    409 ONE_COMPONENT_ACCESS (double, double1);
    +
    410 TWO_COMPONENT_ACCESS (double, double2);
    +
    411 THREE_COMPONENT_ACCESS(double, double3);
    +
    412 FOUR_COMPONENT_ACCESS (double, double4);
    +
    413 */
    +
    414 
    +
    415 #endif
    +
    416 
    +
    TODO-doc.
    diff --git a/docs/RuntimeAPI/html/hierarchy.html b/docs/RuntimeAPI/html/hierarchy.html index d1fa11b1f4..2a03c63edb 100644 --- a/docs/RuntimeAPI/html/hierarchy.html +++ b/docs/RuntimeAPI/html/hierarchy.html @@ -73,7 +73,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -90,37 +90,40 @@
    This inheritance list is sorted roughly, but not completely, alphabetically:
    [detail level 12]
    - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    oC__half
    oCdim3
    oCexception
    |\CihipException
    oCFakeMutex
    oChipArray
    oChipChannelFormatDesc
    oChipDeviceArch_t
    oChipDeviceProp_t
    oChipEvent_t
    oChipPointerAttribute_t
    oCihipDevice_t
    oCihipEvent_t
    oCihipSignal_t
    oCihipStream_t
    oCLockedAccessor< T >
    oCLockedBase< MUTEX_TYPE >
    |oCihipDeviceCriticalBase_t< MUTEX_TYPE >
    |\CihipStreamCriticalBase_t< MUTEX_TYPE >
    oCLockedBase< DeviceMutex >
    |\CihipDeviceCriticalBase_t< DeviceMutex >
    oCLockedBase< StreamMutex >
    |\CihipStreamCriticalBase_t< StreamMutex >
    oCStagingBuffer
    oCstruct_float
    \CtextureReference
    oCDbName
    oCdim3
    oCexception
    |\CihipException
    oCFakeMutex
    oChipArray
    oChipChannelFormatDesc
    oChipDeviceArch_t
    oChipDeviceProp_t
    oChipDoubleComplex
    oChipFloatComplex
    oChipPointerAttribute_t
    oCihipCtx_t
    oCihipDevice_t
    oCihipEvent_t
    oCihipFunction_t
    oCihipModule_t
    oCihipStream_t
    oCLockedAccessor< T >
    oCLockedBase< MUTEX_TYPE >
    |oCihipCtxCriticalBase_t< MUTEX_TYPE >
    |\CihipStreamCriticalBase_t< MUTEX_TYPE >
    oCLockedBase< CtxMutex >
    |\CihipCtxCriticalBase_t< CtxMutex >
    oCLockedBase< StreamMutex >
    |\CihipStreamCriticalBase_t< StreamMutex >
    oCstruct_float
    \CtextureReference
    diff --git a/docs/RuntimeAPI/html/hip__common_8h_source.html b/docs/RuntimeAPI/html/hip__common_8h_source.html index 2c90f6b2b6..5a14ac4e4a 100644 --- a/docs/RuntimeAPI/html/hip__common_8h_source.html +++ b/docs/RuntimeAPI/html/hip__common_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hip_common.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hip_common.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -178,7 +178,7 @@
    diff --git a/docs/RuntimeAPI/html/hip__complex_8h_source.html b/docs/RuntimeAPI/html/hip__complex_8h_source.html new file mode 100644 index 0000000000..e84bbb4c92 --- /dev/null +++ b/docs/RuntimeAPI/html/hip__complex_8h_source.html @@ -0,0 +1,134 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hip_complex.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    hip_complex.h
    +
    +
    +
    1 /*
    +
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #pragma once
    +
    24 
    +
    25 #include <hip/hip_common.h>
    +
    26 
    +
    27 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    +
    28 #include <hip/hcc_detail/hip_complex.h>
    +
    29 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    +
    30 #include <hip/nvcc_detail/hip_complex.h>
    +
    31 #else
    +
    32 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    +
    33 #endif
    +
    34 
    +
    + + + + diff --git a/docs/RuntimeAPI/html/hip__fp16_8h_source.html b/docs/RuntimeAPI/html/hip__fp16_8h_source.html index bbe4c1db48..6dc0a612aa 100644 --- a/docs/RuntimeAPI/html/hip__fp16_8h_source.html +++ b/docs/RuntimeAPI/html/hip__fp16_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hip_fp16.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hip_fp16.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -91,38 +91,41 @@
    1 /*
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    -
    3 Permission is hereby granted, free of charge, to any person obtaining a copy
    -
    4 of this software and associated documentation files (the "Software"), to deal
    -
    5 in the Software without restriction, including without limitation the rights
    -
    6 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -
    7 copies of the Software, and to permit persons to whom the Software is
    -
    8 furnished to do so, subject to the following conditions:
    -
    9 The above copyright notice and this permission notice shall be included in
    -
    10 all copies or substantial portions of the Software.
    -
    11 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
    -
    12 IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -
    13 FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -
    14 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
    -
    15 LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -
    16 OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -
    17 THE SOFTWARE.
    -
    18 */
    -
    19 
    -
    20 #pragma once
    -
    21 
    -
    22 #include <hip/hip_common.h>
    -
    23 
    -
    24 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    -
    25 #include <hip/hcc_detail/hip_fp16.h>
    -
    26 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    -
    27 #include "cuda_fp16.h"
    -
    28 #else
    -
    29 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    -
    30 #endif
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #pragma once
    +
    24 
    +
    25 #include <hip/hip_common.h>
    +
    26 
    +
    27 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    +
    28 #include <hip/hcc_detail/hip_fp16.h>
    +
    29 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    +
    30 #include "cuda_fp16.h"
    +
    31 #else
    +
    32 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    +
    33 #endif
    diff --git a/docs/RuntimeAPI/html/hip__hcc_8cpp.html b/docs/RuntimeAPI/html/hip__hcc_8cpp.html index d7273d5482..886d2de13e 100644 --- a/docs/RuntimeAPI/html/hip__hcc_8cpp.html +++ b/docs/RuntimeAPI/html/hip__hcc_8cpp.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/src/hip_hcc.cpp File Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/src/hip_hcc.cpp File Reference @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -103,88 +103,143 @@ #include <deque>
    #include <vector>
    #include <algorithm>
    +#include <atomic>
    #include <hc.hpp>
    #include <hc_am.hpp>
    -#include "hip_runtime.h"
    -#include "hcc_detail/hip_hcc.h"
    -#include "hsa_ext_amd.h"
    -#include "hsakmt.h"
    -#include "hcc_detail/trace_helper.h"
    +#include "hsa/hsa_ext_amd.h"
    +#include "libhsakmt/hsakmt.h"
    +#include "hip/hip_runtime.h"
    +#include "hip_hcc.h"
    +#include "trace_helper.h"
    - - + + + + + + + + + + + + + + + + + + + + + +

    Macros

    -#define DeviceErrorCheck(x)   if (x != HSA_STATUS_SUCCESS) { return hipErrorInvalidDevice; }
     
    +#define HIP_USE_PRODUCT_NAME   0
     
    +#define NUM_PAGES_PER_THREAD   16
     
    +#define SIZE_OF_PAGE   64
     
    +#define NUM_THREADS_PER_CU   64
     
    +#define NUM_CUS_PER_GPU   64
     
    +#define NUM_PAGES   NUM_PAGES_PER_THREAD * NUM_THREADS_PER_CU * NUM_CUS_PER_GPU
     
    +#define SIZE_MALLOC   NUM_PAGES * SIZE_OF_PAGE
     
    +#define SIZE_OF_HEAP   SIZE_MALLOC
     
    #define ErrorCheck(x)   error_check(x, __LINE__, __FILE__)
     
    +#define DeviceErrorCheck(x)   if (x != HSA_STATUS_SUCCESS) { return hipErrorInvalidDevice; }
     
    #define READ_ENV_I(_build, _ENV_VAR, _ENV_VAR2, _description)
     
    #define READ_ENV_S(_build, _ENV_VAR, _ENV_VAR2, _description)
     
    +#define CASE_STRING(X)   case X: return #X ;break;
     
    - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - +hipStream_t  - - - - - - - - - - - - - - + + + + + + + + + + +void  + + +void  - + + + - +

    Functions

    -const char * ihipErrorString (hipError_t hip_error)
     
    -bool ihipIsValidDevice (unsigned deviceIndex)
     
    -ihipDevice_tgetDevice (unsigned deviceIndex)
     
    +std::string HIP_TRACE_API_COLOR ("green")
     
    __attribute__ ((address_space(1))) char gpuHeap[SIZE_OF_HEAP]
     
    +__device__ void * __hip_hc_malloc (size_t size)
     
    +__device__ void * __hip_hc_free (void *ptr)
     
    +ihipDevice_tihipGetDevice (int deviceIndex)
     
    +ihipCtx_tihipGetPrimaryCtx (unsigned deviceIndex)
     
    +void ihipSetTlsDefaultCtx (ihipCtx_t *ctx)
     
    +ihipCtx_tihipGetTlsDefaultCtx ()
     
    +hipError_t ihipSynchronize (void)
     
    void error_check (hsa_status_t hsa_error_code, int line_num, std::string str)
     
    +hsa_status_t FindGpuDevice (hsa_agent_t agent, void *data)
     
    +hsa_status_t GetDevicePool (hsa_amd_memory_pool_t pool, void *data)
     
    +int checkAccess (hsa_agent_t agent, hsa_amd_memory_pool_t pool)
     
    hsa_status_t get_region_info (hsa_region_t region, void *data)
     
    void ihipReadEnv_I (int *var_ptr, const char *var_name1, const char *var_name2, const char *description)
     
    +void ihipReadEnv_S (std::string *var_ptr, const char *var_name1, const char *var_name2, const char *description)
     
    void ihipInit ()
     
    -ihipDevice_tihipGetTlsDefaultDevice ()
     
    -ihipDevice_tihipGetDevice (int deviceId)
     
    -hipStream_t ihipSyncAndResolveStream (hipStream_t stream)
    ihipSyncAndResolveStream (hipStream_t stream)
     
    -std::vector
    -< hc::completion_future * > 
    vCF (64)
     
    -void incKernelCnt (hc::completion_future *cf)
     
    -void decKernelCnt ()
     
    -hipStream_t ihipPreLaunchKernel (hipStream_t stream, dim3 grid, dim3 block, grid_launch_parm *lp)
     
    -hipStream_t ihipPreLaunchKernel (hipStream_t stream, size_t grid, dim3 block, grid_launch_parm *lp)
     
    -hipStream_t ihipPreLaunchKernel (hipStream_t stream, dim3 grid, size_t block, grid_launch_parm *lp)
     
    -hipStream_t ihipPreLaunchKernel (hipStream_t stream, size_t grid, size_t block, grid_launch_parm *lp)
     
    +void ihipPrintKernelLaunch (const char *kernelName, const grid_launch_parm *lp, const hipStream_t stream)
     
    +hipStream_t ihipPreLaunchKernel (hipStream_t stream, dim3 grid, dim3 block, grid_launch_parm *lp, const char *kernelNameStr)
     
    +hipStream_t ihipPreLaunchKernel (hipStream_t stream, size_t grid, dim3 block, grid_launch_parm *lp, const char *kernelNameStr)
     
    +hipStream_t ihipPreLaunchKernel (hipStream_t stream, dim3 grid, size_t block, grid_launch_parm *lp, const char *kernelNameStr)
     
    +hipStream_t ihipPreLaunchKernel (hipStream_t stream, size_t grid, size_t block, grid_launch_parm *lp, const char *kernelNameStr)
     
    -void ihipPostLaunchKernel (hipStream_t stream, grid_launch_parm &lp)
    ihipPostLaunchKernel (hipStream_t stream, grid_launch_parm &lp)
     
    +const char * ihipErrorString (hipError_t hip_error)
     
    -void ihipSetTs (hipEvent_t e)
    ihipSetTs (hipEvent_t e)
     
    hipError_t hipHccGetAccelerator (int deviceId, hc::accelerator *acc)
    +const char * memcpyStr (unsigned memKind)
     
    +hipError_t hipHccGetAccelerator (int deviceId, hc::accelerator *acc)
     
    hipError_t hipHccGetAcceleratorView (hipStream_t stream, hc::accelerator_view **av)
    +hipError_t hipHccGetAcceleratorView (hipStream_t stream, hc::accelerator_view **av)
     
    + + + + @@ -207,39 +268,21 @@ - - - - - - - - - - - - - - - - + + + + - - + + @@ -252,9 +295,15 @@ - - + + + + + +

    @@ -192,6 +247,12 @@

    const int release = 1
     
    +const char * API_COLOR = KGRN
     
    +const char * API_COLOR_END = KNRM
     
    int HIP_LAUNCH_BLOCKING = 0
     
    int HIP_DB = 0
     
    -int HIP_STAGING_SIZE = 64
     
    -int HIP_STAGING_BUFFERS = 2
     
    -int HIP_PININPLACE = 0
     
    -int HIP_STREAM_SIGNALS = 2
     
    int HIP_VISIBLE_DEVICES = 0
     
    -int HIP_DISABLE_HW_KERNEL_DEP = 0
     
    -int HIP_DISABLE_HW_COPY_DEP = 0
     
    -thread_local int tls_defaultDevice = 0
     
    -thread_local hipError_t tls_lastHipError = hipSuccess
     
    +int HIP_NUM_KERNELS_INFLIGHT = 128
     
    +int HIP_WAIT_MODE = 0
     
    std::once_flag hip_initialized
     
    -ihipDevice_tg_devices
     
    +ihipDevice_t ** g_deviceArray
     
    bool g_visible_device = false
     
    hsa_agent_t g_cpu_agent
     
    -uint32_t kernelCount = 0
     
    +unsigned g_numLogicalThreads
     
    +size_t g_malloc_heap_size = SIZE_OF_HEAP
     
    +thread_local hipError_t tls_lastHipError = hipSuccess
     

    Detailed Description

    Contains definitions for functions that are large enough that we don't want to inline them everywhere. This file is compiled and linked into apps running HIP / HCC path.

    @@ -300,49 +349,33 @@
    -

    Function Documentation

    - +
    - + - - + + - - + + + - - - -
    hipError_t hipHccGetAccelerator #define READ_ENV_S (int deviceId,  _build,
    hc::accelerator * acc  _ENV_VAR,
    )
    -
    -
    - -
    -
    - - - - - - + + - - + + @@ -351,14 +384,16 @@

    Function Documentation

    hipError_t hipHccGetAcceleratorView (hipStream_t stream,  _ENV_VAR2,
    hc::accelerator_view ** av  _description 
    -
    Returns
    hipSuccess
    - +Value:
    if (_build == release) {\
    +
    ihipReadEnv_S(&_ENV_VAR, #_ENV_VAR, #_ENV_VAR2, _description);\
    +
    };
    +
    diff --git a/docs/RuntimeAPI/html/hip__hcc_8h_source.html b/docs/RuntimeAPI/html/hip__hcc_8h_source.html index 9e81bd0ef2..3a99d472d0 100644 --- a/docs/RuntimeAPI/html/hip__hcc_8h_source.html +++ b/docs/RuntimeAPI/html/hip__hcc_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_hcc.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/src/hip_hcc.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -91,151 +91,151 @@
    1 /*
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    -
    3 Permission is hereby granted, free of charge, to any person obtaining a copy
    -
    4 of this software and associated documentation files (the "Software"), to deal
    -
    5 in the Software without restriction, including without limitation the rights
    -
    6 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -
    7 copies of the Software, and to permit persons to whom the Software is
    -
    8 furnished to do so, subject to the following conditions:
    -
    9 The above copyright notice and this permission notice shall be included in
    -
    10 all copies or substantial portions of the Software.
    -
    11 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
    -
    12 IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -
    13 FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -
    14 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
    -
    15 LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -
    16 OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -
    17 THE SOFTWARE.
    -
    18 */
    -
    19 
    -
    20 #ifndef HIP_HCC_H
    -
    21 #define HIP_HCC_H
    -
    22 
    -
    23 #include <hc.hpp>
    -
    24 #include "hip/hcc_detail/hip_util.h"
    -
    25 #include "hip/hcc_detail/staging_buffer.h"
    -
    26 
    -
    27 
    -
    28 #if defined(__HCC__) && (__hcc_workweek__ < 16186)
    -
    29 #error("This version of HIP requires a newer version of HCC.");
    -
    30 #endif
    -
    31 
    -
    32 // #define USE_MEMCPYTOSYMBOL
    -
    33 //
    -
    34 //Use the new HCC accelerator_view::copy instead of am_copy
    -
    35 #define USE_AV_COPY 0
    -
    36 
    -
    37 // Compile peer-to-peer support.
    -
    38 // >= 2 : use HCC hc:accelerator::get_is_peer
    -
    39 // >= 3 : use hc::am_memtracker_update_peers(...)
    -
    40 #define USE_PEER_TO_PEER 3
    -
    41 
    -
    42 
    -
    43 //---
    -
    44 // Environment variables:
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HIP_HCC_H
    +
    24 #define HIP_HCC_H
    +
    25 
    +
    26 #include <hc.hpp>
    +
    27 #include <hsa/hsa.h>
    +
    28 #include "hip_util.h"
    +
    29 
    +
    30 
    +
    31 #if defined(__HCC__) && (__hcc_workweek__ < 16354)
    +
    32 #error("This version of HIP requires a newer version of HCC.");
    +
    33 #endif
    +
    34 
    +
    35 #define USE_DISPATCH_HSA_KERNEL 0
    +
    36 //
    +
    37 
    +
    38 
    +
    39 //---
    +
    40 // Environment variables:
    +
    41 
    +
    42 // Intended to distinguish whether an environment variable should be visible only in debug mode, or in debug+release.
    +
    43 //static const int debug = 0;
    +
    44 extern const int release;
    45 
    -
    46 // Intended to distinguish whether an environment variable should be visible only in debug mode, or in debug+release.
    -
    47 //static const int debug = 0;
    -
    48 extern const int release;
    -
    49 
    -
    50 extern int HIP_LAUNCH_BLOCKING;
    -
    51 
    -
    52 extern int HIP_PRINT_ENV;
    -
    53 extern int HIP_ATP_MARKER;
    -
    54 //extern int HIP_TRACE_API;
    -
    55 extern int HIP_ATP;
    -
    56 extern int HIP_DB;
    -
    57 extern int HIP_STAGING_SIZE; /* size of staging buffers, in KB */
    -
    58 extern int HIP_STAGING_BUFFERS; // TODO - remove, two buffers should be enough.
    -
    59 extern int HIP_PININPLACE;
    -
    60 extern int HIP_STREAM_SIGNALS; /* number of signals to allocate at stream creation */
    -
    61 extern int HIP_VISIBLE_DEVICES; /* Contains a comma-separated sequence of GPU identifiers */
    -
    62 
    -
    63 
    -
    64 //---
    -
    65 // Chicken bits for disabling functionality to work around potential issues:
    -
    66 extern int HIP_DISABLE_HW_KERNEL_DEP;
    -
    67 extern int HIP_DISABLE_HW_COPY_DEP;
    -
    68 
    -
    69 extern thread_local int tls_defaultDevice;
    -
    70 extern thread_local hipError_t tls_lastHipError;
    -
    71 class ihipStream_t;
    -
    72 class ihipDevice_t;
    -
    73 
    -
    74 
    -
    75 // Color defs for debug messages:
    -
    76 #define KNRM "\x1B[0m"
    -
    77 #define KRED "\x1B[31m"
    -
    78 #define KGRN "\x1B[32m"
    -
    79 #define KYEL "\x1B[33m"
    -
    80 #define KBLU "\x1B[34m"
    -
    81 #define KMAG "\x1B[35m"
    -
    82 #define KCYN "\x1B[36m"
    -
    83 #define KWHT "\x1B[37m"
    -
    84 
    -
    85 #define API_COLOR KGRN
    -
    86 
    -
    87 
    -
    88 // If set, thread-safety is enforced on all stream functions.
    -
    89 // Stream functions will acquire a mutex before entering critical sections.
    -
    90 #define STREAM_THREAD_SAFE 1
    -
    91 
    -
    92 
    -
    93 #define DEVICE_THREAD_SAFE 1
    -
    94 
    -
    95 // If FORCE_COPY_DEP=1 , HIP runtime will add
    -
    96 // synchronization for copy commands in the same stream, regardless of command type.
    -
    97 // If FORCE_COPY_DEP=0 data copies of the same kind (H2H, H2D, D2H, D2D) are assumed to be implicitly ordered.
    -
    98 // ROCR runtime implementation currently provides this guarantee when using SDMA queues but not
    -
    99 // when using shader queues.
    -
    100 // TODO - measure if this matters for performance, in particular for back-to-back small copies.
    -
    101 // If not, we can simplify the copy dependency tracking by collapsing to a single Copy type, and always forcing dependencies for copy commands.
    -
    102 #define FORCE_SAMEDIR_COPY_DEP 1
    -
    103 
    -
    104 
    -
    105 // Compile debug trace mode - this prints debug messages to stderr when env var HIP_DB is set.
    -
    106 // May be set to 0 to remove debug if checks - possible code size and performance difference?
    -
    107 #define COMPILE_HIP_DB 1
    -
    108 
    -
    109 
    -
    110 // Compile HIP tracing capability.
    -
    111 // 0x1 = print a string at function entry with arguments.
    -
    112 // 0x2 = prints a simple message with function name + return code when function exits.
    -
    113 // 0x3 = print both.
    -
    114 // Must be enabled at runtime with HIP_TRACE_API
    -
    115 #define COMPILE_HIP_TRACE_API 0x3
    +
    46 extern int HIP_LAUNCH_BLOCKING;
    +
    47 
    +
    48 extern int HIP_PRINT_ENV;
    +
    49 extern int HIP_ATP_MARKER;
    +
    50 //extern int HIP_TRACE_API;
    +
    51 extern int HIP_ATP;
    +
    52 extern int HIP_DB;
    +
    53 extern int HIP_STAGING_SIZE; /* size of staging buffers, in KB */
    +
    54 extern int HIP_STREAM_SIGNALS; /* number of signals to allocate at stream creation */
    +
    55 extern int HIP_VISIBLE_DEVICES; /* Contains a comma-separated sequence of GPU identifiers */
    +
    56 
    +
    57 
    +
    58 //---
    +
    59 // Chicken bits for disabling functionality to work around potential issues:
    +
    60 extern int HIP_DISABLE_HW_KERNEL_DEP;
    +
    61 
    +
    62 //---
    +
    63 //Extern tls
    +
    64 extern thread_local hipError_t tls_lastHipError;
    +
    65 
    +
    66 
    +
    67 //---
    +
    68 //Forward defs:
    +
    69 class ihipStream_t;
    +
    70 class ihipDevice_t;
    +
    71 class ihipCtx_t;
    +
    72 
    +
    73 // Color defs for debug messages:
    +
    74 #define KNRM "\x1B[0m"
    +
    75 #define KRED "\x1B[31m"
    +
    76 #define KGRN "\x1B[32m"
    +
    77 #define KYEL "\x1B[33m"
    +
    78 #define KBLU "\x1B[34m"
    +
    79 #define KMAG "\x1B[35m"
    +
    80 #define KCYN "\x1B[36m"
    +
    81 #define KWHT "\x1B[37m"
    +
    82 
    +
    83 extern const char *API_COLOR;
    +
    84 extern const char *API_COLOR_END;
    +
    85 
    +
    86 
    +
    87 // If set, thread-safety is enforced on all stream functions.
    +
    88 // Stream functions will acquire a mutex before entering critical sections.
    +
    89 #define STREAM_THREAD_SAFE 1
    +
    90 
    +
    91 
    +
    92 #define CTX_THREAD_SAFE 1
    +
    93 
    +
    94 
    +
    95 // Compile debug trace mode - this prints debug messages to stderr when env var HIP_DB is set.
    +
    96 // May be set to 0 to remove debug if checks - possible code size and performance difference?
    +
    97 #define COMPILE_HIP_DB 1
    +
    98 
    +
    99 
    +
    100 // Compile HIP tracing capability.
    +
    101 // 0x1 = print a string at function entry with arguments.
    +
    102 // 0x2 = prints a simple message with function name + return code when function exits.
    +
    103 // 0x3 = print both.
    +
    104 // Must be enabled at runtime with HIP_TRACE_API
    +
    105 #define COMPILE_HIP_TRACE_API 0x3
    +
    106 
    +
    107 
    +
    108 // Compile code that generates trace markers for CodeXL ATP at HIP function begin/end.
    +
    109 // ATP is standard CodeXL format that includes timestamps for kernels, HSA RT APIs, and HIP APIs.
    +
    110 #ifndef COMPILE_HIP_ATP_MARKER
    +
    111 #define COMPILE_HIP_ATP_MARKER 0
    +
    112 #endif
    +
    113 
    +
    114 
    +
    115 #define DB_SHOW_TID 0
    116 
    -
    117 
    -
    118 // Compile code that generates trace markers for CodeXL ATP at HIP function begin/end.
    -
    119 // ATP is standard CodeXL format that includes timestamps for kernels, HSA RT APIs, and HIP APIs.
    -
    120 #ifndef COMPILE_HIP_ATP_MARKER
    -
    121 #define COMPILE_HIP_ATP_MARKER 0
    -
    122 #endif
    -
    123 
    -
    124 
    -
    125 // #include CPP files to produce one object file
    -
    126 #define ONE_OBJECT_FILE 0
    -
    127 
    -
    128 
    -
    129 // Compile support for trace markers that are displayed on CodeXL GUI at start/stop of each function boundary.
    -
    130 // TODO - currently we print the trace message at the beginning. if we waited, we could also include return codes, and any values returned
    -
    131 // through ptr-to-args (ie the pointers allocated by hipMalloc).
    -
    132 #if COMPILE_HIP_ATP_MARKER
    -
    133 #include "CXLActivityLogger.h"
    -
    134 #define SCOPED_MARKER(markerName,group,userString) amdtScopedMarker(markerName, group, userString)
    -
    135 #else
    -
    136 // Swallow scoped markers:
    -
    137 #define SCOPED_MARKER(markerName,group,userString)
    -
    138 #endif
    -
    139 
    -
    140 
    -
    141 #if COMPILE_HIP_ATP_MARKER || (COMPILE_HIP_TRACE_API & 0x1)
    -
    142 #define API_TRACE(...)\
    -
    143 {\
    -
    144  if (HIP_ATP_MARKER || (COMPILE_HIP_DB && HIP_TRACE_API)) {\
    -
    145  std::string s = std::string(__func__) + " (" + ToString(__VA_ARGS__) + ')';\
    -
    146  if (COMPILE_HIP_DB && HIP_TRACE_API) {\
    -
    147  fprintf (stderr, API_COLOR "<<hip-api: %s\n" KNRM, s.c_str());\
    +
    117 #if DB_SHOW_TID
    +
    118 #define COMPUTE_TID_STR \
    +
    119  std::stringstream tid_ss;\
    +
    120  std::stringstream tid_ss_num;\
    +
    121  tid_ss_num << std::this_thread::get_id();\
    +
    122  tid_ss << " tid:" << std::hex << std::stoull(tid_ss_num.str());
    +
    123 #else
    +
    124 #define COMPUTE_TID_STR std::stringstream tid_ss;
    +
    125 #endif
    +
    126 
    +
    127 
    +
    128 // Compile support for trace markers that are displayed on CodeXL GUI at start/stop of each function boundary.
    +
    129 // TODO - currently we print the trace message at the beginning. if we waited, we could also include return codes, and any values returned
    +
    130 // through ptr-to-args (ie the pointers allocated by hipMalloc).
    +
    131 #if COMPILE_HIP_ATP_MARKER
    +
    132 #include "CXLActivityLogger.h"
    +
    133 #define SCOPED_MARKER(markerName,group,userString) amdtScopedMarker(markerName, group, userString)
    +
    134 #else
    +
    135 // Swallow scoped markers:
    +
    136 #define SCOPED_MARKER(markerName,group,userString)
    +
    137 #endif
    +
    138 
    +
    139 
    +
    140 #if COMPILE_HIP_ATP_MARKER || (COMPILE_HIP_TRACE_API & 0x1)
    +
    141 #define API_TRACE(...)\
    +
    142 {\
    +
    143  if (HIP_ATP_MARKER || (COMPILE_HIP_DB && HIP_TRACE_API)) {\
    +
    144  std::string s = std::string(__func__) + " (" + ToString(__VA_ARGS__) + ')';\
    +
    145  if (COMPILE_HIP_DB && HIP_TRACE_API) {\
    +
    146  COMPUTE_TID_STR\
    +
    147  fprintf (stderr, "%s<<hip-api:%s %s\n%s" , API_COLOR, tid_ss.str().c_str(), s.c_str(), API_COLOR_END);\
    148  }\
    149  SCOPED_MARKER(s.c_str(), "HIP", NULL);\
    150  }\
    @@ -246,587 +246,594 @@
    155 #endif
    156 
    157 
    -
    158 
    -
    159 // This macro should be called at the beginning of every HIP API.
    -
    160 // It initialies the hip runtime (exactly once), and
    -
    161 // generate trace string that can be output to stderr or to ATP file.
    -
    162 #define HIP_INIT_API(...) \
    -
    163  std::call_once(hip_initialized, ihipInit);\
    -
    164  API_TRACE(__VA_ARGS__);
    -
    165 
    -
    166 #define ihipLogStatus(_hip_status) \
    -
    167  ({\
    -
    168  hipError_t _local_hip_status = _hip_status; /*local copy so _hip_status only evaluated once*/ \
    -
    169  tls_lastHipError = _local_hip_status;\
    -
    170  \
    -
    171  if ((COMPILE_HIP_TRACE_API & 0x2) && HIP_TRACE_API) {\
    -
    172  fprintf(stderr, " %ship-api: %-30s ret=%2d (%s)>>\n" KNRM, (_local_hip_status == 0) ? API_COLOR:KRED, __func__, _local_hip_status, ihipErrorString(_local_hip_status));\
    -
    173  }\
    -
    174  _local_hip_status;\
    -
    175  })
    -
    176 
    -
    177 
    -
    178 
    -
    179 
    -
    180 //---
    -
    181 //HIP_DB Debug flags:
    -
    182 #define DB_API 0 /* 0x01 - shortcut to enable HIP_TRACE_API on single switch */
    -
    183 #define DB_SYNC 1 /* 0x02 - trace synchronization pieces */
    -
    184 #define DB_MEM 2 /* 0x04 - trace memory allocation / deallocation */
    -
    185 #define DB_COPY1 3 /* 0x08 - trace memory copy commands. . */
    -
    186 #define DB_SIGNAL 4 /* 0x10 - trace signal pool commands */
    -
    187 #define DB_COPY2 5 /* 0x20 - trace memory copy commands. Detailed. */
    -
    188 // When adding a new debug flag, also add to the char name table below.
    -
    189 
    -
    190 static const char *dbName [] =
    -
    191 {
    -
    192  KNRM "hip-api", // not used,
    -
    193  KYEL "hip-sync",
    -
    194  KCYN "hip-mem",
    -
    195  KMAG "hip-copy1",
    -
    196  KRED "hip-signal",
    -
    197  KNRM "hip-copy2",
    -
    198 };
    -
    199 
    -
    200 #if COMPILE_HIP_DB
    -
    201 #define tprintf(trace_level, ...) {\
    -
    202  if (HIP_DB & (1<<(trace_level))) {\
    -
    203  fprintf (stderr, " %s:", dbName[trace_level]); \
    -
    204  fprintf (stderr, __VA_ARGS__);\
    -
    205  fprintf (stderr, "%s", KNRM); \
    -
    206  }\
    -
    207 }
    -
    208 #else
    -
    209 /* Compile to empty code */
    -
    210 #define tprintf(trace_level, ...)
    -
    211 #endif
    -
    212 
    -
    213 class ihipException : public std::exception
    -
    214 {
    -
    215 public:
    -
    216  ihipException(hipError_t e) : _code(e) {};
    -
    217 
    -
    218  hipError_t _code;
    -
    219 };
    -
    220 
    -
    221 
    -
    222 #ifdef __cplusplus
    -
    223 extern "C" {
    -
    224 #endif
    -
    225 
    -
    226 typedef class ihipStream_t* hipStream_t;
    -
    227 //typedef struct hipEvent_t {
    -
    228 // struct ihipEvent_t *_handle;
    -
    229 //} hipEvent_t;
    +
    158 // Just initialize the HIP runtime, but don't log any trace information.
    +
    159 #define HIP_INIT()\
    +
    160  std::call_once(hip_initialized, ihipInit);\
    +
    161  ihipCtxStackUpdate();
    +
    162 
    +
    163 
    +
    164 // This macro should be called at the beginning of every HIP API.
    +
    165 // It initialies the hip runtime (exactly once), and
    +
    166 // generate trace string that can be output to stderr or to ATP file.
    +
    167 #define HIP_INIT_API(...) \
    +
    168  HIP_INIT()\
    +
    169  API_TRACE(__VA_ARGS__);
    +
    170 
    +
    171 #define ihipLogStatus(hipStatus) \
    +
    172  ({\
    +
    173  hipError_t localHipStatus = hipStatus; /*local copy so hipStatus only evaluated once*/ \
    +
    174  tls_lastHipError = localHipStatus;\
    +
    175  \
    +
    176  if ((COMPILE_HIP_TRACE_API & 0x2) && HIP_TRACE_API) {\
    +
    177  fprintf(stderr, " %ship-api: %-30s ret=%2d (%s)>>%s\n", (localHipStatus == 0) ? API_COLOR:KRED, __func__, localHipStatus, ihipErrorString(localHipStatus), API_COLOR_END);\
    +
    178  }\
    +
    179  localHipStatus;\
    +
    180  })
    +
    181 
    +
    182 
    +
    183 
    +
    184 
    +
    185 //---
    +
    186 //HIP_DB Debug flags:
    +
    187 #define DB_API 0 /* 0x01 - shortcut to enable HIP_TRACE_API on single switch */
    +
    188 #define DB_SYNC 1 /* 0x02 - trace synchronization pieces */
    +
    189 #define DB_MEM 2 /* 0x04 - trace memory allocation / deallocation */
    +
    190 #define DB_COPY1 3 /* 0x08 - trace memory copy commands. . */
    +
    191 #define DB_SIGNAL 4 /* 0x10 - trace signal pool commands */
    +
    192 #define DB_COPY2 5 /* 0x20 - trace memory copy commands. Detailed. */
    +
    193 #define DB_MAX_BITPOS 5
    +
    194 // When adding a new debug flag, also add to the char name table below.
    +
    195 //
    +
    196 
    +
    197 struct DbName {
    +
    198  const char *_color;
    +
    199  const char *_shortName;
    +
    200 };
    +
    201 
    +
    202 static const DbName dbName [] =
    +
    203 {
    +
    204  {KGRN, "api"}, // not used,
    +
    205  {KYEL, "sync"},
    +
    206  {KCYN, "mem"},
    +
    207  {KMAG, "copy1"},
    +
    208  {KRED, "signal"},
    +
    209  {KNRM, "copy2"},
    +
    210 };
    +
    211 
    +
    212 
    +
    213 
    +
    214 #if COMPILE_HIP_DB
    +
    215 #define tprintf(trace_level, ...) {\
    +
    216  if (HIP_DB & (1<<(trace_level))) {\
    +
    217  char msgStr[1000];\
    +
    218  snprintf(msgStr, 2000, __VA_ARGS__);\
    +
    219  COMPUTE_TID_STR\
    +
    220  fprintf (stderr, " %ship-%s%s:%s%s", dbName[trace_level]._color, dbName[trace_level]._shortName, tid_ss.str().c_str(), msgStr, KNRM); \
    +
    221  }\
    +
    222 }
    +
    223 #else
    +
    224 /* Compile to empty code */
    +
    225 #define tprintf(trace_level, ...)
    +
    226 #endif
    +
    227 
    +
    228 
    +
    229 
    230 
    -
    231 #ifdef __cplusplus
    -
    232 }
    -
    233 #endif
    -
    234 
    -
    235 const hipStream_t hipStreamNull = 0x0;
    +
    231 
    +
    232 class ihipException : public std::exception
    +
    233 {
    +
    234 public:
    +
    235  ihipException(hipError_t e) : _code(e) {};
    236 
    -
    237 
    -
    238 enum ihipCommand_t {
    -
    239  ihipCommandCopyH2H,
    -
    240  ihipCommandCopyH2D,
    -
    241  ihipCommandCopyD2H,
    -
    242  ihipCommandCopyD2D,
    -
    243  ihipCommandCopyP2P,
    -
    244  ihipCommandKernel,
    -
    245 };
    -
    246 
    -
    247 static const char* ihipCommandName[] = {
    -
    248  "CopyH2H", "CopyH2D", "CopyD2H", "CopyD2D", "CopyP2P", "Kernel"
    -
    249 };
    -
    250 
    +
    237  hipError_t _code;
    +
    238 };
    +
    239 
    +
    240 
    +
    241 #ifdef __cplusplus
    +
    242 extern "C" {
    +
    243 #endif
    +
    244 
    +
    245 
    +
    246 #ifdef __cplusplus
    +
    247 }
    +
    248 #endif
    +
    249 
    +
    250 const hipStream_t hipStreamNull = 0x0;
    251 
    252 
    -
    253 typedef uint64_t SIGSEQNUM;
    -
    254 
    -
    255 //---
    -
    256 // Small wrapper around signals.
    -
    257 // Designed to be used from stream.
    -
    258 // TODO-someday refactor this class so it can be stored in a vector<>
    -
    259 // we already store the index here so we can use for garbage collection.
    -
    260 struct ihipSignal_t {
    -
    261  hsa_signal_t _hsa_signal; // hsa signal handle
    -
    262  int _index; // Index in pool, used for garbage collection.
    -
    263  SIGSEQNUM _sig_id; // unique sequentially increasing ID.
    -
    264 
    -
    265  ihipSignal_t();
    -
    266  ~ihipSignal_t();
    -
    267 
    -
    268  void release();
    -
    269 };
    -
    270 
    -
    271 
    -
    272 // Used to remove lock, for performance or stimulating bugs.
    - -
    274 {
    -
    275  public:
    -
    276  void lock() { }
    -
    277  bool try_lock() {return true; }
    -
    278  void unlock() { }
    -
    279 };
    -
    280 
    -
    281 
    -
    282 #if STREAM_THREAD_SAFE
    -
    283 typedef std::mutex StreamMutex;
    -
    284 #else
    -
    285 #warning "Stream thread-safe disabled"
    -
    286 typedef FakeMutex StreamMutex;
    -
    287 #endif
    -
    288 
    -
    289 #if DEVICE_THREAD_SAFE
    -
    290 typedef std::mutex DeviceMutex;
    -
    291 #else
    -
    292 typedef FakeMutex DeviceMutex;
    -
    293 #warning "Device thread-safe disabled"
    -
    294 #endif
    -
    295 
    -
    296 //
    -
    297 //---
    -
    298 // Protects access to the member _data with a lock acquired on contruction/destruction.
    -
    299 // T must contain a _mutex field which meets the BasicLockable requirements (lock/unlock)
    -
    300 template<typename T>
    - -
    302 {
    -
    303 public:
    -
    304  LockedAccessor(T &criticalData, bool autoUnlock=true) :
    -
    305  _criticalData(&criticalData),
    -
    306  _autoUnlock(autoUnlock)
    -
    307 
    -
    308  {
    -
    309  _criticalData->_mutex.lock();
    -
    310  };
    +
    253 // Used to remove lock, for performance or stimulating bugs.
    + +
    255 {
    +
    256  public:
    +
    257  void lock() { }
    +
    258  bool try_lock() {return true; }
    +
    259  void unlock() { }
    +
    260 };
    +
    261 
    +
    262 
    +
    263 #if STREAM_THREAD_SAFE
    +
    264 typedef std::mutex StreamMutex;
    +
    265 #else
    +
    266 #warning "Stream thread-safe disabled"
    +
    267 typedef FakeMutex StreamMutex;
    +
    268 #endif
    +
    269 
    +
    270 // Pair Device and Ctx together, these could also be toggled separately if desired.
    +
    271 #if CTX_THREAD_SAFE
    +
    272 typedef std::mutex CtxMutex;
    +
    273 #else
    +
    274 typedef FakeMutex CtxMutex;
    +
    275 #warning "Device thread-safe disabled"
    +
    276 #endif
    +
    277 
    +
    278 //
    +
    279 //---
    +
    280 // Protects access to the member _data with a lock acquired on contruction/destruction.
    +
    281 // T must contain a _mutex field which meets the BasicLockable requirements (lock/unlock)
    +
    282 template<typename T>
    + +
    284 {
    +
    285 public:
    +
    286  LockedAccessor(T &criticalData, bool autoUnlock=true) :
    +
    287  _criticalData(&criticalData),
    +
    288  _autoUnlock(autoUnlock)
    +
    289 
    +
    290  {
    +
    291  tprintf(DB_SYNC, "lock critical data %s.%p\n", typeid(T).name(), _criticalData);
    +
    292  _criticalData->_mutex.lock();
    +
    293  };
    +
    294 
    +
    295  ~LockedAccessor()
    +
    296  {
    +
    297  if (_autoUnlock) {
    +
    298  tprintf(DB_SYNC, "auto-unlock critical data %s.%p\n",typeid(T).name(), _criticalData);
    +
    299  _criticalData->_mutex.unlock();
    +
    300  }
    +
    301  }
    +
    302 
    +
    303  void unlock()
    +
    304  {
    +
    305  tprintf(DB_SYNC, "unlock critical data %s.%p\n", typeid(T).name(), _criticalData);
    +
    306  _criticalData->_mutex.unlock();
    +
    307  }
    +
    308 
    +
    309  // Syntactic sugar so -> can be used to get the underlying type.
    +
    310  T *operator->() { return _criticalData; };
    311 
    -
    312  ~LockedAccessor()
    -
    313  {
    -
    314  if (_autoUnlock) {
    -
    315  _criticalData->_mutex.unlock();
    -
    316  }
    -
    317  }
    -
    318 
    -
    319  void unlock()
    -
    320  {
    -
    321  _criticalData->_mutex.unlock();
    -
    322  }
    -
    323 
    -
    324  // Syntactic sugar so -> can be used to get the underlying type.
    -
    325  T *operator->() { return _criticalData; };
    -
    326 
    -
    327 private:
    -
    328  T *_criticalData;
    -
    329  bool _autoUnlock;
    -
    330 };
    -
    331 
    -
    332 
    -
    333 template <typename MUTEX_TYPE>
    -
    334 struct LockedBase {
    -
    335 
    -
    336  // Experts-only interface for explicit locking.
    -
    337  // Most uses should use the lock-accessor.
    -
    338  void lock() { _mutex.lock(); }
    -
    339  void unlock() { _mutex.unlock(); }
    -
    340 
    -
    341  MUTEX_TYPE _mutex;
    -
    342 };
    -
    343 
    -
    344 
    -
    345 template <typename MUTEX_TYPE>
    -
    346 class ihipStreamCriticalBase_t : public LockedBase<MUTEX_TYPE>
    -
    347 {
    -
    348 public:
    - -
    350  _last_command_type(ihipCommandCopyH2H),
    -
    351  _last_copy_signal(NULL),
    -
    352  _signalCursor(0),
    -
    353  _oldest_live_sig_id(1),
    -
    354  _stream_sig_id(0)
    -
    355  {
    -
    356  _signalPool.resize(HIP_STREAM_SIGNALS > 0 ? HIP_STREAM_SIGNALS : 1);
    -
    357  };
    -
    358 
    - -
    360  _signalPool.clear();
    -
    361  }
    -
    362 
    - -
    364 
    -
    365 
    -
    366 public:
    -
    367  // Critical Data:
    -
    368  ihipCommand_t _last_command_type; // type of the last command
    -
    369 
    -
    370  // signal of last copy command sent to the stream.
    -
    371  // May be NULL, indicating the previous command has completley finished and future commands don't need to create a dependency.
    -
    372  // Copy can be either H2D or D2H.
    -
    373  ihipSignal_t *_last_copy_signal;
    +
    312 private:
    +
    313  T *_criticalData;
    +
    314  bool _autoUnlock;
    +
    315 };
    +
    316 
    +
    317 
    +
    318 template <typename MUTEX_TYPE>
    +
    319 struct LockedBase {
    +
    320 
    +
    321  // Experts-only interface for explicit locking.
    +
    322  // Most uses should use the lock-accessor.
    +
    323  void lock() { _mutex.lock(); }
    +
    324  void unlock() { _mutex.unlock(); }
    +
    325 
    +
    326  MUTEX_TYPE _mutex;
    +
    327 };
    +
    328 
    +
    329 
    + +
    331 public:
    +
    332  hsa_executable_t executable;
    +
    333  hsa_code_object_t object;
    +
    334  std::string fileName;
    +
    335  void *ptr;
    +
    336  size_t size;
    +
    337 };
    +
    338 
    +
    339 
    + +
    341 public:
    +
    342  ihipFunction_t(const char *name) {
    +
    343  size_t nameSz = strlen(name);
    +
    344  char *kernelName = (char*)malloc(nameSz);
    +
    345  strncpy(kernelName, name, nameSz);
    +
    346  _kernelName = kernelName;
    +
    347  };
    +
    348 
    +
    349  ~ihipFunction_t() {
    +
    350  if (_kernelName) {
    +
    351  free((void*)_kernelName);
    +
    352  _kernelName = NULL;
    +
    353  };
    +
    354  };
    +
    355 public:
    +
    356  const char *_kernelName;
    +
    357  hsa_executable_symbol_t _kernelSymbol;
    +
    358  uint64_t _kernel;
    +
    359 };
    +
    360 
    +
    361 
    +
    362 template <typename MUTEX_TYPE>
    +
    363 class ihipStreamCriticalBase_t : public LockedBase<MUTEX_TYPE>
    +
    364 {
    +
    365 public:
    +
    366  ihipStreamCriticalBase_t(hc::accelerator_view av) :
    +
    367  _kernelCnt(0),
    +
    368  _av(av)
    +
    369  {
    +
    370  };
    +
    371 
    + +
    373  }
    374 
    -
    375  hc::completion_future _last_kernel_future; // Completion future of last kernel command sent to GPU.
    +
    376 
    -
    377  // Signal pool:
    -
    378  int _signalCursor;
    -
    379  SIGSEQNUM _oldest_live_sig_id; // oldest live seq_id, anything < this can be allocated.
    -
    380  std::deque<ihipSignal_t> _signalPool; // Pool of signals for use by this stream.
    -
    381 
    +
    377 public:
    +
    378  // TODO - remove _kernelCnt mechanism:
    +
    379  uint32_t _kernelCnt; // Count of inflight kernels in this stream. Reset at ::wait().
    +
    380  hc::accelerator_view _av;
    +
    381 };
    382 
    -
    383  SIGSEQNUM _stream_sig_id; // Monotonically increasing unique signal id.
    -
    384 };
    -
    385 
    -
    386 
    - - +
    383 
    +
    384 // if HIP code needs to acquire locks for both ihipCtx_t and ihipStream_t, it should first acquire the lock
    +
    385 // for the ihipCtx_t and then for the individual streams. The locks should not be acquired in reverse order
    +
    386 // or deadlock may occur. In some cases, it may be possible to reduce the range where the locks must be held.
    +
    387 // HIP routines should avoid acquiring and releasing the same lock during the execution of a single HIP API.
    +
    388 
    389 
    -
    390 
    -
    391 
    -
    392 // Internal stream structure.
    - -
    394 public:
    -
    395 typedef uint64_t SeqNum_t ;
    -
    396 
    -
    397  ihipStream_t(unsigned device_index, hc::accelerator_view av, unsigned int flags);
    -
    398  ~ihipStream_t();
    -
    399 
    -
    400  // kind is hipMemcpyKind
    -
    401  void copySync (LockedAccessor_StreamCrit_t &crit, void* dst, const void* src, size_t sizeBytes, unsigned kind);
    -
    402  void locked_copySync (void* dst, const void* src, size_t sizeBytes, unsigned kind);
    -
    403 
    -
    404  void copyAsync(void* dst, const void* src, size_t sizeBytes, unsigned kind);
    -
    405 
    -
    406  //---
    -
    407  // Thread-safe accessors - these acquire / release mutex:
    -
    408  bool lockopen_preKernelCommand();
    -
    409  void lockclose_postKernelCommand(hc::completion_future &kernel_future);
    + + +
    392 
    +
    393 
    +
    394 
    +
    395 //---
    +
    396 // Internal stream structure.
    + +
    398 public:
    +
    399  enum ScheduleMode {Auto, Spin, Yield};
    +
    400  typedef uint64_t SeqNum_t ;
    +
    401 
    +
    402  ihipStream_t(ihipCtx_t *ctx, hc::accelerator_view av, unsigned int flags);
    +
    403  ~ihipStream_t();
    +
    404 
    +
    405  // kind is hipMemcpyKind
    +
    406  void locked_copySync (void* dst, const void* src, size_t sizeBytes, unsigned kind, bool resolveOn = true);
    +
    407 
    +
    408 
    +
    409  void locked_copyAsync(void* dst, const void* src, size_t sizeBytes, unsigned kind);
    410 
    -
    411  int preCopyCommand(LockedAccessor_StreamCrit_t &crit, ihipSignal_t *lastCopy, hsa_signal_t *waitSignal, ihipCommand_t copyType);
    -
    412 
    -
    413  void locked_reclaimSignals(SIGSEQNUM sigNum);
    -
    414  void locked_wait(bool assertQueueEmpty=false);
    -
    415  SIGSEQNUM locked_lastCopySeqId() {LockedAccessor_StreamCrit_t crit(_criticalData); return lastCopySeqId(crit); };
    +
    411 
    +
    412  //---
    +
    413  // Member functions that begin with locked_ are thread-safe accessors - these acquire / release the critical mutex.
    +
    414  LockedAccessor_StreamCrit_t lockopen_preKernelCommand();
    +
    415  void lockclose_postKernelCommand(hc::accelerator_view *av);
    416 
    -
    417  // Use this if we already have the stream critical data mutex:
    -
    418  void wait(LockedAccessor_StreamCrit_t &crit, bool assertQueueEmpty=false);
    +
    417 
    +
    418  void locked_wait(bool assertQueueEmpty=false);
    419 
    -
    420 
    +
    420  hc::accelerator_view* locked_getAv() { LockedAccessor_StreamCrit_t crit(_criticalData); return &(crit->_av); };
    421 
    -
    422  // Non-threadsafe accessors - must be protected by high-level stream lock with accessor passed to function.
    -
    423  SIGSEQNUM lastCopySeqId (LockedAccessor_StreamCrit_t &crit) { return crit->_last_copy_signal ? crit->_last_copy_signal->_sig_id : 0; };
    -
    424  ihipSignal_t * allocSignal (LockedAccessor_StreamCrit_t &crit);
    +
    422  void locked_waitEvent(hipEvent_t event);
    +
    423  void locked_recordEvent(hipEvent_t event);
    +
    424 
    425 
    -
    426 
    -
    427  //-- Non-racy accessors:
    -
    428  // These functions access fields set at initialization time and are non-racy (so do not acquire mutex)
    -
    429  ihipDevice_t * getDevice() const;
    +
    426  //---
    +
    427 
    +
    428  // Use this if we already have the stream critical data mutex:
    +
    429  void wait(LockedAccessor_StreamCrit_t &crit, bool assertQueueEmpty=false);
    430 
    -
    431 
    -
    432 public:
    -
    433  //---
    -
    434  //Public member vars - these are set at initialization and never change:
    -
    435  SeqNum_t _id; // monotonic sequence ID
    -
    436  hc::accelerator_view _av;
    -
    437  unsigned _flags;
    +
    431  void launchModuleKernel(hc::accelerator_view av, hsa_signal_t signal,
    +
    432  uint32_t blockDimX, uint32_t blockDimY, uint32_t blockDimZ,
    +
    433  uint32_t gridDimX, uint32_t gridDimY, uint32_t gridDimZ,
    +
    434  uint32_t groupSegmentSize, uint32_t sharedMemBytes,
    +
    435  void *kernarg, size_t kernSize, uint64_t kernel);
    +
    436 
    +
    437 
    438 
    -
    439 private:
    -
    440  // Critical Data. THis MUST be accessed through LockedAccessor_StreamCrit_t
    -
    441  ihipStreamCritical_t _criticalData;
    -
    442 
    -
    443  // Array of dependency completion_future.
    -
    444  std::vector<hc::completion_future> _depFutures;
    -
    445 
    -
    446 private:
    -
    447  void enqueueBarrier(hsa_queue_t* queue, ihipSignal_t *depSignal);
    -
    448  void waitCopy(LockedAccessor_StreamCrit_t &crit, ihipSignal_t *signal);
    -
    449 
    -
    450  // The unsigned return is hipMemcpyKind
    -
    451  unsigned resolveMemcpyDirection(bool srcTracked, bool dstTracked, bool srcInDeviceMem, bool dstInDeviceMem);
    -
    452  void setAsyncCopyAgents(unsigned kind, ihipCommand_t *commandType, hsa_agent_t *srcAgent, hsa_agent_t *dstAgent);
    +
    439  //-- Non-racy accessors:
    +
    440  // These functions access fields set at initialization time and are non-racy (so do not acquire mutex)
    +
    441  const ihipDevice_t * getDevice() const;
    +
    442  ihipCtx_t * getCtx() const;
    +
    443 
    +
    444 
    +
    445 public:
    +
    446  //---
    +
    447  //Public member vars - these are set at initialization and never change:
    +
    448  SeqNum_t _id; // monotonic sequence ID
    +
    449  unsigned _flags;
    +
    450 
    +
    451 
    +
    452 private:
    453 
    -
    454  unsigned _device_index; // index into the g_device array
    -
    455 
    -
    456  friend std::ostream& operator<<(std::ostream& os, const ihipStream_t& s);
    -
    457 };
    -
    458 
    +
    454 
    +
    455  // The unsigned return is hipMemcpyKind
    +
    456  unsigned resolveMemcpyDirection(bool srcTracked, bool dstTracked, bool srcInDeviceMem, bool dstInDeviceMem);
    +
    457 
    +
    458  bool canSeePeerMemory(const ihipCtx_t *thisCtx, ihipCtx_t *dstCtx, ihipCtx_t *srcCtx);
    459 
    -
    460 inline std::ostream& operator<<(std::ostream& os, const ihipStream_t& s)
    -
    461 {
    -
    462  os << "stream#";
    -
    463  os << s._device_index;
    -
    464  os << '.';
    -
    465  os << s._id;
    -
    466  return os;
    -
    467 }
    -
    468 
    -
    469 inline std::ostream & operator<<(std::ostream& os, const dim3& s)
    -
    470 {
    -
    471  os << '{';
    -
    472  os << s.x;
    -
    473  os << ',';
    -
    474  os << s.y;
    -
    475  os << ',';
    -
    476  os << s.z;
    -
    477  os << '}';
    -
    478  return os;
    -
    479 }
    -
    480 
    -
    481 //----
    -
    482 // Internal event structure:
    -
    483 enum hipEventStatus_t {
    -
    484  hipEventStatusUnitialized = 0, // event is unutilized, must be "Created" before use.
    -
    485  hipEventStatusCreated = 1,
    -
    486  hipEventStatusRecording = 2, // event has been enqueued to record something.
    -
    487  hipEventStatusRecorded = 3, // event has been recorded - timestamps are valid.
    -
    488 } ;
    +
    460 
    +
    461 private: // Data
    +
    462  // Critical Data - MUST be accessed through LockedAccessor_StreamCrit_t
    +
    463  ihipStreamCritical_t _criticalData;
    +
    464 
    +
    465  ihipCtx_t *_ctx; // parent context that owns this stream.
    +
    466 
    +
    467  // Friends:
    +
    468  friend std::ostream& operator<<(std::ostream& os, const ihipStream_t& s);
    + +
    470 
    +
    471  ScheduleMode _scheduleMode;
    +
    472 };
    +
    473 
    +
    474 
    +
    475 
    +
    476 //----
    +
    477 // Internal event structure:
    +
    478 enum hipEventStatus_t {
    +
    479  hipEventStatusUnitialized = 0, // event is unutilized, must be "Created" before use.
    +
    480  hipEventStatusCreated = 1,
    +
    481  hipEventStatusRecording = 2, // event has been enqueued to record something.
    +
    482  hipEventStatusRecorded = 3, // event has been recorded - timestamps are valid.
    +
    483 } ;
    +
    484 
    +
    485 
    +
    486 // internal hip event structure.
    +
    487 struct ihipEvent_t {
    +
    488  hipEventStatus_t _state;
    489 
    -
    490 
    -
    491 // internal hip event structure.
    -
    492 struct ihipEvent_t {
    -
    493  hipEventStatus_t _state;
    -
    494 
    -
    495  hipStream_t _stream; // Stream where the event is recorded, or NULL if all streams.
    -
    496  unsigned _flags;
    +
    490  hipStream_t _stream; // Stream where the event is recorded, or NULL if all streams.
    +
    491  unsigned _flags;
    +
    492 
    +
    493  hc::completion_future _marker;
    +
    494  uint64_t _timestamp; // store timestamp, may be set on host or by marker.
    +
    495 } ;
    +
    496 
    497 
    -
    498  hc::completion_future _marker;
    -
    499  uint64_t _timestamp; // store timestamp, may be set on host or by marker.
    +
    498 
    +
    499 
    500 
    -
    501  SIGSEQNUM _copy_seq_id;
    -
    502 } ;
    -
    503 
    -
    504 
    -
    505 
    -
    506 
    -
    507 
    -
    508 //---
    -
    509 // Data that must be protected with thread-safe access
    -
    510 // All members are private - this class must be accessed through friend LockedAccessor which
    -
    511 // will lock the mutex on construction and unlock on destruction.
    -
    512 //
    -
    513 // MUTEX_TYPE is template argument so can easily convert to FakeMutex for performance or stress testing.
    -
    514 template <class MUTEX_TYPE>
    - -
    516 {
    -
    517 public:
    -
    518  ihipDeviceCriticalBase_t() : _stream_id(0), _peerAgents(nullptr) {};
    -
    519 
    -
    520  void init(unsigned deviceCnt) {
    -
    521  assert(_peerAgents == nullptr);
    -
    522  _peerAgents = new hsa_agent_t[deviceCnt];
    -
    523  };
    -
    524 
    - -
    526  if (_peerAgents != nullptr) {
    -
    527  delete _peerAgents;
    -
    528  _peerAgents = nullptr;
    -
    529  }
    -
    530  }
    -
    531  friend class LockedAccessor<ihipDeviceCriticalBase_t>;
    +
    501 //----
    +
    502 // Properties of the HIP device.
    +
    503 // Multiple contexts can point to same device.
    + +
    505 {
    +
    506 public:
    +
    507  ihipDevice_t(unsigned deviceId, unsigned deviceCnt, hc::accelerator &acc);
    +
    508  ~ihipDevice_t();
    +
    509 
    +
    510  // Accessors:
    +
    511  ihipCtx_t *getPrimaryCtx() const { return _primaryCtx; };
    +
    512 
    +
    513 public:
    +
    514  unsigned _deviceId; // device ID
    +
    515 
    +
    516  hc::accelerator _acc;
    +
    517  hsa_agent_t _hsaAgent; // hsa agent handle
    +
    518 
    +
    520  unsigned _computeUnits;
    +
    521  hipDeviceProp_t _props; // saved device properties.
    +
    522 
    +
    523  // TODO - report this through device properties, base on HCC API call.
    +
    524  int _isLargeBar;
    +
    525 
    +
    526  ihipCtx_t *_primaryCtx;
    +
    527 
    +
    528 private:
    +
    529  hipError_t initProperties(hipDeviceProp_t* prop);
    +
    530 };
    +
    531 //=============================================================================
    532 
    -
    533  std::list<ihipStream_t*> &streams() { return _streams; };
    -
    534  const std::list<ihipStream_t*> &const_streams() const { return _streams; };
    -
    535 
    -
    536  // "Allocate" a stream ID:
    -
    537  ihipStream_t::SeqNum_t incStreamId() { return _stream_id++; };
    -
    538 
    -
    539  bool isPeer(const ihipDevice_t *peer); // returns Trus if peer has access to memory physically located on this device.
    -
    540  bool addPeer(ihipDevice_t *peer);
    -
    541  bool removePeer(ihipDevice_t *peer);
    -
    542  void resetPeers(ihipDevice_t *thisDevice);
    -
    543 
    -
    544 
    -
    545  void addStream(ihipStream_t *stream);
    +
    533 
    +
    534 
    +
    535 //=============================================================================
    +
    536 //class ihipCtxCriticalBase_t
    +
    537 template <typename MUTEX_TYPE>
    + +
    539 {
    +
    540 public:
    +
    541  ihipCtxCriticalBase_t(unsigned deviceCnt) :
    +
    542  _peerCnt(0)
    +
    543  {
    +
    544  _peerAgents = new hsa_agent_t[deviceCnt];
    +
    545  };
    546 
    -
    547  uint32_t peerCnt() const { return _peerCnt; };
    -
    548  hsa_agent_t *peerAgents() const { return _peerAgents; };
    -
    549 
    -
    550 
    -
    551 private:
    -
    552  //std::list< std::shared_ptr<ihipStream_t> > _streams; // streams associated with this device. TODO - convert to shared_ptr.
    -
    553  std::list< ihipStream_t* > _streams; // streams associated with this device.
    -
    554  ihipStream_t::SeqNum_t _stream_id;
    -
    555 
    -
    556  // These reflect the currently Enabled set of peers for this GPU:
    -
    557  // Enabled peers have permissions to access the memory physically allocated on this device.
    -
    558  std::list<ihipDevice_t*> _peers; // list of enabled peer devices.
    -
    559  uint32_t _peerCnt; // number of enabled peers
    -
    560  hsa_agent_t *_peerAgents; // efficient packed array of enabled agents (to use for allocations.)
    -
    561 private:
    -
    562  void recomputePeerAgents();
    -
    563 };
    -
    564 
    -
    565 // Note Mutex selected based on DeviceMutex
    - + +
    548  if (_peerAgents != nullptr) {
    +
    549  delete _peerAgents;
    +
    550  _peerAgents = nullptr;
    +
    551  }
    +
    552  _peerCnt = 0;
    +
    553  }
    +
    554 
    +
    555  // Streams:
    +
    556  void addStream(ihipStream_t *stream);
    +
    557  std::list<ihipStream_t*> &streams() { return _streams; };
    +
    558  const std::list<ihipStream_t*> &const_streams() const { return _streams; };
    +
    559 
    +
    560 
    +
    561  // Peer Accessor classes:
    +
    562  bool isPeer(const ihipCtx_t *peer); // returns True if peer has access to memory physically located on this device.
    +
    563  bool addPeer(ihipCtx_t *peer);
    +
    564  bool removePeer(ihipCtx_t *peer);
    +
    565  void resetPeers(ihipCtx_t *thisDevice);
    +
    566  void printPeers(FILE *f) const;
    567 
    -
    568 // This type is used by functions that need access to the critical device structures.
    - +
    568  uint32_t peerCnt() const { return _peerCnt; };
    +
    569  hsa_agent_t *peerAgents() const { return _peerAgents; };
    570 
    571 
    572 
    -
    573 //-------------------------------------------------------------------------------------------------
    -
    574 // Functions which read or write the critical data are named locked_.
    -
    575 // ihipDevice_t does not use recursive locks so the ihip implementation must avoid calling a locked_ function from within a locked_ function.
    -
    576 // External functions which call several locked_ functions will acquire and release the lock for each function. if this occurs in
    -
    577 // performance-sensitive code we may want to refactor by adding non-locked functions and creating a new locked_ member function to call them all.
    - -
    579 {
    -
    580 public: // Functions:
    -
    581  ihipDevice_t() {}; // note: calls constructor for _criticalData
    -
    582  void init(unsigned device_index, unsigned deviceCnt, hc::accelerator &acc, unsigned flags);
    -
    583  ~ihipDevice_t();
    -
    584 
    -
    585  void locked_addStream(ihipStream_t *s);
    -
    586  void locked_removeStream(ihipStream_t *s);
    -
    587  void locked_reset();
    -
    588  void locked_waitAllStreams();
    -
    589  void locked_syncDefaultStream(bool waitOnSelf);
    -
    590 
    -
    591  ihipDeviceCritical_t &criticalData() { return _criticalData; }; // TODO, move private. Fix P2P.
    -
    592 
    -
    593 public: // Data, set at initialization:
    -
    594  unsigned _device_index; // index into g_devices.
    +
    573  friend class LockedAccessor<ihipCtxCriticalBase_t>;
    +
    574 private:
    +
    575  //--- Stream Tracker:
    +
    576  std::list< ihipStream_t* > _streams; // streams associated with this device.
    +
    577 
    +
    578 
    +
    579  //--- Peer Tracker:
    +
    580  // These reflect the currently Enabled set of peers for this GPU:
    +
    581  // Enabled peers have permissions to access the memory physically allocated on this device.
    +
    582  // Note the peers always contain the self agent for easy interfacing with HSA APIs.
    +
    583  std::list<ihipCtx_t*> _peers; // list of enabled peer devices.
    +
    584  uint32_t _peerCnt; // number of enabled peers
    +
    585  hsa_agent_t *_peerAgents; // efficient packed array of enabled agents (to use for allocations.)
    +
    586 private:
    +
    587  void recomputePeerAgents();
    +
    588 };
    +
    589 // Note Mutex type Real/Fake selected based on CtxMutex
    + +
    591 
    +
    592 // This type is used by functions that need access to the critical device structures.
    + +
    594 //=============================================================================
    595 
    -
    596  hipDeviceProp_t _props; // saved device properties.
    -
    597  hc::accelerator _acc;
    -
    598  hsa_agent_t _hsa_agent; // hsa agent handle
    -
    599 
    -
    600  // The NULL stream is used if no other stream is specified.
    -
    601  // NULL has special synchronization properties with other streams.
    -
    602  ihipStream_t *_default_stream;
    -
    603 
    -
    604 
    -
    605  unsigned _compute_units;
    -
    606 
    -
    607  StagingBuffer *_staging_buffer[2]; // one buffer for each direction.
    +
    596 
    +
    597 //=============================================================================
    +
    598 //class ihipCtx_t:
    +
    599 // A HIP CTX (context) points at one of the existing devices and contains the streams,
    +
    600 // peer-to-peer mappings, creation flags. Multiple contexts can point to the same
    +
    601 // device.
    +
    602 //
    + +
    604 {
    +
    605 public: // Functions:
    +
    606  ihipCtx_t(ihipDevice_t *device, unsigned deviceCnt, unsigned flags); // note: calls constructor for _criticalData
    +
    607  ~ihipCtx_t();
    608 
    -
    609 
    -
    610  unsigned _device_flags;
    -
    611 
    -
    612 private:
    -
    613  hipError_t getProperties(hipDeviceProp_t* prop);
    -
    614 
    -
    615 private: // Critical data, protected with locked access:
    -
    616  // Members of _protected data MUST be accessed through the LockedAccessor.
    -
    617  // Search for LockedAccessor<ihipDeviceCritical_t> for examples; do not access _criticalData directly.
    -
    618  ihipDeviceCritical_t _criticalData;
    -
    619 
    -
    620 };
    -
    621 
    +
    609  // Functions which read or write the critical data are named locked_.
    +
    610  // ihipCtx_t does not use recursive locks so the ihip implementation must avoid calling a locked_ function from within a locked_ function.
    +
    611  // External functions which call several locked_ functions will acquire and release the lock for each function. if this occurs in
    +
    612  // performance-sensitive code we may want to refactor by adding non-locked functions and creating a new locked_ member function to call them all.
    +
    613  void locked_addStream(ihipStream_t *s);
    +
    614  void locked_removeStream(ihipStream_t *s);
    +
    615  void locked_reset();
    +
    616  void locked_waitAllStreams();
    +
    617  void locked_syncDefaultStream(bool waitOnSelf);
    +
    618 
    +
    619  ihipCtxCritical_t &criticalData() { return _criticalData; }; // TODO, move private. Fix P2P.
    +
    620 
    +
    621  const ihipDevice_t *getDevice() const { return _device; };
    622 
    -
    623 
    -
    624 // Global variable definition:
    -
    625 extern std::once_flag hip_initialized;
    -
    626 extern ihipDevice_t *g_devices; // Array of all non-emulated (ie GPU) accelerators in the system.
    -
    627 extern bool g_visible_device; // Set the flag when HIP_VISIBLE_DEVICES is set
    -
    628 extern unsigned g_deviceCnt;
    -
    629 extern std::vector<int> g_hip_visible_devices; /* vector of integers that contains the visible device IDs */
    -
    630 extern hsa_agent_t g_cpu_agent ; // the CPU agent.
    -
    631 //=================================================================================================
    -
    632 void ihipInit();
    -
    633 const char *ihipErrorString(hipError_t);
    -
    634 ihipDevice_t *ihipGetTlsDefaultDevice();
    -
    635 ihipDevice_t *ihipGetDevice(int);
    -
    636 void ihipSetTs(hipEvent_t e);
    -
    637 
    -
    638 template<typename T>
    -
    639 hc::completion_future ihipMemcpyKernel(hipStream_t, T*, const T*, size_t);
    -
    640 
    -
    641 template<typename T>
    -
    642 hc::completion_future ihipMemsetKernel(hipStream_t, T*, T, size_t);
    -
    643 
    -
    644 hipStream_t ihipSyncAndResolveStream(hipStream_t);
    -
    645 template <typename T>
    +
    623  // TODO - review uses of getWriteableDevice(), can these be converted to getDevice()
    +
    624  ihipDevice_t *getWriteableDevice() const { return _device; };
    +
    625 
    +
    626  std::string toString() const;
    +
    627 
    +
    628 public: // Data
    +
    629  // The NULL stream is used if no other stream is specified.
    +
    630  // Default stream has special synchronization properties with other streams.
    +
    631  ihipStream_t *_defaultStream;
    +
    632 
    +
    633  // Flags specified when the context is created:
    +
    634  unsigned _ctxFlags;
    +
    635 
    +
    636 private:
    +
    637  ihipDevice_t *_device;
    +
    638 
    +
    639 
    +
    640 private: // Critical data, protected with locked access:
    +
    641  // Members of _protected data MUST be accessed through the LockedAccessor.
    +
    642  // Search for LockedAccessor<ihipCtxCritical_t> for examples; do not access _criticalData directly.
    +
    643  ihipCtxCritical_t _criticalData;
    +
    644 
    +
    645 };
    646 
    -
    647 hc::completion_future
    -
    648 ihipMemsetKernel(hipStream_t stream, T * ptr, T val, size_t sizeBytes)
    -
    649 {
    -
    650  int wg = std::min((unsigned)8, stream->getDevice()->_compute_units);
    -
    651  const int threads_per_wg = 256;
    -
    652 
    -
    653  int threads = wg * threads_per_wg;
    -
    654  if (threads > sizeBytes) {
    -
    655  threads = ((sizeBytes + threads_per_wg - 1) / threads_per_wg) * threads_per_wg;
    -
    656  }
    -
    657 
    -
    658 
    -
    659  hc::extent<1> ext(threads);
    -
    660  auto ext_tile = ext.tile(threads_per_wg);
    -
    661 
    -
    662  hc::completion_future cf =
    -
    663  hc::parallel_for_each(
    -
    664  stream->_av,
    -
    665  ext_tile,
    -
    666  [=] (hc::tiled_index<1> idx)
    -
    667  __attribute__((hc))
    -
    668  {
    -
    669  int offset = amp_get_global_id(0);
    -
    670  // TODO-HCC - change to hc_get_local_size()
    -
    671  int stride = amp_get_local_size(0) * hc_get_num_groups(0) ;
    -
    672 
    -
    673  for (int i=offset; i<sizeBytes; i+=stride) {
    -
    674  ptr[i] = val;
    -
    675  }
    -
    676  });
    -
    677 
    -
    678  return cf;
    -
    679 }
    -
    680 
    -
    681 template <typename T>
    -
    682 hc::completion_future
    -
    683 ihipMemcpyKernel(hipStream_t stream, T * c, const T * a, size_t sizeBytes)
    -
    684 {
    -
    685  int wg = std::min((unsigned)8, stream->getDevice()->_compute_units);
    -
    686  const int threads_per_wg = 256;
    -
    687 
    -
    688  int threads = wg * threads_per_wg;
    -
    689  if (threads > sizeBytes) {
    -
    690  threads = ((sizeBytes + threads_per_wg - 1) / threads_per_wg) * threads_per_wg;
    -
    691  }
    -
    692 
    +
    647 
    +
    648 
    +
    649 //=================================================================================================
    +
    650 // Global variable definition:
    +
    651 extern std::once_flag hip_initialized;
    +
    652 extern unsigned g_deviceCnt;
    +
    653 extern hsa_agent_t g_cpu_agent ; // the CPU agent.
    +
    654 
    +
    655 //=================================================================================================
    +
    656 // Extern functions:
    +
    657 extern void ihipInit();
    +
    658 extern const char *ihipErrorString(hipError_t);
    +
    659 extern ihipCtx_t *ihipGetTlsDefaultCtx();
    +
    660 extern void ihipSetTlsDefaultCtx(ihipCtx_t *ctx);
    +
    661 extern hipError_t ihipSynchronize(void);
    +
    662 extern void ihipCtxStackUpdate();
    +
    663 
    +
    664 extern ihipDevice_t *ihipGetDevice(int);
    +
    665 ihipCtx_t * ihipGetPrimaryCtx(unsigned deviceIndex);
    +
    666 
    +
    667 extern void ihipSetTs(hipEvent_t e);
    +
    668 
    +
    669 
    +
    670 hipStream_t ihipSyncAndResolveStream(hipStream_t);
    +
    671 
    +
    672 // Stream printf functions:
    +
    673 inline std::ostream& operator<<(std::ostream& os, const ihipStream_t& s)
    +
    674 {
    +
    675  os << "stream#";
    +
    676  os << s.getDevice()->_deviceId;;
    +
    677  os << '.';
    +
    678  os << s._id;
    +
    679  return os;
    +
    680 }
    +
    681 
    +
    682 inline std::ostream & operator<<(std::ostream& os, const dim3& s)
    +
    683 {
    +
    684  os << '{';
    +
    685  os << s.x;
    +
    686  os << ',';
    +
    687  os << s.y;
    +
    688  os << ',';
    +
    689  os << s.z;
    +
    690  os << '}';
    +
    691  return os;
    +
    692 }
    693 
    -
    694  hc::extent<1> ext(threads);
    -
    695  auto ext_tile = ext.tile(threads_per_wg);
    -
    696 
    -
    697  hc::completion_future cf =
    -
    698  hc::parallel_for_each(
    -
    699  stream->_av,
    -
    700  ext_tile,
    -
    701  [=] (hc::tiled_index<1> idx)
    -
    702  __attribute__((hc))
    -
    703  {
    -
    704  int offset = amp_get_global_id(0);
    -
    705  // TODO-HCC - change to hc_get_local_size()
    -
    706  int stride = amp_get_local_size(0) * hc_get_num_groups(0) ;
    -
    707 
    -
    708  for (int i=offset; i<sizeBytes; i+=stride) {
    -
    709  c[i] = a[i];
    -
    710  }
    -
    711  });
    +
    694 inline std::ostream & operator<<(std::ostream& os, const gl_dim3& s)
    +
    695 {
    +
    696  os << '{';
    +
    697  os << s.x;
    +
    698  os << ',';
    +
    699  os << s.y;
    +
    700  os << ',';
    +
    701  os << s.z;
    +
    702  os << '}';
    +
    703  return os;
    +
    704 }
    +
    705 
    +
    706 // Stream printf functions:
    +
    707 inline std::ostream& operator<<(std::ostream& os, const hipEvent_t& e)
    +
    708 {
    +
    709  os << "event:" << std::hex << static_cast<void*> (e);
    +
    710  return os;
    +
    711 }
    712 
    -
    713  return cf;
    -
    714 }
    -
    715 
    -
    716 #endif
    -
    Definition: hip_hcc.h:578
    -
    Definition: hip_hcc.h:334
    -
    Definition: hip_hcc.h:273
    -
    uint32_t x
    x
    Definition: hip_runtime_api.h:115
    -
    Definition: hip_runtime_api.h:114
    -
    uint32_t y
    y
    Definition: hip_runtime_api.h:116
    -
    hipError_t
    Definition: hip_runtime_api.h:144
    -
    Definition: hip_runtime_api.h:47
    -
    Definition: hip_hcc.h:515
    -
    uint32_t z
    z
    Definition: hip_runtime_api.h:117
    -
    Definition: hip_hcc.h:260
    -
    Definition: hip_runtime_api.h:74
    -
    Definition: staging_buffer.h:40
    -
    Definition: hip_hcc.h:492
    -
    Definition: hip_hcc.h:213
    -
    Definition: hip_hcc.h:393
    -
    Definition: hip_hcc.h:346
    -
    Definition: hip_hcc.h:301
    +
    713 inline std::ostream& operator<<(std::ostream& os, const ihipCtx_t* c)
    +
    714 {
    +
    715  os << "ctx:" << static_cast<const void*> (c)
    +
    716  << " dev:" << c->getDevice()->_deviceId;
    +
    717  return os;
    +
    718 }
    +
    719 
    +
    720 
    +
    721 #endif
    +
    Definition: hip_hcc.h:197
    +
    Definition: hip_hcc.h:504
    +
    Definition: hip_hcc.h:319
    +
    friend hipError_t hipStreamQuery(hipStream_t)
    Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not.
    Definition: hip_stream.cpp:113
    +
    Definition: hip_hcc.h:254
    +
    uint32_t x
    x
    Definition: hip_runtime_api.h:135
    +
    Definition: hip_hcc.h:340
    +
    Definition: hip_hcc.h:603
    +
    Definition: hip_runtime_api.h:134
    +
    uint32_t y
    y
    Definition: hip_runtime_api.h:136
    +
    hipError_t
    Definition: hip_runtime_api.h:152
    +
    Definition: hip_hcc.h:330
    +
    unsigned _computeUnits
    Number of compute units supported by the device:
    Definition: hip_hcc.h:520
    +
    uint32_t z
    z
    Definition: hip_runtime_api.h:137
    +
    Definition: hip_runtime_api.h:82
    +
    Definition: hip_hcc.h:487
    +
    Definition: hip_hcc.h:232
    +
    Definition: hip_hcc.h:538
    +
    Definition: hip_hcc.h:397
    +
    Definition: hip_hcc.h:363
    +
    Definition: hip_hcc.h:283
    diff --git a/docs/RuntimeAPI/html/hip__ldg_8h_source.html b/docs/RuntimeAPI/html/hip__ldg_8h_source.html index c628c78def..401b7547bd 100644 --- a/docs/RuntimeAPI/html/hip__ldg_8h_source.html +++ b/docs/RuntimeAPI/html/hip__ldg_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_ldg.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_ldg.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -91,87 +91,87 @@
    1 /*
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    -
    3 Permission is hereby granted, free of charge, to any person obtaining a copy
    -
    4 of this software and associated documentation files (the "Software"), to deal
    -
    5 in the Software without restriction, including without limitation the rights
    -
    6 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -
    7 copies of the Software, and to permit persons to whom the Software is
    -
    8 furnished to do so, subject to the following conditions:
    -
    9 The above copyright notice and this permission notice shall be included in
    -
    10 all copies or substantial portions of the Software.
    -
    11 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -
    12 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -
    13 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -
    14 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -
    15 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -
    16 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -
    17 THE SOFTWARE.
    -
    18 */
    -
    19 
    -
    20 #ifndef HIP_LDG_H
    -
    21 #define HIP_LDG_H
    -
    22 
    -
    23 #if __HCC__
    -
    24 #include"hip_vector_types.h"
    -
    25 #include"host_defines.h"
    -
    26 #if __hcc_workweek__ >= 16164
    -
    27 #include"hip/hip_vector_types.h"
    -
    28 #include"hip/hcc_detail/host_defines.h"
    -
    29 
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HIP_LDG_H
    +
    24 #define HIP_LDG_H
    +
    25 
    +
    26 #if __HCC__
    +
    27 #if __hcc_workweek__ >= 16164
    +
    28 #include "hip/hip_vector_types.h"
    +
    30 
    -
    31 __device__ char __ldg(const char* );
    -
    32 __device__ char2 __ldg(const char2* );
    -
    33 __device__ char4 __ldg(const char4* );
    -
    34 __device__ signed char __ldg(const signed char* );
    -
    35 __device__ unsigned char __ldg(const unsigned char* );
    -
    36 
    -
    37 __device__ short __ldg(const short* );
    -
    38 __device__ short2 __ldg(const short2* );
    -
    39 __device__ short4 __ldg(const short4* );
    -
    40 __device__ unsigned short __ldg(const unsigned short* );
    -
    41 
    -
    42 __device__ int __ldg(const int* );
    -
    43 __device__ int2 __ldg(const int2* );
    -
    44 __device__ int4 __ldg(const int4* );
    -
    45 __device__ unsigned int __ldg(const unsigned int* );
    -
    46 
    +
    31 
    +
    32 __device__ char __ldg(const char* );
    +
    33 __device__ char2 __ldg(const char2* );
    +
    34 __device__ char4 __ldg(const char4* );
    +
    35 __device__ signed char __ldg(const signed char* );
    +
    36 __device__ unsigned char __ldg(const unsigned char* );
    +
    37 
    +
    38 __device__ short __ldg(const short* );
    +
    39 __device__ short2 __ldg(const short2* );
    +
    40 __device__ short4 __ldg(const short4* );
    +
    41 __device__ unsigned short __ldg(const unsigned short* );
    +
    42 
    +
    43 __device__ int __ldg(const int* );
    +
    44 __device__ int2 __ldg(const int2* );
    +
    45 __device__ int4 __ldg(const int4* );
    +
    46 __device__ unsigned int __ldg(const unsigned int* );
    47 
    -
    48 __device__ long __ldg(const long* );
    -
    49 __device__ unsigned long __ldg(const unsigned long* );
    -
    50 
    -
    51 __device__ long long __ldg(const long long* );
    -
    52 __device__ longlong2 __ldg(const longlong2* );
    -
    53 __device__ unsigned long long __ldg(const unsigned long long* );
    -
    54 
    -
    55 __device__ uchar2 __ldg(const uchar2* );
    -
    56 __device__ uchar4 __ldg(const uchar4* );
    -
    57 
    -
    58 __device__ ushort2 __ldg(const ushort2* );
    -
    59 
    -
    60 __device__ uint2 __ldg(const uint2* );
    -
    61 __device__ uint4 __ldg(const uint4* );
    -
    62 
    -
    63 __device__ ulonglong2 __ldg(const ulonglong2* );
    -
    64 
    -
    65 __device__ float __ldg(const float* );
    -
    66 __device__ float2 __ldg(const float2* );
    -
    67 __device__ float4 __ldg(const float4* );
    -
    68 
    -
    69 __device__ double __ldg(const double* );
    -
    70 __device__ double2 __ldg(const double2* );
    -
    71 
    -
    72 #endif // __hcc_workweek__
    -
    73 
    -
    74 #endif // __HCC__
    -
    75 
    -
    76 #endif // HIP_LDG_H
    -
    77 
    +
    48 
    +
    49 __device__ long __ldg(const long* );
    +
    50 __device__ unsigned long __ldg(const unsigned long* );
    +
    51 
    +
    52 __device__ long long __ldg(const long long* );
    +
    53 __device__ longlong2 __ldg(const longlong2* );
    +
    54 __device__ unsigned long long __ldg(const unsigned long long* );
    +
    55 
    +
    56 __device__ uchar2 __ldg(const uchar2* );
    +
    57 __device__ uchar4 __ldg(const uchar4* );
    +
    58 
    +
    59 __device__ ushort2 __ldg(const ushort2* );
    +
    60 
    +
    61 __device__ uint2 __ldg(const uint2* );
    +
    62 __device__ uint4 __ldg(const uint4* );
    +
    63 
    +
    64 __device__ ulonglong2 __ldg(const ulonglong2* );
    +
    65 
    +
    66 __device__ float __ldg(const float* );
    +
    67 __device__ float2 __ldg(const float2* );
    +
    68 __device__ float4 __ldg(const float4* );
    +
    69 
    +
    70 __device__ double __ldg(const double* );
    +
    71 __device__ double2 __ldg(const double2* );
    +
    72 
    +
    73 #endif // __hcc_workweek__
    +
    74 
    +
    75 #endif // __HCC__
    +
    76 
    +
    77 #endif // HIP_LDG_H
    +
    78 
    TODO-doc.
    -
    Defines the different newt vector types for HIP runtime.
    diff --git a/docs/RuntimeAPI/html/hip__runtime_8h_source.html b/docs/RuntimeAPI/html/hip__runtime_8h_source.html index a5f46b9fe6..2d1779365a 100644 --- a/docs/RuntimeAPI/html/hip__runtime_8h_source.html +++ b/docs/RuntimeAPI/html/hip__runtime_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hip_runtime.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hip_runtime.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -132,7 +132,7 @@
    51 #include <hip/hip_common.h>
    52 
    53 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    -
    54 #include <hip/hcc_detail/hip_runtime.h>
    +
    55 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    56 #include <hip/nvcc_detail/hip_runtime.h>
    57 #else
    @@ -143,10 +143,11 @@
    62 #include <hip/hip_runtime_api.h>
    63 #include <hip/hip_vector_types.h>
    64 
    +
    Contains definitions of APIs for HIP runtime.
    diff --git a/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html b/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html index c85e302f46..7b20282025 100644 --- a/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html +++ b/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hip_runtime_api.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hip_runtime_api.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -110,265 +110,318 @@
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    20 THE SOFTWARE.
    21 */
    -
    29 #pragma once
    -
    30 
    -
    31 
    -
    32 #include <string.h> // for getDeviceProp
    -
    33 #include <hip/hip_common.h>
    -
    34 
    -
    35 typedef struct {
    -
    36  // 32-bit Atomics
    -
    37  unsigned hasGlobalInt32Atomics : 1;
    -
    38  unsigned hasGlobalFloatAtomicExch : 1;
    -
    39  unsigned hasSharedInt32Atomics : 1;
    -
    40  unsigned hasSharedFloatAtomicExch : 1;
    -
    41  unsigned hasFloatAtomicAdd : 1;
    +
    22 
    +
    30 #pragma once
    +
    31 
    +
    32 
    +
    33 #include <string.h> // for getDeviceProp
    +
    34 #include <hip/hip_common.h>
    +
    35 
    +
    36 enum {
    +
    37 HIP_SUCCESS = 0,
    +
    38 HIP_ERROR_INVALID_VALUE,
    +
    39 HIP_ERROR_NOT_INITIALIZED,
    +
    40 HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
    +
    41 };
    42 
    -
    43  // 64-bit Atomics
    -
    44  unsigned hasGlobalInt64Atomics : 1;
    -
    45  unsigned hasSharedInt64Atomics : 1;
    -
    46 
    -
    47  // Doubles
    -
    48  unsigned hasDoubles : 1;
    -
    49 
    -
    50  // Warp cross-lane operations
    -
    51  unsigned hasWarpVote : 1;
    -
    52  unsigned hasWarpBallot : 1;
    -
    53  unsigned hasWarpShuffle : 1;
    -
    54  unsigned hasFunnelShift : 1;
    -
    55 
    -
    56  // Sync
    -
    57  unsigned hasThreadFenceSystem : 1;
    -
    58  unsigned hasSyncThreadsExt : 1;
    -
    59 
    -
    60  // Misc
    -
    61  unsigned hasSurfaceFuncs : 1;
    -
    62  unsigned has3dGrid : 1;
    -
    63  unsigned hasDynamicParallelism : 1;
    - -
    65 
    -
    66 
    -
    67 //---
    -
    68 // Common headers for both NVCC and HCC paths:
    -
    69 
    -
    74 typedef struct hipDeviceProp_t {
    -
    75  char name[256];
    -
    76  size_t totalGlobalMem;
    - - -
    79  int warpSize;
    - -
    81  int maxThreadsDim[3];
    -
    82  int maxGridSize[3];
    -
    83  int clockRate;
    - - -
    86  size_t totalConstMem;
    -
    87  int major;
    -
    88  int minor;
    - - - - - - - -
    96  int pciBusID;
    - - - - -
    101  } hipDeviceProp_t;
    -
    102 
    -
    103 
    -
    107 enum hipMemoryType {
    -
    108  hipMemoryTypeHost,
    -
    109  hipMemoryTypeDevice
    -
    110 };
    +
    43 typedef struct {
    +
    44  // 32-bit Atomics
    +
    45  unsigned hasGlobalInt32Atomics : 1;
    +
    46  unsigned hasGlobalFloatAtomicExch : 1;
    +
    47  unsigned hasSharedInt32Atomics : 1;
    +
    48  unsigned hasSharedFloatAtomicExch : 1;
    +
    49  unsigned hasFloatAtomicAdd : 1;
    +
    50 
    +
    51  // 64-bit Atomics
    +
    52  unsigned hasGlobalInt64Atomics : 1;
    +
    53  unsigned hasSharedInt64Atomics : 1;
    +
    54 
    +
    55  // Doubles
    +
    56  unsigned hasDoubles : 1;
    +
    57 
    +
    58  // Warp cross-lane operations
    +
    59  unsigned hasWarpVote : 1;
    +
    60  unsigned hasWarpBallot : 1;
    +
    61  unsigned hasWarpShuffle : 1;
    +
    62  unsigned hasFunnelShift : 1;
    +
    63 
    +
    64  // Sync
    +
    65  unsigned hasThreadFenceSystem : 1;
    +
    66  unsigned hasSyncThreadsExt : 1;
    +
    67 
    +
    68  // Misc
    +
    69  unsigned hasSurfaceFuncs : 1;
    +
    70  unsigned has3dGrid : 1;
    +
    71  unsigned hasDynamicParallelism : 1;
    + +
    73 
    +
    74 
    +
    75 //---
    +
    76 // Common headers for both NVCC and HCC paths:
    +
    77 
    +
    82 typedef struct hipDeviceProp_t {
    +
    83  char name[256];
    +
    84  size_t totalGlobalMem;
    + + +
    87  int warpSize;
    + +
    89  int maxThreadsDim[3];
    +
    90  int maxGridSize[3];
    +
    91  int clockRate;
    + + +
    94  size_t totalConstMem;
    +
    95  int major;
    +
    96  int minor;
    + + + + + + + +
    104  int pciBusID;
    + + + + +
    109  } hipDeviceProp_t;
    +
    110 
    111 
    -
    112 
    -
    113 
    -
    117 typedef struct hipPointerAttribute_t {
    -
    118  enum hipMemoryType memoryType;
    -
    119  int device;
    -
    120  void *devicePointer;
    -
    121  void *hostPointer;
    -
    122  int isManaged;
    -
    123  unsigned allocationFlags; /* flags specified when memory was allocated*/
    -
    124  /* peers? */
    - -
    126 
    -
    127 
    -
    128 // hack to get these to show up in Doxygen:
    -
    136 /*
    -
    137  asdasd* @brief hipError_t
    -
    138  * @enum
    -
    139  * @ingroup Enumerations
    -
    140  */
    -
    141 // Developer note - when updating these, update the hipErrorName and hipErrorString functions in NVCC and HCC paths
    -
    142 // Also update the hipCUDAErrorTohipError function in NVCC path.
    -
    143 
    -
    144 typedef enum hipError_t {
    - - - - - - - - - -
    154 
    - - - - - - - - - - -
    165 } hipError_t;
    -
    166 
    -
    167 /*
    -
    168  * @brief hipDeviceAttribute_t
    -
    169  * @enum
    -
    170  * @ingroup Enumerations
    -
    171  */
    -
    172 typedef enum hipDeviceAttribute_t {
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    199 
    -
    204 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    -
    205 #include "hip/hcc_detail/hip_runtime_api.h"
    -
    206 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    -
    207 #include "hip/nvcc_detail/hip_runtime_api.h"
    -
    208 #else
    -
    209 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    -
    210 #endif
    -
    211 
    -
    212 
    -
    220 #ifdef __cplusplus
    -
    221 template<class T>
    -
    222 static inline hipError_t hipMalloc ( T** devPtr, size_t size)
    -
    223 {
    -
    224  return hipMalloc((void**)devPtr, size);
    -
    225 }
    -
    226 
    -
    227 // Provide an override to automatically typecast the pointer type from void**, and also provide a default for the flags.
    -
    228 template<class T>
    -
    229 static inline hipError_t hipHostMalloc( T** ptr, size_t size, unsigned int flags = hipHostMallocDefault)
    -
    230 {
    -
    231  return hipHostMalloc((void**)ptr, size, flags);
    -
    232 }
    -
    233 #endif
    -
    Call to hipGetDeviceCount returned 0 devices.
    Definition: hip_runtime_api.h:155
    -
    size_t totalConstMem
    Size of shared memory region (in bytes).
    Definition: hip_runtime_api.h:86
    -
    Maximum Shared Memory Per Multiprocessor.
    Definition: hip_runtime_api.h:196
    -
    Maximum x-dimension of a block.
    Definition: hip_runtime_api.h:174
    -
    Maximum x-dimension of a grid.
    Definition: hip_runtime_api.h:177
    -
    Peer access was already enabled from the current device.
    Definition: hip_runtime_api.h:159
    -
    HSA runtime memory call returned error. Typically not seen in production systems. ...
    Definition: hip_runtime_api.h:160
    -
    Global memory bus width in bits.
    Definition: hip_runtime_api.h:186
    -
    Successful completion.
    Definition: hip_runtime_api.h:145
    -
    int minor
    Minor compute capability. On HCC, this is an approximation and features may differ from CUDA CC...
    Definition: hip_runtime_api.h:88
    -
    int canMapHostMemory
    Check whether HIP can map host memory.
    Definition: hip_runtime_api.h:100
    -
    Maximum number of 32-bit registers available to a thread block. This number is shared by all thread b...
    Definition: hip_runtime_api.h:183
    -
    int regsPerBlock
    Registers per block.
    Definition: hip_runtime_api.h:78
    -
    Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
    Definition: hip_runtime_api.h:189
    -
    #define hipHostMallocDefault
    Flags that can be used with hipHostMalloc.
    Definition: hip_runtime_api.h:69
    -
    HSA runtime call other than memory returned error. Typically not seen in production systems...
    Definition: hip_runtime_api.h:161
    -
    int isMultiGpuBoard
    1 if device is on a multi-GPU board, 0 if not.
    Definition: hip_runtime_api.h:99
    -
    DeviceID must be in range 0...#compute-devices.
    Definition: hip_runtime_api.h:150
    -
    Peak clock frequency in kilohertz.
    Definition: hip_runtime_api.h:184
    -
    Definition: hip_runtime_api.h:117
    -
    int clockRate
    Max clock frequency of the multiProcessors in khz.
    Definition: hip_runtime_api.h:83
    -
    Maximum z-dimension of a grid.
    Definition: hip_runtime_api.h:179
    -
    Minor compute capability version number.
    Definition: hip_runtime_api.h:192
    -
    Maximum shared memory available per block in bytes.
    Definition: hip_runtime_api.h:180
    -
    int pciBusID
    PCI Bus ID.
    Definition: hip_runtime_api.h:96
    -
    Maximum y-dimension of a grid.
    Definition: hip_runtime_api.h:178
    -
    Multiple GPU devices.
    Definition: hip_runtime_api.h:197
    -
    Unknown error.
    Definition: hip_runtime_api.h:157
    -
    int maxThreadsPerBlock
    Max work items per work group or workgroup max size.
    Definition: hip_runtime_api.h:80
    -
    Maximum y-dimension of a block.
    Definition: hip_runtime_api.h:175
    -
    hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
    Allocate device accessible page locked host memory.
    Definition: hip_memory.cpp:149
    -
    size_t sharedMemPerBlock
    Size of shared memory region (in bytes).
    Definition: hip_runtime_api.h:77
    -
    int maxThreadsPerMultiProcessor
    Maximum resident threads per multi-processor.
    Definition: hip_runtime_api.h:91
    -
    Produced when trying to lock a page-locked memory.
    Definition: hip_runtime_api.h:162
    -
    int l2CacheSize
    L2 cache size.
    Definition: hip_runtime_api.h:90
    -
    hipDeviceAttribute_t
    Definition: hip_runtime_api.h:172
    -
    Major compute capability version number.
    Definition: hip_runtime_api.h:191
    -
    Peer access was never enabled from the current device.
    Definition: hip_runtime_api.h:158
    -
    Maximum number of threads per block.
    Definition: hip_runtime_api.h:173
    -
    Resource handle (hipEvent_t or hipStream_t) invalid.
    Definition: hip_runtime_api.h:149
    -
    Memory allocation error.
    Definition: hip_runtime_api.h:146
    -
    hipDeviceArch_t arch
    Architectural feature flags. New for HIP.
    Definition: hip_runtime_api.h:94
    -
    int maxGridSize[3]
    Max grid dimensions (XYZ).
    Definition: hip_runtime_api.h:82
    -
    int computeMode
    Compute mode.
    Definition: hip_runtime_api.h:92
    -
    Maximum z-dimension of a block.
    Definition: hip_runtime_api.h:176
    -
    PCI Bus ID.
    Definition: hip_runtime_api.h:194
    -
    Invalid memory copy direction.
    Definition: hip_runtime_api.h:151
    -
    Marker that more error codes are needed.
    Definition: hip_runtime_api.h:164
    -
    Warp size in threads.
    Definition: hip_runtime_api.h:182
    -
    int major
    Major compute capability. On HCC, this is an approximation and features may differ from CUDA CC...
    Definition: hip_runtime_api.h:87
    -
    Peak memory clock frequency in kilohertz.
    Definition: hip_runtime_api.h:185
    -
    Maximum resident threads per multiprocessor.
    Definition: hip_runtime_api.h:190
    -
    hipError_t
    Definition: hip_runtime_api.h:144
    -
    int clockInstructionRate
    Frequency in khz of the timer used by the device-side "clock*" instructions. New for HIP...
    Definition: hip_runtime_api.h:93
    -
    Constant memory size in bytes.
    Definition: hip_runtime_api.h:181
    -
    int warpSize
    Warp size.
    Definition: hip_runtime_api.h:79
    -
    int concurrentKernels
    Device can possibly execute multiple kernels concurrently.
    Definition: hip_runtime_api.h:95
    -
    size_t totalGlobalMem
    Size of global memory region (in bytes).
    Definition: hip_runtime_api.h:76
    -
    Invalid Device Pointer.
    Definition: hip_runtime_api.h:152
    -
    hipError_t hipMalloc(void **ptr, size_t size)
    Allocate memory on the default accelerator.
    Definition: hip_memory.cpp:117
    -
    Compute mode that device is currently in.
    Definition: hip_runtime_api.h:188
    -
    PCI Device ID.
    Definition: hip_runtime_api.h:195
    -
    int maxThreadsDim[3]
    Max number of threads in each dimension (XYZ) of a block.
    Definition: hip_runtime_api.h:81
    -
    Number of multiprocessors on the device.
    Definition: hip_runtime_api.h:187
    -
    int memoryBusWidth
    Global memory bus width in bits.
    Definition: hip_runtime_api.h:85
    -
    One or more of the parameters passed to the API call is NULL or not in an acceptable range...
    Definition: hip_runtime_api.h:148
    -
    Definition: hip_runtime_api.h:74
    -
    Indicates that asynchronous operations enqueued earlier are not ready. This is not actually an error...
    Definition: hip_runtime_api.h:156
    -
    size_t maxSharedMemoryPerMultiProcessor
    Maximum Shared Memory Per Multiprocessor.
    Definition: hip_runtime_api.h:98
    -
    int pciDeviceID
    PCI Device ID.
    Definition: hip_runtime_api.h:97
    -
    char name[256]
    Device name.
    Definition: hip_runtime_api.h:75
    -
    Produced when trying to unlock a non-page-locked memory.
    Definition: hip_runtime_api.h:163
    -
    Definition: hip_runtime_api.h:35
    -
    int memoryClockRate
    Max global memory clock frequency in khz.
    Definition: hip_runtime_api.h:84
    -
    TODO comment from hipErrorInitializationError.
    Definition: hip_runtime_api.h:153
    -
    Device can possibly execute multiple kernels concurrently.
    Definition: hip_runtime_api.h:193
    -
    int multiProcessorCount
    Number of multi-processors (compute units).
    Definition: hip_runtime_api.h:89
    -
    Out of resources error.
    Definition: hip_runtime_api.h:147
    +
    115 enum hipMemoryType {
    +
    116  hipMemoryTypeHost,
    +
    117  hipMemoryTypeDevice
    +
    118 };
    +
    119 
    +
    120 
    +
    121 
    +
    125 typedef struct hipPointerAttribute_t {
    +
    126  enum hipMemoryType memoryType;
    +
    127  int device;
    +
    128  void *devicePointer;
    +
    129  void *hostPointer;
    +
    130  int isManaged;
    +
    131  unsigned allocationFlags; /* flags specified when memory was allocated*/
    +
    132  /* peers? */
    + +
    134 
    +
    135 
    +
    136 // hack to get these to show up in Doxygen:
    +
    144 /*
    +
    145  * @brief hipError_t
    +
    146  * @enum
    +
    147  * @ingroup Enumerations
    +
    148  */
    +
    149 // Developer note - when updating these, update the hipErrorName and hipErrorString functions in NVCC and HCC paths
    +
    150 // Also update the hipCUDAErrorTohipError function in NVCC path.
    +
    151 
    +
    152 typedef enum hipError_t {
    + +
    154  hipErrorOutOfMemory = 2,
    +
    155  hipErrorNotInitialized = 3,
    +
    156  hipErrorDeinitialized = 4,
    +
    157  hipErrorProfilerDisabled = 5,
    +
    158  hipErrorProfilerNotInitialized = 6,
    +
    159  hipErrorProfilerAlreadyStarted = 7,
    +
    160  hipErrorProfilerAlreadyStopped = 8,
    +
    161  hipErrorInvalidImage = 200,
    + +
    163  hipErrorContextAlreadyCurrent = 202,
    +
    164  hipErrorMapFailed = 205,
    +
    165  hipErrorUnmapFailed = 206,
    +
    166  hipErrorArrayIsMapped = 207,
    +
    167  hipErrorAlreadyMapped = 208,
    +
    168  hipErrorNoBinaryForGpu = 209,
    +
    169  hipErrorAlreadyAcquired = 210,
    +
    170  hipErrorNotMapped = 211,
    +
    171  hipErrorNotMappedAsArray = 212,
    +
    172  hipErrorNotMappedAsPointer = 213,
    +
    173  hipErrorECCNotCorrectable = 214,
    +
    174  hipErrorUnsupportedLimit = 215,
    +
    175  hipErrorContextAlreadyInUse = 216,
    +
    176  hipErrorPeerAccessUnsupported = 217,
    + +
    178  hipErrorInvalidGraphicsContext = 219,
    +
    179  hipErrorInvalidSource = 300,
    +
    180  hipErrorFileNotFound = 301,
    +
    181  hipErrorSharedObjectSymbolNotFound = 302,
    +
    182  hipErrorSharedObjectInitFailed = 303,
    +
    183  hipErrorOperatingSystem = 304,
    +
    184  hipErrorInvalidHandle = 400,
    +
    185  hipErrorNotFound = 500,
    +
    186  hipErrorIllegalAddress = 700,
    +
    187  hipErrorInvalidSymbol = 701,
    +
    188 // Runtime Error Codes start here.
    +
    189  hipErrorMissingConfiguration = 1001,
    + + + +
    193  hipErrorPriorLaunchFailure = 1005,
    +
    194  hipErrorLaunchTimeOut = 1006,
    + +
    196  hipErrorInvalidDeviceFunction = 1008,
    +
    197  hipErrorInvalidConfiguration = 1009,
    + + + + + + + + + +
    207 
    + + + + + + +
    214 } hipError_t;
    +
    215 
    +
    216 /*
    +
    217  * @brief hipDeviceAttribute_t
    +
    218  * @enum
    +
    219  * @ingroup Enumerations
    +
    220  */
    +
    221 typedef enum hipDeviceAttribute_t {
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    248 
    +
    253 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    + +
    255 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    +
    256 #include "hip/nvcc_detail/hip_runtime_api.h"
    +
    257 #else
    +
    258 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    +
    259 #endif
    +
    260 
    +
    261 
    +
    269 #ifdef __cplusplus
    +
    270 template<class T>
    +
    271 static inline hipError_t hipMalloc ( T** devPtr, size_t size)
    +
    272 {
    +
    273  return hipMalloc((void**)devPtr, size);
    +
    274 }
    +
    275 
    +
    276 // Provide an override to automatically typecast the pointer type from void**, and also provide a default for the flags.
    +
    277 template<class T>
    +
    278 static inline hipError_t hipHostMalloc( T** ptr, size_t size, unsigned int flags = hipHostMallocDefault)
    +
    279 {
    +
    280  return hipHostMalloc((void**)ptr, size, flags);
    +
    281 }
    +
    282 #endif
    +
    Call to hipGetDeviceCount returned 0 devices.
    Definition: hip_runtime_api.h:205
    +
    size_t totalConstMem
    Size of shared memory region (in bytes).
    Definition: hip_runtime_api.h:94
    +
    Maximum Shared Memory Per Multiprocessor.
    Definition: hip_runtime_api.h:245
    +
    Maximum x-dimension of a block.
    Definition: hip_runtime_api.h:223
    +
    Maximum x-dimension of a grid.
    Definition: hip_runtime_api.h:226
    +
    Peer access was already enabled from the current device.
    Definition: hip_runtime_api.h:206
    +
    HSA runtime memory call returned error. Typically not seen in production systems. ...
    Definition: hip_runtime_api.h:209
    +
    Global memory bus width in bits.
    Definition: hip_runtime_api.h:235
    +
    Successful completion.
    Definition: hip_runtime_api.h:153
    +
    int minor
    Minor compute capability. On HCC, this is an approximation and features may differ from CUDA CC...
    Definition: hip_runtime_api.h:96
    +
    In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
    Definition: hip_runtime_api.h:177
    +
    int canMapHostMemory
    Check whether HIP can map host memory.
    Definition: hip_runtime_api.h:108
    +
    Maximum number of 32-bit registers available to a thread block. This number is shared by all thread b...
    Definition: hip_runtime_api.h:232
    +
    int regsPerBlock
    Registers per block.
    Definition: hip_runtime_api.h:86
    +
    Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
    Definition: hip_runtime_api.h:238
    +
    #define hipHostMallocDefault
    Flags that can be used with hipHostMalloc.
    Definition: hip_runtime_api.h:86
    +
    HSA runtime call other than memory returned error. Typically not seen in production systems...
    Definition: hip_runtime_api.h:210
    +
    int isMultiGpuBoard
    1 if device is on a multi-GPU board, 0 if not.
    Definition: hip_runtime_api.h:107
    +
    DeviceID must be in range 0...#compute-devices.
    Definition: hip_runtime_api.h:198
    +
    Peak clock frequency in kilohertz.
    Definition: hip_runtime_api.h:233
    +
    Definition: hip_runtime_api.h:125
    +
    int clockRate
    Max clock frequency of the multiProcessors in khz.
    Definition: hip_runtime_api.h:91
    +
    Maximum z-dimension of a grid.
    Definition: hip_runtime_api.h:228
    +
    Minor compute capability version number.
    Definition: hip_runtime_api.h:241
    +
    Maximum shared memory available per block in bytes.
    Definition: hip_runtime_api.h:229
    +
    int pciBusID
    PCI Bus ID.
    Definition: hip_runtime_api.h:104
    +
    Maximum y-dimension of a grid.
    Definition: hip_runtime_api.h:227
    +
    Multiple GPU devices.
    Definition: hip_runtime_api.h:246
    +
    Unknown error.
    Definition: hip_runtime_api.h:202
    +
    int maxThreadsPerBlock
    Max work items per work group or workgroup max size.
    Definition: hip_runtime_api.h:88
    +
    Maximum y-dimension of a block.
    Definition: hip_runtime_api.h:224
    +
    hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
    Allocate device accessible page locked host memory.
    Definition: hip_memory.cpp:142
    +
    size_t sharedMemPerBlock
    Size of shared memory region (in bytes).
    Definition: hip_runtime_api.h:85
    +
    int maxThreadsPerMultiProcessor
    Maximum resident threads per multi-processor.
    Definition: hip_runtime_api.h:99
    +
    Produced when trying to lock a page-locked memory.
    Definition: hip_runtime_api.h:211
    +
    int l2CacheSize
    L2 cache size.
    Definition: hip_runtime_api.h:98
    +
    hipDeviceAttribute_t
    Definition: hip_runtime_api.h:221
    +
    Major compute capability version number.
    Definition: hip_runtime_api.h:240
    +
    Peer access was never enabled from the current device.
    Definition: hip_runtime_api.h:208
    +
    Maximum number of threads per block.
    Definition: hip_runtime_api.h:222
    +
    Resource handle (hipEvent_t or hipStream_t) invalid.
    Definition: hip_runtime_api.h:203
    +
    Memory allocation error.
    Definition: hip_runtime_api.h:190
    +
    hipDeviceArch_t arch
    Architectural feature flags. New for HIP.
    Definition: hip_runtime_api.h:102
    +
    int maxGridSize[3]
    Max grid dimensions (XYZ).
    Definition: hip_runtime_api.h:90
    +
    int computeMode
    Compute mode.
    Definition: hip_runtime_api.h:100
    +
    Maximum z-dimension of a block.
    Definition: hip_runtime_api.h:225
    +
    PCI Bus ID.
    Definition: hip_runtime_api.h:243
    +
    Invalid memory copy direction.
    Definition: hip_runtime_api.h:201
    +
    Marker that more error codes are needed.
    Definition: hip_runtime_api.h:213
    +
    Warp size in threads.
    Definition: hip_runtime_api.h:231
    +
    int major
    Major compute capability. On HCC, this is an approximation and features may differ from CUDA CC...
    Definition: hip_runtime_api.h:95
    +
    Peak memory clock frequency in kilohertz.
    Definition: hip_runtime_api.h:234
    +
    Maximum resident threads per multiprocessor.
    Definition: hip_runtime_api.h:239
    +
    hipError_t
    Definition: hip_runtime_api.h:152
    +
    int clockInstructionRate
    Frequency in khz of the timer used by the device-side "clock*" instructions. New for HIP...
    Definition: hip_runtime_api.h:101
    +
    Constant memory size in bytes.
    Definition: hip_runtime_api.h:230
    +
    int warpSize
    Warp size.
    Definition: hip_runtime_api.h:87
    +
    int concurrentKernels
    Device can possibly execute multiple kernels concurrently.
    Definition: hip_runtime_api.h:103
    +
    size_t totalGlobalMem
    Size of global memory region (in bytes).
    Definition: hip_runtime_api.h:84
    +
    Invalid Device Pointer.
    Definition: hip_runtime_api.h:200
    +
    An exception occurred on the device while executing a kernel.
    Definition: hip_runtime_api.h:192
    +
    hipError_t hipMalloc(void **ptr, size_t size)
    Allocate memory on the default accelerator.
    Definition: hip_memory.cpp:103
    +
    Compute mode that device is currently in.
    Definition: hip_runtime_api.h:237
    +
    PCI Device ID.
    Definition: hip_runtime_api.h:244
    +
    int maxThreadsDim[3]
    Max number of threads in each dimension (XYZ) of a block.
    Definition: hip_runtime_api.h:89
    +
    Number of multiprocessors on the device.
    Definition: hip_runtime_api.h:236
    +
    int memoryBusWidth
    Global memory bus width in bits.
    Definition: hip_runtime_api.h:93
    +
    One or more of the parameters passed to the API call is NULL or not in an acceptable range...
    Definition: hip_runtime_api.h:199
    +
    Definition: hip_runtime_api.h:82
    +
    Indicates that asynchronous operations enqueued earlier are not ready. This is not actually an error...
    Definition: hip_runtime_api.h:204
    +
    size_t maxSharedMemoryPerMultiProcessor
    Maximum Shared Memory Per Multiprocessor.
    Definition: hip_runtime_api.h:106
    +
    int pciDeviceID
    PCI Device ID.
    Definition: hip_runtime_api.h:105
    +
    char name[256]
    Device name.
    Definition: hip_runtime_api.h:83
    +
    Produced when trying to unlock a non-page-locked memory.
    Definition: hip_runtime_api.h:212
    +
    Definition: hip_runtime_api.h:43
    +
    Contains C function APIs for HIP runtime. This file does not use any HCC builtin or special language ...
    +
    int memoryClockRate
    Max global memory clock frequency in khz.
    Definition: hip_runtime_api.h:92
    +
    TODO comment from hipErrorInitializationError.
    Definition: hip_runtime_api.h:191
    +
    Produced when input context is invalid.
    Definition: hip_runtime_api.h:162
    +
    Device can possibly execute multiple kernels concurrently.
    Definition: hip_runtime_api.h:242
    +
    int multiProcessorCount
    Number of multi-processors (compute units).
    Definition: hip_runtime_api.h:97
    +
    Out of resources error.
    Definition: hip_runtime_api.h:195
    diff --git a/docs/RuntimeAPI/html/hip__texture_8h.html b/docs/RuntimeAPI/html/hip__texture_8h.html index 708983be66..636e7640bf 100644 --- a/docs/RuntimeAPI/html/hip__texture_8h.html +++ b/docs/RuntimeAPI/html/hip__texture_8h.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_texture.h File Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_texture.h File Reference @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -156,23 +156,23 @@ - + + - + + - + + - + + - + + - + + @@ -250,12 +250,313 @@

    Functions

    -hipError_t hipMallocArray (hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height=0, unsigned int flags=0)
    hipError_t hipMallocArray (hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height=0, unsigned int flags=0)
     Allocate an array on the device. More...
     
    -hipError_t hipFreeArray (hipArray *array)
    hipError_t hipFreeArray (hipArray *array)
     Frees an array on the device. More...
     
    -hipError_t hipMemcpy2D (void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
    hipError_t hipMemcpy2D (void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
     Copies data between host and device. More...
     
    -hipError_t hipMemcpy2DToArray (hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
    hipError_t hipMemcpy2DToArray (hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
     Copies data between host and device. More...
     
    -hipError_t hipMemcpyToArray (hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
    hipError_t hipMemcpyToArray (hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
     Copies data between host and device. More...
     
    -hipChannelFormatDesc hipCreateChannelDesc (int x, int y, int z, int w, hipChannelFormatKind f)
    hipChannelFormatDesc hipCreateChannelDesc (int x, int y, int z, int w, hipChannelFormatKind f)
     Returns a channel descriptor using the specified format. More...
     
    template<typename T >
    +
    + +

    Function Documentation

    + +
    +
    + + + + + + + + +
    hipError_t hipFreeArray (hipArrayarray)
    +
    + +

    Frees an array on the device.

    +
    Parameters
    + + +
    [in]arrayPointer to array to free
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, hipErrorInitializationError
    +
    See Also
    hipMalloc, hipMallocPitch, hipFree, hipMallocArray, hipHostMalloc, hipHostFree
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMallocArray (hipArray ** array,
    const hipChannelFormatDescdesc,
    size_t width,
    size_t height = 0,
    unsigned int flags = 0 
    )
    +
    + +

    Allocate an array on the device.

    +
    Parameters
    + + + + + + +
    [out]arrayPointer to allocated array in device memory
    [in]descRequested channel format
    [in]widthRequested array allocation width
    [in]heightRequested array allocation height
    [in]flagsRequested properties of allocated array
    +
    +
    +
    Returns
    hipSuccess, hipErrorMemoryAllocation
    +
    See Also
    hipMalloc, hipMallocPitch, hipFree, hipFreeArray, hipHostMalloc, hipHostFree
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpy2D (void * dst,
    size_t dpitch,
    const void * src,
    size_t spitch,
    size_t width,
    size_t height,
    hipMemcpyKind kind 
    )
    +
    + +

    Copies data between host and device.

    +
    Parameters
    + + + + + + + + +
    [in]dstDestination memory address
    [in]dpitchPitch of destination memory
    [in]srcSource memory address
    [in]spitchPitch of source memory
    [in]widthWidth of matrix transfer (columns in bytes)
    [in]heightHeight of matrix transfer (rows)
    [in]kindType of transfer
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorInvalidPitchValue, hipErrorInvalidDevicePointer, hipErrorInvalidMemcpyDirection
    +
    See Also
    hipMemcpy, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpyToSymbol, hipMemcpyAsync
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpy2DToArray (hipArraydst,
    size_t wOffset,
    size_t hOffset,
    const void * src,
    size_t spitch,
    size_t width,
    size_t height,
    hipMemcpyKind kind 
    )
    +
    + +

    Copies data between host and device.

    +
    Parameters
    + + + + + + + + +
    [in]dstDestination memory address
    [in]dpitchPitch of destination memory
    [in]srcSource memory address
    [in]spitchPitch of source memory
    [in]widthWidth of matrix transfer (columns in bytes)
    [in]heightHeight of matrix transfer (rows)
    [in]kindType of transfer
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorInvalidPitchValue, hipErrorInvalidDevicePointer, hipErrorInvalidMemcpyDirection
    +
    See Also
    hipMemcpy, hipMemcpyToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol, hipMemcpyAsync
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    hipError_t hipMemcpyToArray (hipArraydst,
    size_t wOffset,
    size_t hOffset,
    const void * src,
    size_t count,
    hipMemcpyKind kind 
    )
    +
    + +

    Copies data between host and device.

    +
    Parameters
    + + + + + + + + +
    [in]dstDestination memory address
    [in]dpitchPitch of destination memory
    [in]srcSource memory address
    [in]spitchPitch of source memory
    [in]widthWidth of matrix transfer (columns in bytes)
    [in]heightHeight of matrix transfer (rows)
    [in]kindType of transfer
    +
    +
    +
    Returns
    hipSuccess, hipErrorInvalidValue, #hipErrorInvalidPitchValue, hipErrorInvalidDevicePointer, hipErrorInvalidMemcpyDirection
    +
    See Also
    hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol, hipMemcpyAsync
    +
    diff --git a/docs/RuntimeAPI/html/hip__texture_8h_source.html b/docs/RuntimeAPI/html/hip__texture_8h_source.html index 7c48807d32..48ffa3d16d 100644 --- a/docs/RuntimeAPI/html/hip__texture_8h_source.html +++ b/docs/RuntimeAPI/html/hip__texture_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_texture.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_texture.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -181,156 +181,151 @@
    97 #define tex2D(_tex, _dx, _dy) \
    98  _tex._dataPtr[(unsigned int)_dx + (unsigned int)_dy*(_tex.width)]
    99 
    -
    100 hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc,
    -
    101  size_t width, size_t height = 0, unsigned int flags = 0);
    -
    102 
    -
    103 hipError_t hipFreeArray(hipArray* array);
    -
    104  //
    -
    105 // dpitch, spitch, and width in bytes
    -
    106 hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
    -
    107 
    -
    108 // wOffset, width, and spitch in bytes
    -
    109 hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
    -
    110  size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
    -
    111 
    -
    112 hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset,
    -
    113  const void* src, size_t count, hipMemcpyKind kind);
    + +
    113  size_t width, size_t height = 0, unsigned int flags = 0);
    114 
    -
    115 
    -
    123 // These are C++ APIs - maybe belong in separate file.
    -
    147 // C API:
    -
    148 #if 0
    -
    149 hipChannelFormatDesc hipBindTexture(size_t *offset, struct textureReference *tex, const void *devPtr, const struct hipChannelFormatDesc *desc, size_t size=UINT_MAX)
    -
    150 {
    -
    151  tex->_dataPtr = devPtr;
    -
    152 }
    -
    153 #endif
    -
    154 
    -
    155 /*
    -
    156  * @brief Returns a channel descriptor with format f and number of bits of each ocmponent x,y,z and w.
    -
    157  *
    -
    158  * @par Parameters
    -
    159  * None.
    -
    160  * @return Channel descriptor
    -
    161  *
    -
    162  *
    -
    163  **/
    -
    164 hipChannelFormatDesc hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f);
    -
    165 
    -
    166 // descriptors
    -
    167 template <typename T> inline hipChannelFormatDesc hipCreateChannelDesc() {
    -
    168  return hipCreateChannelDesc(0, 0, 0, 0, hipChannelFormatKindNone);
    -
    169 }
    -
    170 template <> inline hipChannelFormatDesc hipCreateChannelDesc<int>() {
    -
    171  int e = (int)sizeof(int) * 8;
    -
    172  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindSigned);
    -
    173 }
    -
    174 template <> inline hipChannelFormatDesc hipCreateChannelDesc<unsigned int>() {
    -
    175  int e = (int)sizeof(unsigned int) * 8;
    -
    176  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindUnsigned);
    -
    177 }
    -
    178 template <> inline hipChannelFormatDesc hipCreateChannelDesc<long>() {
    -
    179  int e = (int)sizeof(long) * 8;
    -
    180  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindSigned);
    -
    181 }
    -
    182 template <> inline hipChannelFormatDesc hipCreateChannelDesc<unsigned long>() {
    -
    183  int e = (int)sizeof(unsigned long) * 8;
    -
    184  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindUnsigned);
    -
    185 }
    -
    186 template <> inline hipChannelFormatDesc hipCreateChannelDesc<float>() {
    -
    187  int e = (int)sizeof(float) * 8;
    -
    188  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindFloat);
    -
    189 }
    -
    190 
    -
    191 /*
    -
    192  * @brief hipBindTexture Binds size bytes of the memory area pointed to by @p devPtr to the texture reference tex.
    -
    193  *
    -
    194  * @p desc describes how the memory is interpreted when fetching values from the texture. The @p offset parameter is an optional byte offset as with the low-level
    -
    195  * hipBindTexture() function. Any memory previously bound to tex is unbound.
    -
    196  *
    -
    197  * @param[in] offset - Offset in bytes
    -
    198  * @param[out] tex - texture to bind
    -
    199  * @param[in] devPtr - Memory area on device
    -
    200  * @param[in] desc - Channel format
    -
    201  * @param[in] size - Size of the memory area pointed to by devPtr
    -
    202  * @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknown
    -
    203  **/
    -
    204 template <class T, int dim, enum hipTextureReadMode readMode>
    -
    205 hipError_t hipBindTexture(size_t *offset,
    -
    206  struct texture<T, dim, readMode> &tex,
    -
    207  const void *devPtr,
    -
    208  const struct hipChannelFormatDesc *desc,
    -
    209  size_t size=UINT_MAX)
    + +
    124 
    +
    139 hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
    +
    140 
    +
    155 hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
    +
    156  size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
    +
    157 
    +
    172 hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset,
    +
    173  const void* src, size_t count, hipMemcpyKind kind);
    +
    174 
    +
    175 
    +
    183 // These are C++ APIs - maybe belong in separate file.
    +
    207 // C API:
    +
    208 #if 0
    +
    209 hipChannelFormatDesc hipBindTexture(size_t *offset, struct textureReference *tex, const void *devPtr, const struct hipChannelFormatDesc *desc, size_t size=UINT_MAX)
    210 {
    -
    211  tex._dataPtr = static_cast<const T*>(devPtr);
    -
    212 
    -
    213  return hipSuccess;
    -
    214 }
    -
    215 
    -
    216 /*
    -
    217  * @brief hipBindTexture Binds size bytes of the memory area pointed to by @p devPtr to the texture reference tex.
    -
    218  *
    -
    219  * @p desc describes how the memory is interpreted when fetching values from the texture. The @p offset parameter is an optional byte offset as with the low-level
    -
    220  * hipBindTexture() function. Any memory previously bound to tex is unbound.
    -
    221  *
    -
    222  * @param[in] offset - Offset in bytes
    -
    223  * @param[in] tex - texture to bind
    -
    224  * @param[in] devPtr - Memory area on device
    -
    225  * @param[in] size - Size of the memory area pointed to by devPtr
    -
    226  * @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknown
    -
    227  **/
    -
    228 template <class T, int dim, enum hipTextureReadMode readMode>
    -
    229 hipError_t hipBindTexture(size_t *offset,
    -
    230  struct texture<T, dim, readMode> &tex,
    -
    231  const void *devPtr,
    -
    232  size_t size=UINT_MAX)
    -
    233 {
    -
    234  return hipBindTexture(offset, tex, devPtr, &tex.channelDesc, size);
    +
    211  tex->_dataPtr = devPtr;
    +
    212 }
    +
    213 #endif
    +
    214 
    +
    226 hipChannelFormatDesc hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f);
    +
    227 
    +
    228 // descriptors
    +
    229 template <typename T> inline hipChannelFormatDesc hipCreateChannelDesc() {
    +
    230  return hipCreateChannelDesc(0, 0, 0, 0, hipChannelFormatKindNone);
    +
    231 }
    +
    232 template <> inline hipChannelFormatDesc hipCreateChannelDesc<int>() {
    +
    233  int e = (int)sizeof(int) * 8;
    +
    234  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindSigned);
    235 }
    -
    236 
    -
    237 template <class T, int dim, enum hipTextureReadMode readMode>
    -
    238 hipError_t hipBindTextureToArray(struct texture<T, dim, readMode> &tex, hipArray* array) {
    -
    239  tex.width = array->width;
    -
    240  tex.height = array->height;
    -
    241  tex._dataPtr = static_cast<const T*>(array->data);
    -
    242  return hipSuccess;
    +
    236 template <> inline hipChannelFormatDesc hipCreateChannelDesc<unsigned int>() {
    +
    237  int e = (int)sizeof(unsigned int) * 8;
    +
    238  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindUnsigned);
    +
    239 }
    +
    240 template <> inline hipChannelFormatDesc hipCreateChannelDesc<long>() {
    +
    241  int e = (int)sizeof(long) * 8;
    +
    242  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindSigned);
    243 }
    -
    244 
    -
    245 /*
    -
    246  * @brief Unbinds the textuer bound to @p tex
    -
    247  *
    -
    248  * @param[in] tex - texture to unbind
    -
    249  *
    -
    250  * @return #hipSuccess
    -
    251  **/
    -
    252 template <class T, int dim, enum hipTextureReadMode readMode>
    -
    253 hipError_t hipUnbindTexture(struct texture<T, dim, readMode> &tex)
    -
    254 {
    -
    255  tex._dataPtr = NULL;
    -
    256 
    -
    257  return hipSuccess;
    -
    258 }
    -
    259 
    -
    260 
    -
    261 
    -
    262 // doxygen end Texture
    -
    268 // End doxygen API:
    -
    273 #endif
    -
    274 
    +
    244 template <> inline hipChannelFormatDesc hipCreateChannelDesc<unsigned long>() {
    +
    245  int e = (int)sizeof(unsigned long) * 8;
    +
    246  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindUnsigned);
    +
    247 }
    +
    248 template <> inline hipChannelFormatDesc hipCreateChannelDesc<float>() {
    +
    249  int e = (int)sizeof(float) * 8;
    +
    250  return hipCreateChannelDesc(e, 0, 0, 0, hipChannelFormatKindFloat);
    +
    251 }
    +
    252 
    +
    253 /*
    +
    254  * @brief hipBindTexture Binds size bytes of the memory area pointed to by @p devPtr to the texture reference tex.
    +
    255  *
    +
    256  * @p desc describes how the memory is interpreted when fetching values from the texture. The @p offset parameter is an optional byte offset as with the low-level
    +
    257  * hipBindTexture() function. Any memory previously bound to tex is unbound.
    +
    258  *
    +
    259  * @param[in] offset - Offset in bytes
    +
    260  * @param[out] tex - texture to bind
    +
    261  * @param[in] devPtr - Memory area on device
    +
    262  * @param[in] desc - Channel format
    +
    263  * @param[in] size - Size of the memory area pointed to by devPtr
    +
    264  * @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknown
    +
    265  **/
    +
    266 template <class T, int dim, enum hipTextureReadMode readMode>
    +
    267 hipError_t hipBindTexture(size_t *offset,
    +
    268  struct texture<T, dim, readMode> &tex,
    +
    269  const void *devPtr,
    +
    270  const struct hipChannelFormatDesc *desc,
    +
    271  size_t size=UINT_MAX)
    +
    272 {
    +
    273  tex._dataPtr = static_cast<const T*>(devPtr);
    +
    274 
    +
    275  return hipSuccess;
    +
    276 }
    +
    277 
    +
    278 /*
    +
    279  * @brief hipBindTexture Binds size bytes of the memory area pointed to by @p devPtr to the texture reference tex.
    +
    280  *
    +
    281  * @p desc describes how the memory is interpreted when fetching values from the texture. The @p offset parameter is an optional byte offset as with the low-level
    +
    282  * hipBindTexture() function. Any memory previously bound to tex is unbound.
    +
    283  *
    +
    284  * @param[in] offset - Offset in bytes
    +
    285  * @param[in] tex - texture to bind
    +
    286  * @param[in] devPtr - Memory area on device
    +
    287  * @param[in] size - Size of the memory area pointed to by devPtr
    +
    288  * @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknown
    +
    289  **/
    +
    290 template <class T, int dim, enum hipTextureReadMode readMode>
    +
    291 hipError_t hipBindTexture(size_t *offset,
    +
    292  struct texture<T, dim, readMode> &tex,
    +
    293  const void *devPtr,
    +
    294  size_t size=UINT_MAX)
    +
    295 {
    +
    296  return hipBindTexture(offset, tex, devPtr, &tex.channelDesc, size);
    +
    297 }
    +
    298 
    +
    299 template <class T, int dim, enum hipTextureReadMode readMode>
    +
    300 hipError_t hipBindTextureToArray(struct texture<T, dim, readMode> &tex, hipArray* array) {
    +
    301  tex.width = array->width;
    +
    302  tex.height = array->height;
    +
    303  tex._dataPtr = static_cast<const T*>(array->data);
    +
    304  return hipSuccess;
    +
    305 }
    +
    306 
    +
    307 /*
    +
    308  * @brief Unbinds the textuer bound to @p tex
    +
    309  *
    +
    310  * @param[in] tex - texture to unbind
    +
    311  *
    +
    312  * @return #hipSuccess
    +
    313  **/
    +
    314 template <class T, int dim, enum hipTextureReadMode readMode>
    +
    315 hipError_t hipUnbindTexture(struct texture<T, dim, readMode> &tex)
    +
    316 {
    +
    317  tex._dataPtr = NULL;
    +
    318 
    +
    319  return hipSuccess;
    +
    320 }
    +
    321 
    +
    322 
    +
    323 
    +
    324 // doxygen end Texture
    +
    330 // End doxygen API:
    +
    335 #endif
    +
    336 
    Definition: hip_texture.h:59
    -
    Successful completion.
    Definition: hip_runtime_api.h:145
    +
    hipError_t hipMemcpy2DToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
    Copies data between host and device.
    Definition: hip_memory.cpp:689
    +
    hipChannelFormatDesc hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f)
    Returns a channel descriptor using the specified format.
    Definition: hip_memory.cpp:234
    +
    Successful completion.
    Definition: hip_runtime_api.h:153
    Definition: hip_texture.h:65
    Definition: hip_texture.h:69
    Definition: hip_texture.h:87
    -
    hipError_t
    Definition: hip_runtime_api.h:144
    -
    hipMemcpyKind
    Definition: hip_runtime_api.h:128
    +
    hipError_t hipMemcpyToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
    Copies data between host and device.
    Definition: hip_memory.cpp:742
    +
    hipError_t
    Definition: hip_runtime_api.h:152
    +
    hipMemcpyKind
    Definition: hip_runtime_api.h:148
    +
    hipError_t hipMemcpy2D(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
    Copies data between host and device.
    Definition: hip_memory.cpp:663
    hipTextureReadMode
    Definition: hip_texture.h:57
    +
    hipError_t hipMallocArray(hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height=0, unsigned int flags=0)
    Allocate an array on the device.
    Definition: hip_memory.cpp:242
    hipTextureFilterMode
    Definition: hip_texture.h:63
    Definition: hip_texture.h:49
    +
    hipError_t hipFreeArray(hipArray *array)
    Frees an array on the device.
    Definition: hip_memory.cpp:996
    diff --git a/docs/RuntimeAPI/html/hip__util_8h_source.html b/docs/RuntimeAPI/html/hip__util_8h_source.html index 2a49e254b8..4137d3f4c1 100644 --- a/docs/RuntimeAPI/html/hip__util_8h_source.html +++ b/docs/RuntimeAPI/html/hip__util_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_util.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/src/hip_util.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -91,44 +91,46 @@
    1 /*
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    -
    3 Permission is hereby granted, free of charge, to any person obtaining a copy
    -
    4 of this software and associated documentation files (the "Software"), to deal
    -
    5 in the Software without restriction, including without limitation the rights
    -
    6 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -
    7 copies of the Software, and to permit persons to whom the Software is
    -
    8 furnished to do so, subject to the following conditions:
    -
    9 The above copyright notice and this permission notice shall be included in
    -
    10 all copies or substantial portions of the Software.
    -
    11 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
    -
    12 IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -
    13 FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -
    14 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
    -
    15 LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -
    16 OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -
    17 THE SOFTWARE.
    -
    18 */
    -
    19 
    -
    20 
    -
    21 #ifndef HIP_UTIL_H
    -
    22 #define HIP_UTIL_H
    -
    23 
    -
    24 #include <assert.h>
    -
    25 #include <stdint.h>
    -
    26 #include <iostream>
    -
    27 #include <sstream>
    -
    28 #include <list>
    -
    29 #include <sys/types.h>
    -
    30 #include <unistd.h>
    -
    31 #include <deque>
    -
    32 #include <vector>
    -
    33 #include <algorithm>
    -
    34 
    -
    35 
    -
    36 #endif
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 #ifndef HIP_UTIL_H
    +
    24 #define HIP_UTIL_H
    +
    25 
    +
    26 #include <assert.h>
    +
    27 #include <stdint.h>
    +
    28 #include <iostream>
    +
    29 #include <sstream>
    +
    30 #include <list>
    +
    31 #include <sys/types.h>
    +
    32 #include <unistd.h>
    +
    33 #include <deque>
    +
    34 #include <vector>
    +
    35 #include <algorithm>
    +
    36 
    +
    37 
    +
    38 #endif
    diff --git a/docs/RuntimeAPI/html/hip__vector__types_8h_source.html b/docs/RuntimeAPI/html/hip__vector__types_8h_source.html index 0f45ae55d9..493159b102 100644 --- a/docs/RuntimeAPI/html/hip__vector__types_8h_source.html +++ b/docs/RuntimeAPI/html/hip__vector__types_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hip_vector_types.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hip_vector_types.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
    + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -110,25 +110,27 @@
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    20 THE SOFTWARE.
    21 */
    -
    23 
    -
    24 #pragma once
    -
    25 
    -
    26 #include <hip/hip_common.h>
    -
    27 
    +
    22 
    +
    24 
    +
    25 #pragma once
    +
    26 
    +
    27 #include <hip/hip_common.h>
    28 
    -
    29 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    -
    30 #if __cplusplus
    -
    31 #include <hip/hcc_detail/hip_vector_types.h>
    -
    32 #endif
    -
    33 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    -
    34 #include <vector_types.h>
    -
    35 #else
    -
    36 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    -
    37 #endif
    +
    29 
    +
    30 #if defined(__HIP_PLATFORM_HCC__) && !defined (__HIP_PLATFORM_NVCC__)
    +
    31 #if __cplusplus
    + +
    33 #endif
    +
    34 #elif defined(__HIP_PLATFORM_NVCC__) && !defined (__HIP_PLATFORM_HCC__)
    +
    35 #include <vector_types.h>
    +
    36 #else
    +
    37 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
    +
    38 #endif
    +
    Defines the different newt vector types for HIP runtime.
    diff --git a/docs/RuntimeAPI/html/host__defines_8h.html b/docs/RuntimeAPI/html/host__defines_8h.html index 4b3bed3809..1ce748d05e 100644 --- a/docs/RuntimeAPI/html/host__defines_8h.html +++ b/docs/RuntimeAPI/html/host__defines_8h.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/host_defines.h File Reference +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/host_defines.h File Reference @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -117,7 +117,7 @@ #define __shared__   tile_static   -#define __constant__   __attribute__((address_space(2))) +#define __constant__   __attribute__((address_space(1)))  

    Detailed Description

    @@ -139,7 +139,7 @@
    diff --git a/docs/RuntimeAPI/html/host__defines_8h_source.html b/docs/RuntimeAPI/html/host__defines_8h_source.html index c32175c945..255e5d7825 100644 --- a/docs/RuntimeAPI/html/host__defines_8h_source.html +++ b/docs/RuntimeAPI/html/host__defines_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/host_defines.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/include/hip/hcc_detail/host_defines.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -131,7 +131,7 @@
    47  */
    48 // _restrict is supported by the compiler
    49 #define __shared__ tile_static
    -
    50 #define __constant__ __attribute__((address_space(2)))
    +
    50 #define __constant__ __attribute__((address_space(1)))
    51 
    52 #else
    53 // Non-HCC compiler
    @@ -152,7 +152,7 @@
    diff --git a/docs/RuntimeAPI/html/index.html b/docs/RuntimeAPI/html/index.html index c338d5dcfa..4b596ed736 100644 --- a/docs/RuntimeAPI/html/index.html +++ b/docs/RuntimeAPI/html/index.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -91,7 +91,7 @@
    diff --git a/docs/RuntimeAPI/html/modules.html b/docs/RuntimeAPI/html/modules.html index 17b4af959d..3990799773 100644 --- a/docs/RuntimeAPI/html/modules.html +++ b/docs/RuntimeAPI/html/modules.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -80,26 +80,28 @@
    Here is a list of all modules:
    diff --git a/docs/RuntimeAPI/html/pages.html b/docs/RuntimeAPI/html/pages.html index a23208731b..d8fb6ae5cd 100644 --- a/docs/RuntimeAPI/html/pages.html +++ b/docs/RuntimeAPI/html/pages.html @@ -65,7 +65,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -82,13 +82,14 @@
    Here is a list of all related documentation pages:
    diff --git a/docs/RuntimeAPI/html/search/all_0.js b/docs/RuntimeAPI/html/search/all_0.js index 637e55984e..8bdf2c6c14 100644 --- a/docs/RuntimeAPI/html/search/all_0.js +++ b/docs/RuntimeAPI/html/search/all_0.js @@ -1,5 +1,9 @@ var searchData= [ ['_5f_5fhalf',['__half',['../struct____half.html',1,'']]], - ['_5f_5fhost_5f_5f',['__host__',['../host__defines_8h.html#a803050db3c78e0db3ea59a0c35499622',1,'host_defines.h']]] + ['_5f_5fhost_5f_5f',['__host__',['../host__defines_8h.html#a803050db3c78e0db3ea59a0c35499622',1,'host_defines.h']]], + ['_5f_5fthreadfence',['__threadfence',['../group__Fence.html#ga8ed093b29d5c05d46a1240e7a35a6d13',1,'hip_runtime.h']]], + ['_5f_5fthreadfence_5fblock',['__threadfence_block',['../group__Fence.html#ga675c8823d497b2fd91abc42085e5ae25',1,'hip_runtime.h']]], + ['_5f_5fthreadfence_5fsystem',['__threadfence_system',['../group__Fence.html#ga90cf73529a5fdfd88526430fc40e2f3d',1,'hip_runtime.h']]], + ['_5fcomputeunits',['_computeUnits',['../classihipDevice__t.html#a655e03136394df32571a52707aa371c5',1,'ihipDevice_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/all_4.js b/docs/RuntimeAPI/html/search/all_4.js index d715da215b..4b21a066a7 100644 --- a/docs/RuntimeAPI/html/search/all_4.js +++ b/docs/RuntimeAPI/html/search/all_4.js @@ -1,5 +1,7 @@ var searchData= [ + ['dbname',['DbName',['../structDbName.html',1,'']]], + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]], ['device_20management',['Device Management',['../group__Device.html',1,'']]], ['dim3',['dim3',['../structdim3.html',1,'dim3'],['../group__GlobalDefs.html#gacb37281795c3567d0b10a61c056d512b',1,'dim3(): hip_runtime_api.h']]], ['device_20memory_20access',['Device Memory Access',['../group__PeerToPeer.html',1,'']]] diff --git a/docs/RuntimeAPI/html/search/all_6.js b/docs/RuntimeAPI/html/search/all_6.js index 16f0c6c8a5..ea909e7374 100644 --- a/docs/RuntimeAPI/html/search/all_6.js +++ b/docs/RuntimeAPI/html/search/all_6.js @@ -1,4 +1,5 @@ var searchData= [ - ['fakemutex',['FakeMutex',['../classFakeMutex.html',1,'']]] + ['fakemutex',['FakeMutex',['../classFakeMutex.html',1,'']]], + ['fence_20functions',['Fence Functions',['../group__Fence.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/all_8.js b/docs/RuntimeAPI/html/search/all_8.js index dcac1228d9..3b3101abe5 100644 --- a/docs/RuntimeAPI/html/search/all_8.js +++ b/docs/RuntimeAPI/html/search/all_8.js @@ -28,6 +28,24 @@ var searchData= ['hip_5fvector_5ftypes_2eh',['hip_vector_types.h',['../hcc__detail_2hip__vector__types_8h.html',1,'']]], ['hiparray',['hipArray',['../structhipArray.html',1,'']]], ['hipchannelformatdesc',['hipChannelFormatDesc',['../structhipChannelFormatDesc.html',1,'']]], + ['hipchoosedevice',['hipChooseDevice',['../group__Device.html#gaa751b3042e5e92f95e2f5de9d4685189',1,'hip_runtime_api.h']]], + ['hipcreatechanneldesc',['hipCreateChannelDesc',['../group__Texture.html#gac9b0ae733fa849842342fab6d42c7b6f',1,'hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f): hip_memory.cpp'],['../group__Texture.html#gac9b0ae733fa849842342fab6d42c7b6f',1,'hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f): hip_memory.cpp']]], + ['hipctxcreate',['hipCtxCreate',['../group__Context.html#gab6dbcff5c5b1249a5ac5cf39ae9d08bc',1,'hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device): hip_context.cpp'],['../group__Context.html#gab6dbcff5c5b1249a5ac5cf39ae9d08bc',1,'hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device): hip_context.cpp']]], + ['hipctxdestroy',['hipCtxDestroy',['../group__Context.html#ga9a65fe43238ef303a6d97826c05fd14e',1,'hipCtxDestroy(hipCtx_t ctx): hip_context.cpp'],['../group__Context.html#ga9a65fe43238ef303a6d97826c05fd14e',1,'hipCtxDestroy(hipCtx_t ctx): hip_context.cpp']]], + ['hipctxdisablepeeraccess',['hipCtxDisablePeerAccess',['../group__Context.html#gaf48e4e9c3b6bbad5deaeff10d2e28b31',1,'hipCtxDisablePeerAccess(hipCtx_t peerCtx): hip_peer.cpp'],['../group__Context.html#gaf48e4e9c3b6bbad5deaeff10d2e28b31',1,'hipCtxDisablePeerAccess(hipCtx_t peerCtx): hip_peer.cpp']]], + ['hipctxenablepeeraccess',['hipCtxEnablePeerAccess',['../group__Context.html#ga834dfd99d72082fe8770142fa30b30e2',1,'hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags): hip_peer.cpp'],['../group__Context.html#ga834dfd99d72082fe8770142fa30b30e2',1,'hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags): hip_peer.cpp']]], + ['hipctxgetapiversion',['hipCtxGetApiVersion',['../group__Context.html#gabe5941e6798c71a8351b7d51311e7e8f',1,'hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion): hip_context.cpp'],['../group__Context.html#gabe5941e6798c71a8351b7d51311e7e8f',1,'hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion): hip_context.cpp']]], + ['hipctxgetcacheconfig',['hipCtxGetCacheConfig',['../group__Context.html#ga387c7bcc82f17261a2c955fc31ecbaba',1,'hipCtxGetCacheConfig(hipFuncCache *cacheConfig): hip_context.cpp'],['../group__Context.html#ga387c7bcc82f17261a2c955fc31ecbaba',1,'hipCtxGetCacheConfig(hipFuncCache *cacheConfig): hip_context.cpp']]], + ['hipctxgetcurrent',['hipCtxGetCurrent',['../group__Context.html#ga741786101d348fdbfa1f64546860357a',1,'hipCtxGetCurrent(hipCtx_t *ctx): hip_context.cpp'],['../group__Context.html#ga741786101d348fdbfa1f64546860357a',1,'hipCtxGetCurrent(hipCtx_t *ctx): hip_context.cpp']]], + ['hipctxgetdevice',['hipCtxGetDevice',['../group__Context.html#ga8aa32cf64272da929f23ecbafefefcee',1,'hipCtxGetDevice(hipDevice_t *device): hip_context.cpp'],['../group__Context.html#ga8aa32cf64272da929f23ecbafefefcee',1,'hipCtxGetDevice(hipDevice_t *device): hip_context.cpp']]], + ['hipctxgetflags',['hipCtxGetFlags',['../group__Context.html#ga12a7a993e10f775fbf61a0b14288ed1b',1,'hipCtxGetFlags(unsigned int *flags): hip_context.cpp'],['../group__Context.html#ga12a7a993e10f775fbf61a0b14288ed1b',1,'hipCtxGetFlags(unsigned int *flags): hip_context.cpp']]], + ['hipctxgetsharedmemconfig',['hipCtxGetSharedMemConfig',['../group__Context.html#ga3c78b22dd03435a7ca88621a45409565',1,'hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_context.cpp'],['../group__Context.html#ga3c78b22dd03435a7ca88621a45409565',1,'hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_context.cpp']]], + ['hipctxpopcurrent',['hipCtxPopCurrent',['../group__Context.html#ga2cc4ea5a6b78d9d7990a88a7863467d4',1,'hipCtxPopCurrent(hipCtx_t *ctx): hip_context.cpp'],['../group__Context.html#ga2cc4ea5a6b78d9d7990a88a7863467d4',1,'hipCtxPopCurrent(hipCtx_t *ctx): hip_context.cpp']]], + ['hipctxpushcurrent',['hipCtxPushCurrent',['../group__Context.html#ga9c9d92f29d68cacdea4c062c97e50a8a',1,'hipCtxPushCurrent(hipCtx_t ctx): hip_context.cpp'],['../group__Context.html#ga9c9d92f29d68cacdea4c062c97e50a8a',1,'hipCtxPushCurrent(hipCtx_t ctx): hip_context.cpp']]], + ['hipctxsetcacheconfig',['hipCtxSetCacheConfig',['../group__Context.html#ga9399ad61b387aff6cfa77292d3c82d4d',1,'hipCtxSetCacheConfig(hipFuncCache cacheConfig): hip_context.cpp'],['../group__Context.html#ga9399ad61b387aff6cfa77292d3c82d4d',1,'hipCtxSetCacheConfig(hipFuncCache cacheConfig): hip_context.cpp']]], + ['hipctxsetcurrent',['hipCtxSetCurrent',['../group__Context.html#ga834a192f70c2bfc0269c309436776feb',1,'hipCtxSetCurrent(hipCtx_t ctx): hip_context.cpp'],['../group__Context.html#ga834a192f70c2bfc0269c309436776feb',1,'hipCtxSetCurrent(hipCtx_t ctx): hip_context.cpp']]], + ['hipctxsetsharedmemconfig',['hipCtxSetSharedMemConfig',['../group__Context.html#gad5c1d4ced27f584a74ed550dd002fa5a',1,'hipCtxSetSharedMemConfig(hipSharedMemConfig config): hip_context.cpp'],['../group__Context.html#gad5c1d4ced27f584a74ed550dd002fa5a',1,'hipCtxSetSharedMemConfig(hipSharedMemConfig config): hip_context.cpp']]], + ['hipctxsynchronize',['hipCtxSynchronize',['../group__Context.html#gad45cd968e8e3dcfd24ef050cab2f41c8',1,'hipCtxSynchronize(void): hip_context.cpp'],['../group__Context.html#gad45cd968e8e3dcfd24ef050cab2f41c8',1,'hipCtxSynchronize(void): hip_context.cpp']]], ['hipdevicearch_5ft',['hipDeviceArch_t',['../structhipDeviceArch__t.html',1,'']]], ['hipdeviceattribute_5ft',['hipDeviceAttribute_t',['../group__GlobalDefs.html#gacc0acd7b9bda126c6bb3dfd6e2796d7c',1,'hip_runtime_api.h']]], ['hipdeviceattributeclockrate',['hipDeviceAttributeClockRate',['../group__GlobalDefs.html#ggacc0acd7b9bda126c6bb3dfd6e2796d7ca2300e077e020e7967592065561373b00',1,'hip_runtime_api.h']]], @@ -56,26 +74,39 @@ var searchData= ['hipdeviceattributetotalconstantmemory',['hipDeviceAttributeTotalConstantMemory',['../group__GlobalDefs.html#ggacc0acd7b9bda126c6bb3dfd6e2796d7cac6089ac3a0f9c77cc382fb0eaa73ae9c',1,'hip_runtime_api.h']]], ['hipdeviceattributewarpsize',['hipDeviceAttributeWarpSize',['../group__GlobalDefs.html#ggacc0acd7b9bda126c6bb3dfd6e2796d7caffd94133e823247a6f1215343232f6ec',1,'hip_runtime_api.h']]], ['hipdevicecanaccesspeer',['hipDeviceCanAccessPeer',['../group__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId): hip_peer.cpp'],['../group__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId): hip_peer.cpp']]], + ['hipdevicecomputecapability',['hipDeviceComputeCapability',['../group__Driver.html#ga0a1cf94d2b571ca3279577d5af0d1672',1,'hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga0a1cf94d2b571ca3279577d5af0d1672',1,'hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device): hip_device.cpp']]], ['hipdevicedisablepeeraccess',['hipDeviceDisablePeerAccess',['../group__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b',1,'hipDeviceDisablePeerAccess(int peerDeviceId): hip_peer.cpp'],['../group__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b',1,'hipDeviceDisablePeerAccess(int peerDeviceId): hip_peer.cpp']]], ['hipdeviceenablepeeraccess',['hipDeviceEnablePeerAccess',['../group__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e',1,'hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags): hip_peer.cpp'],['../group__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e',1,'hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags): hip_peer.cpp']]], - ['hipdevicegetattribute',['hipDeviceGetAttribute',['../group__Device.html#gac49518ff2b26b98ea2ec9e9268761a24',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device): hip_device.cpp'],['../group__Device.html#gac49518ff2b26b98ea2ec9e9268761a24',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device): hip_device.cpp']]], + ['hipdeviceget',['hipDeviceGet',['../group__Driver.html#gadf6c74aaf7c22fea80e9ac3400d43704',1,'hipDeviceGet(hipDevice_t *device, int ordinal): hip_context.cpp'],['../group__Driver.html#gadf6c74aaf7c22fea80e9ac3400d43704',1,'hipDeviceGet(hipDevice_t *device, int deviceId): hip_context.cpp']]], + ['hipdevicegetattribute',['hipDeviceGetAttribute',['../group__Device.html#ga7080a145a4239a7276e0dc22062026c1',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId): hip_device.cpp'],['../group__Device.html#ga7080a145a4239a7276e0dc22062026c1',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device): hip_device.cpp']]], ['hipdevicegetcacheconfig',['hipDeviceGetCacheConfig',['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_device.cpp'],['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_device.cpp']]], + ['hipdevicegetlimit',['hipDeviceGetLimit',['../group__Device.html#gaa72baeb520f1d52fe17817e852937218',1,'hipDeviceGetLimit(size_t *pValue, hipLimit_t limit): hip_device.cpp'],['../group__Device.html#gaa72baeb520f1d52fe17817e852937218',1,'hipDeviceGetLimit(size_t *pValue, hipLimit_t limit): hip_device.cpp']]], + ['hipdevicegetname',['hipDeviceGetName',['../group__Driver.html#ga24df15e180a7b2b351cd362e5b7d2dac',1,'hipDeviceGetName(char *name, int len, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga24df15e180a7b2b351cd362e5b7d2dac',1,'hipDeviceGetName(char *name, int len, hipDevice_t device): hip_device.cpp']]], + ['hipdevicegetpcibusid',['hipDeviceGetPCIBusId',['../group__Driver.html#ga681cef187c0c173749f8fda568a9d92a',1,'hipDeviceGetPCIBusId(int *pciBusId, int len, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga681cef187c0c173749f8fda568a9d92a',1,'hipDeviceGetPCIBusId(int *pciBusId, int len, hipDevice_t device): hip_device.cpp']]], ['hipdevicegetsharedmemconfig',['hipDeviceGetSharedMemConfig',['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_device.cpp'],['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_device.cpp']]], ['hipdeviceprop_5ft',['hipDeviceProp_t',['../structhipDeviceProp__t.html',1,'']]], ['hipdevicereset',['hipDeviceReset',['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_device.cpp'],['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_device.cpp']]], + ['hipdevicescheduleauto',['hipDeviceScheduleAuto',['../group__GlobalDefs.html#ga9032d35eb7383948828ee48e1e19f5fd',1,'hip_runtime_api.h']]], + ['hipdeviceschedulespin',['hipDeviceScheduleSpin',['../group__GlobalDefs.html#ga713d962bafb7758dc1ff0675e4239453',1,'hip_runtime_api.h']]], + ['hipdevicescheduleyield',['hipDeviceScheduleYield',['../group__GlobalDefs.html#gaaf1e2706430c06601aa12a8af2a0ba5a',1,'hip_runtime_api.h']]], ['hipdevicesetcacheconfig',['hipDeviceSetCacheConfig',['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp'],['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp']]], ['hipdevicesetsharedmemconfig',['hipDeviceSetSharedMemConfig',['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_device.cpp'],['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_device.cpp']]], ['hipdevicesynchronize',['hipDeviceSynchronize',['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_device.cpp'],['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_device.cpp']]], - ['hipdrivergetversion',['hipDriverGetVersion',['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_peer.cpp'],['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_peer.cpp']]], + ['hipdevicetotalmem',['hipDeviceTotalMem',['../group__Driver.html#ga8991e535d0ef1ead0524e73364623041',1,'hipDeviceTotalMem(size_t *bytes, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga8991e535d0ef1ead0524e73364623041',1,'hipDeviceTotalMem(size_t *bytes, hipDevice_t device): hip_device.cpp']]], + ['hipdoublecomplex',['hipDoubleComplex',['../structhipDoubleComplex.html',1,'']]], + ['hipdrivergetversion',['hipDriverGetVersion',['../group__Driver.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_context.cpp'],['../group__Driver.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_context.cpp']]], ['hiperror_5ft',['hipError_t',['../group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594',1,'hip_runtime_api.h']]], ['hiperrorhostmemoryalreadyregistered',['hipErrorHostMemoryAlreadyRegistered',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a9d7173cea72aace620a83d502569de1b',1,'hip_runtime_api.h']]], ['hiperrorhostmemorynotregistered',['hipErrorHostMemoryNotRegistered',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a6901476ca88eed786fb8be003d9661d9',1,'hip_runtime_api.h']]], ['hiperrorinitializationerror',['hipErrorInitializationError',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a7e935ae88ee1f9ff3920156ac6864520',1,'hip_runtime_api.h']]], + ['hiperrorinvalidcontext',['hipErrorInvalidContext',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe',1,'hip_runtime_api.h']]], ['hiperrorinvaliddevice',['hipErrorInvalidDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d',1,'hip_runtime_api.h']]], ['hiperrorinvaliddevicepointer',['hipErrorInvalidDevicePointer',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a37a93fcd2b0aed9bf52b82fa26031e6f',1,'hip_runtime_api.h']]], + ['hiperrorinvalidkernelfile',['hipErrorInvalidKernelFile',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ae508537d5e9a293bb1e63802d4a61380',1,'hip_runtime_api.h']]], ['hiperrorinvalidmemcpydirection',['hipErrorInvalidMemcpyDirection',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ae35ad9fb66b7c33f21a021efe89975b0',1,'hip_runtime_api.h']]], ['hiperrorinvalidresourcehandle',['hipErrorInvalidResourceHandle',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a88e525a7c8f35552dfada58e9f2f6d3a',1,'hip_runtime_api.h']]], ['hiperrorinvalidvalue',['hipErrorInvalidValue',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83',1,'hip_runtime_api.h']]], + ['hiperrorlaunchfailure',['hipErrorLaunchFailure',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a3df72146e762c5a901d3af06027a1de9',1,'hip_runtime_api.h']]], ['hiperrorlaunchoutofresources',['hipErrorLaunchOutOfResources',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a3ea57f211997a84fa1c582414bcabc47',1,'hip_runtime_api.h']]], ['hiperrormemoryallocation',['hipErrorMemoryAllocation',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2',1,'hip_runtime_api.h']]], ['hiperrornodevice',['hipErrorNoDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad4406972c318df36d231310a15131c24',1,'hip_runtime_api.h']]], @@ -86,7 +117,6 @@ var searchData= ['hiperrorruntimeother',['hipErrorRuntimeOther',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a44f847c5914be2177feac107dcb096d1',1,'hip_runtime_api.h']]], ['hiperrortbd',['hipErrorTbd',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ab556409e11ddb0c4cf77a2f4fc91ea9e',1,'hip_runtime_api.h']]], ['hiperrorunknown',['hipErrorUnknown',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa74e64c5b2f5fb0d6a92681f5b234073',1,'hip_runtime_api.h']]], - ['hipevent_5ft',['hipEvent_t',['../structhipEvent__t.html',1,'']]], ['hipeventblockingsync',['hipEventBlockingSync',['../group__GlobalDefs.html#gafa1c076a5b991763a98695063f1ea11d',1,'hip_runtime_api.h']]], ['hipeventcreate',['hipEventCreate',['../group__Event.html#ga5df2309c9f29ca4c8e669db658d411b4',1,'hipEventCreate(hipEvent_t *event): hip_event.cpp'],['../group__Event.html#ga5df2309c9f29ca4c8e669db658d411b4',1,'hipEventCreate(hipEvent_t *event): hip_event.cpp']]], ['hipeventcreatewithflags',['hipEventCreateWithFlags',['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_event.cpp'],['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_event.cpp']]], @@ -99,7 +129,9 @@ var searchData= ['hipeventrecord',['hipEventRecord',['../group__Event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_event.cpp'],['../group__Event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_event.cpp']]], ['hipeventsynchronize',['hipEventSynchronize',['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_event.cpp']]], ['hipfiltermodepoint',['hipFilterModePoint',['../hip__texture_8h.html#aa2f0b6002b81d0a43a808cb880bb21e6a56ede038ab7c805ec4b5b61d2b678dfc',1,'hip_texture.h']]], + ['hipfloatcomplex',['hipFloatComplex',['../structhipFloatComplex.html',1,'']]], ['hipfree',['hipFree',['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_memory.cpp'],['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_memory.cpp']]], + ['hipfreearray',['hipFreeArray',['../hip__texture_8h.html#ae29935073517245c69bc64790dd2747a',1,'hip_memory.cpp']]], ['hipfreehost',['hipFreeHost',['../group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9',1,'hipFreeHost(void *ptr) __attribute__((deprecated("use hipHostFree instead"))): hip_memory.cpp'],['../group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9',1,'hipFreeHost(void *ptr): hip_memory.cpp']]], ['hipfunccache',['hipFuncCache',['../group__GlobalDefs.html#gac7e4bfd88340fc06642136c839a3d822',1,'hipFuncCache(): hip_runtime_api.h'],['../group__GlobalDefs.html#gaad15dc7939a0a25b16e4aa161fb41eee',1,'hipFuncCache(): hip_runtime_api.h']]], ['hipfunccachepreferequal',['hipFuncCachePreferEqual',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a0ddab0e840107634a152033103be44d7',1,'hip_runtime_api.h']]], @@ -107,14 +139,13 @@ var searchData= ['hipfunccacheprefernone',['hipFuncCachePreferNone',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a0813fbaa008ce1231ff9fed3911eb3af',1,'hip_runtime_api.h']]], ['hipfunccacheprefershared',['hipFuncCachePreferShared',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a9b34337dfbadba25ed2aa270bbcabc43',1,'hip_runtime_api.h']]], ['hipfuncsetcacheconfig',['hipFuncSetCacheConfig',['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache config): hip_device.cpp'],['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp']]], - ['hipgetdevice',['hipGetDevice',['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_device.cpp'],['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_device.cpp']]], + ['hipgetdevice',['hipGetDevice',['../group__Device.html#ga7e0e2e8c5f78e3c7449764657c254e0a',1,'hipGetDevice(int *deviceId): hip_device.cpp'],['../group__Device.html#ga7e0e2e8c5f78e3c7449764657c254e0a',1,'hipGetDevice(int *deviceId): hip_device.cpp']]], ['hipgetdevicecount',['hipGetDeviceCount',['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_device.cpp'],['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_device.cpp']]], - ['hipgetdeviceproperties',['hipGetDeviceProperties',['../group__Device.html#ga77c20744e2a88c31440992d6c7754b5f',1,'hipGetDeviceProperties(hipDeviceProp_t *prop, int device): hip_device.cpp'],['../group__Device.html#ga77c20744e2a88c31440992d6c7754b5f',1,'hipGetDeviceProperties(hipDeviceProp_t *props, int device): hip_device.cpp']]], + ['hipgetdeviceproperties',['hipGetDeviceProperties',['../group__Device.html#ga32208513b7cd491f0cb5fc884053f790',1,'hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId): hip_device.cpp'],['../group__Device.html#ga32208513b7cd491f0cb5fc884053f790',1,'hipGetDeviceProperties(hipDeviceProp_t *props, int device): hip_device.cpp']]], ['hipgeterrorname',['hipGetErrorName',['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_error.cpp'],['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_error.cpp']]], - ['hipgeterrorstring',['hipGetErrorString',['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_error.cpp'],['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_error.cpp']]], + ['hipgeterrorstring',['hipGetErrorString',['../group__Error.html#ga1421a2ee561f30d5b1dbed3ecb28b264',1,'hipGetErrorString(hipError_t hipError): hip_error.cpp'],['../group__Error.html#ga1421a2ee561f30d5b1dbed3ecb28b264',1,'hipGetErrorString(hipError_t hip_error): hip_error.cpp']]], ['hipgetlasterror',['hipGetLastError',['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(void): hip_error.cpp'],['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(): hip_error.cpp']]], - ['hiphccgetaccelerator',['hipHccGetAccelerator',['../hip__hcc_8cpp.html#a0d24b3157fd1b16d38672bb157ec4cd4',1,'hip_hcc.cpp']]], - ['hiphccgetacceleratorview',['hipHccGetAcceleratorView',['../hip__hcc_8cpp.html#a1a7087ea9c3c3323270d7cce73650b44',1,'hip_hcc.cpp']]], + ['hiphostalloc',['hipHostAlloc',['../group__Memory.html#gac5ae7f11cefc7085f39ee7868e71724a',1,'hipHostAlloc(void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead"))): hip_memory.cpp'],['../group__Memory.html#gac5ae7f11cefc7085f39ee7868e71724a',1,'hipHostAlloc(void **ptr, size_t sizeBytes, unsigned int flags): hip_memory.cpp']]], ['hiphostfree',['hipHostFree',['../group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3',1,'hipHostFree(void *ptr): hip_memory.cpp'],['../group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3',1,'hipHostFree(void *ptr): hip_memory.cpp']]], ['hiphostgetdevicepointer',['hipHostGetDevicePointer',['../group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725',1,'hip_runtime_api.h']]], ['hiphostgetflags',['hipHostGetFlags',['../group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a',1,'hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr): hip_memory.cpp'],['../group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a',1,'hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr): hip_memory.cpp']]], @@ -126,43 +157,64 @@ var searchData= ['hiphostregistermapped',['hipHostRegisterMapped',['../group__GlobalDefs.html#gacfa4edcfcb39fc61bff6bdecb14d7618',1,'hip_runtime_api.h']]], ['hiphostregisterportable',['hipHostRegisterPortable',['../group__GlobalDefs.html#ga2db444f2315d412d3c7ba80ec6049583',1,'hip_runtime_api.h']]], ['hiphostunregister',['hipHostUnregister',['../group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924',1,'hipHostUnregister(void *hostPtr): hip_memory.cpp'],['../group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924',1,'hipHostUnregister(void *hostPtr): hip_memory.cpp']]], + ['hipinit',['hipInit',['../group__Driver.html#ga01baa652dda5815c594d047060496caa',1,'hipInit(unsigned int flags): hip_context.cpp'],['../group__Driver.html#ga01baa652dda5815c594d047060496caa',1,'hipInit(unsigned int flags): hip_context.cpp']]], ['hipmalloc',['hipMalloc',['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t size): hip_memory.cpp'],['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t sizeBytes): hip_memory.cpp']]], + ['hipmallocarray',['hipMallocArray',['../hip__texture_8h.html#aea2f071ae2e4a0847f6aa42d1ef56129',1,'hip_memory.cpp']]], ['hipmallochost',['hipMallocHost',['../group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30',1,'hipMallocHost(void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead"))): hip_memory.cpp'],['../group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30',1,'hipMallocHost(void **ptr, size_t sizeBytes): hip_memory.cpp']]], ['hipmallocpitch',['hipMallocPitch',['../group__Memory.html#ga805c7320498926e444616fe090c727ee',1,'hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height): hip_memory.cpp'],['../group__Memory.html#ga805c7320498926e444616fe090c727ee',1,'hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height): hip_memory.cpp']]], ['hipmemcpy',['hipMemcpy',['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_memory.cpp'],['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_memory.cpp']]], + ['hipmemcpy2d',['hipMemcpy2D',['../hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a',1,'hip_memory.cpp']]], + ['hipmemcpy2dtoarray',['hipMemcpy2DToArray',['../hip__texture_8h.html#ab08b0bd6cdbb57e79df40ef1cd0374e0',1,'hip_memory.cpp']]], ['hipmemcpyasync',['hipMemcpyAsync',['../group__Memory.html#gad55fa9f5980b711bc93c52820149ba18',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad55fa9f5980b711bc93c52820149ba18',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp']]], ['hipmemcpydefault',['hipMemcpyDefault',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18a4e37107e416f79a2edf2b6534163c823',1,'hip_runtime_api.h']]], ['hipmemcpydevicetodevice',['hipMemcpyDeviceToDevice',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18abd05a09d3105e0ce25b34dd91cf83f88',1,'hip_runtime_api.h']]], ['hipmemcpydevicetohost',['hipMemcpyDeviceToHost',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18aba2505e9ce1e5382f17730bc670917d1',1,'hip_runtime_api.h']]], + ['hipmemcpydtod',['hipMemcpyDtoD',['../group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93',1,'hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93',1,'hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemcpydtodasync',['hipMemcpyDtoDAsync',['../group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27',1,'hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27',1,'hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], + ['hipmemcpydtoh',['hipMemcpyDtoH',['../group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f',1,'hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f',1,'hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemcpydtohasync',['hipMemcpyDtoHAsync',['../group__Memory.html#gad69da1994a646b843fb1fa465dbeb623',1,'hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad69da1994a646b843fb1fa465dbeb623',1,'hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], ['hipmemcpyhosttodevice',['hipMemcpyHostToDevice',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18aff32175ecb0c7113200286eff8211008',1,'hip_runtime_api.h']]], ['hipmemcpyhosttohost',['hipMemcpyHostToHost',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18a9d66b705aa85a9c83f0f533cef70d0af',1,'hip_runtime_api.h']]], + ['hipmemcpyhtod',['hipMemcpyHtoD',['../group__Memory.html#gaa415ecdd2535e1eb618ed8a31a6f03af',1,'hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gaa415ecdd2535e1eb618ed8a31a6f03af',1,'hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemcpyhtodasync',['hipMemcpyHtoDAsync',['../group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd',1,'hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd',1,'hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], ['hipmemcpykind',['hipMemcpyKind',['../group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18',1,'hipMemcpyKind(): hip_runtime_api.h'],['../group__GlobalDefs.html#ga0c04e67413ce030817361f02673e5c85',1,'hipMemcpyKind(): hip_runtime_api.h']]], + ['hipmemcpytoarray',['hipMemcpyToArray',['../hip__texture_8h.html#a2e631f0b6757b47b74cdaa2911784be9',1,'hip_memory.cpp']]], ['hipmemcpytosymbol',['hipMemcpyToSymbol',['../group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc',1,'hipMemcpyToSymbol(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind): hip_memory.cpp'],['../group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc',1,'hipMemcpyToSymbol(const char *symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind): hip_memory.cpp']]], + ['hipmemcpytosymbolasync',['hipMemcpyToSymbolAsync',['../group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4',1,'hipMemcpyToSymbolAsync(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4',1,'hipMemcpyToSymbolAsync(const char *symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp']]], ['hipmemgetinfo',['hipMemGetInfo',['../group__Memory.html#ga311c3e246a21590de14478b8bd063be2',1,'hipMemGetInfo(size_t *free, size_t *total): hip_memory.cpp'],['../group__Memory.html#ga311c3e246a21590de14478b8bd063be2',1,'hipMemGetInfo(size_t *free, size_t *total): hip_memory.cpp']]], ['hipmemset',['hipMemset',['../group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4',1,'hipMemset(void *dst, int value, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4',1,'hipMemset(void *dst, int value, size_t sizeBytes): hip_memory.cpp']]], ['hipmemsetasync',['hipMemsetAsync',['../group__Memory.html#gae7d90e14c387e49f10db597f12915c54',1,'hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gae7d90e14c387e49f10db597f12915c54',1,'hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], - ['hippeekatlasterror',['hipPeekAtLastError',['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hip_runtime_api.h']]], + ['hipmodulegetfunction',['hipModuleGetFunction',['../group__Driver.html#ga9648b457bb837838cb936b417b56a65d',1,'hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname): hip_module.cpp'],['../group__Driver.html#ga9648b457bb837838cb936b417b56a65d',1,'hipModuleGetFunction(hipFunction_t *hfunc, hipModule_t hmod, const char *name): hip_module.cpp']]], + ['hipmodulegetglobal',['hipModuleGetGlobal',['../group__Driver.html#ga3e425a680285f495e776f096e9632c89',1,'hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name): hip_module.cpp'],['../group__Driver.html#ga3e425a680285f495e776f096e9632c89',1,'hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name): hip_module.cpp']]], + ['hipmodulelaunchkernel',['hipModuleLaunchKernel',['../group__Driver.html#ga2e4de5937aa8171e9eda16c881ed0674',1,'hip_runtime_api.h']]], + ['hipmoduleload',['hipModuleLoad',['../group__Driver.html#ga31d806d976e91d36bd990ae3004d8760',1,'hipModuleLoad(hipModule_t *module, const char *fname): hip_module.cpp'],['../group__Driver.html#ga31d806d976e91d36bd990ae3004d8760',1,'hipModuleLoad(hipModule_t *module, const char *fname): hip_module.cpp']]], + ['hipmoduleloaddata',['hipModuleLoadData',['../group__Driver.html#gaabdbd73e952a741e861d01109c4790f3',1,'hipModuleLoadData(hipModule_t *module, const void *image): hip_module.cpp'],['../group__Driver.html#gaabdbd73e952a741e861d01109c4790f3',1,'hipModuleLoadData(hipModule_t *module, const void *image): hip_module.cpp']]], + ['hipmoduleunload',['hipModuleUnload',['../group__Driver.html#gae58e345f55bb3ec13dca80d2df88e0ed',1,'hipModuleUnload(hipModule_t module): hip_module.cpp'],['../group__Driver.html#gae58e345f55bb3ec13dca80d2df88e0ed',1,'hipModuleUnload(hipModule_t hmod): hip_module.cpp']]], + ['hippeekatlasterror',['hipPeekAtLastError',['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hipPeekAtLastError(void): hip_error.cpp'],['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hipPeekAtLastError(): hip_error.cpp']]], ['hippointerattribute_5ft',['hipPointerAttribute_t',['../structhipPointerAttribute__t.html',1,'']]], ['hippointergetattributes',['hipPointerGetAttributes',['../group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b',1,'hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr): hip_memory.cpp'],['../group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b',1,'hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr): hip_memory.cpp']]], ['hipreadmodeelementtype',['hipReadModeElementType',['../hip__texture_8h.html#a442e950774f7306dc33692e358c92c94a829645801202174d052d667ffa4e1b8d',1,'hip_texture.h']]], - ['hipsetdevice',['hipSetDevice',['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_device.cpp'],['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_device.cpp']]], + ['hipruntimegetversion',['hipRuntimeGetVersion',['../group__Driver.html#gae8b7ba34d2e11e334650aa51a4dd87ee',1,'hipRuntimeGetVersion(int *runtimeVersion): hip_context.cpp'],['../group__Driver.html#gae8b7ba34d2e11e334650aa51a4dd87ee',1,'hipRuntimeGetVersion(int *runtimeVersion): hip_context.cpp']]], + ['hipsetdevice',['hipSetDevice',['../group__Device.html#ga43c1e7f15925eeb762195ccb5e063eae',1,'hipSetDevice(int deviceId): hip_device.cpp'],['../group__Device.html#ga43c1e7f15925eeb762195ccb5e063eae',1,'hipSetDevice(int deviceId): hip_device.cpp']]], ['hipsetdeviceflags',['hipSetDeviceFlags',['../group__Device.html#ga6e54db382768827e84725632018307aa',1,'hip_runtime_api.h']]], ['hipsharedmembanksizedefault',['hipSharedMemBankSizeDefault',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104eaf5b325c9b7bde878913f768eaba5014d',1,'hip_runtime_api.h']]], ['hipsharedmembanksizeeightbyte',['hipSharedMemBankSizeEightByte',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104ea64518b4f5a25f536c883330167e79258',1,'hip_runtime_api.h']]], ['hipsharedmembanksizefourbyte',['hipSharedMemBankSizeFourByte',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104ea0a95a6e0c33106c42d66ab9476ff954a',1,'hip_runtime_api.h']]], ['hipsharedmemconfig',['hipSharedMemConfig',['../group__GlobalDefs.html#ga2e17b71d94ac350f2ccd914fd49d104e',1,'hipSharedMemConfig(): hip_runtime_api.h'],['../group__GlobalDefs.html#ga6b1ca424fa26a5fb718937d662eaee7f',1,'hipSharedMemConfig(): hip_runtime_api.h']]], + ['hipstreamaddcallback',['hipStreamAddCallback',['../group__Stream.html#ga3e098cd7478828b2104abb41a7bb00d3',1,'hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#ga3e098cd7478828b2104abb41a7bb00d3',1,'hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags): hip_stream.cpp']]], + ['hipstreamcallback_5ft',['hipStreamCallback_t',['../group__Stream.html#gadd389da2e3926a8ff17658d029015dcd',1,'hip_runtime_api.h']]], ['hipstreamcreate',['hipStreamCreate',['../group__Stream.html#gaff5b62d6e9502d80879f7176f4d03102',1,'hipStreamCreate(hipStream_t *stream): hip_stream.cpp'],['../group__Stream.html#gaff5b62d6e9502d80879f7176f4d03102',1,'hipStreamCreate(hipStream_t *stream): hip_stream.cpp']]], ['hipstreamcreatewithflags',['hipStreamCreateWithFlags',['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_stream.cpp']]], ['hipstreamdefault',['hipStreamDefault',['../group__GlobalDefs.html#ga6df5f70eb976836ab3598cacf0ffcdf9',1,'hip_runtime_api.h']]], ['hipstreamdestroy',['hipStreamDestroy',['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_stream.cpp']]], ['hipstreamgetflags',['hipStreamGetFlags',['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_stream.cpp'],['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_stream.cpp']]], ['hipstreamnonblocking',['hipStreamNonBlocking',['../group__GlobalDefs.html#gaaba9ae995d9b43b7d1ee70c6fa12c57d',1,'hip_runtime_api.h']]], + ['hipstreamquery',['hipStreamQuery',['../classihipStream__t.html#a46bba2e3bfbb0915a08fb608aed31858',1,'ihipStream_t::hipStreamQuery()'],['../group__Stream.html#ga925b39ff78d3b5fd458bd9e2cade9f4e',1,'hipStreamQuery(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#ga925b39ff78d3b5fd458bd9e2cade9f4e',1,'hipStreamQuery(hipStream_t stream): hip_stream.cpp']]], ['hipstreamsynchronize',['hipStreamSynchronize',['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_stream.cpp']]], ['hipstreamwaitevent',['hipStreamWaitEvent',['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_stream.cpp']]], ['hipsuccess',['hipSuccess',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063',1,'hip_runtime_api.h']]], ['hiptexturefiltermode',['hipTextureFilterMode',['../hip__texture_8h.html#aa2f0b6002b81d0a43a808cb880bb21e6',1,'hip_texture.h']]], ['hiptexturereadmode',['hipTextureReadMode',['../hip__texture_8h.html#a442e950774f7306dc33692e358c92c94',1,'hip_texture.h']]], - ['hipthreadidx_5fx',['hipThreadIdx_x',['../hcc__detail_2hip__runtime_8h.html#a48f5f9da77c5fab1fbcf0205bb347d89',1,'hip_runtime.h']]], ['host_5fdefines_2eh',['host_defines.h',['../host__defines_8h.html',1,'']]], ['heterogeneous_2dcomputing_20interface_20for_20portability_20_28hip_29',['Heterogeneous-computing Interface for Portability (HIP)',['../index.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/all_9.js b/docs/RuntimeAPI/html/search/all_9.js index ae0e44d79e..c38c5e95c3 100644 --- a/docs/RuntimeAPI/html/search/all_9.js +++ b/docs/RuntimeAPI/html/search/all_9.js @@ -1,11 +1,14 @@ var searchData= [ + ['initialization_20and_20version',['Initialization and Version',['../group__Driver.html',1,'']]], + ['ihipctx_5ft',['ihipCtx_t',['../classihipCtx__t.html',1,'']]], + ['ihipctxcriticalbase_5ft',['ihipCtxCriticalBase_t',['../classihipCtxCriticalBase__t.html',1,'']]], + ['ihipctxcriticalbase_5ft_3c_20ctxmutex_20_3e',['ihipCtxCriticalBase_t< CtxMutex >',['../classihipCtxCriticalBase__t.html',1,'']]], ['ihipdevice_5ft',['ihipDevice_t',['../classihipDevice__t.html',1,'']]], - ['ihipdevicecriticalbase_5ft',['ihipDeviceCriticalBase_t',['../classihipDeviceCriticalBase__t.html',1,'']]], - ['ihipdevicecriticalbase_5ft_3c_20devicemutex_20_3e',['ihipDeviceCriticalBase_t< DeviceMutex >',['../classihipDeviceCriticalBase__t.html',1,'']]], ['ihipevent_5ft',['ihipEvent_t',['../structihipEvent__t.html',1,'']]], ['ihipexception',['ihipException',['../classihipException.html',1,'']]], - ['ihipsignal_5ft',['ihipSignal_t',['../structihipSignal__t.html',1,'']]], + ['ihipfunction_5ft',['ihipFunction_t',['../classihipFunction__t.html',1,'']]], + ['ihipmodule_5ft',['ihipModule_t',['../classihipModule__t.html',1,'']]], ['ihipstream_5ft',['ihipStream_t',['../classihipStream__t.html',1,'']]], ['ihipstreamcriticalbase_5ft',['ihipStreamCriticalBase_t',['../classihipStreamCriticalBase__t.html',1,'']]], ['ihipstreamcriticalbase_5ft_3c_20streammutex_20_3e',['ihipStreamCriticalBase_t< StreamMutex >',['../classihipStreamCriticalBase__t.html',1,'']]], diff --git a/docs/RuntimeAPI/html/search/all_a.js b/docs/RuntimeAPI/html/search/all_a.js index 8cf55c56bd..6c1f22f73c 100644 --- a/docs/RuntimeAPI/html/search/all_a.js +++ b/docs/RuntimeAPI/html/search/all_a.js @@ -3,6 +3,6 @@ var searchData= ['l2cachesize',['l2CacheSize',['../structhipDeviceProp__t.html#a24404decccc16833973c803ced6f3a51',1,'hipDeviceProp_t']]], ['lockedaccessor',['LockedAccessor',['../classLockedAccessor.html',1,'']]], ['lockedbase',['LockedBase',['../structLockedBase.html',1,'']]], - ['lockedbase_3c_20devicemutex_20_3e',['LockedBase< DeviceMutex >',['../structLockedBase.html',1,'']]], + ['lockedbase_3c_20ctxmutex_20_3e',['LockedBase< CtxMutex >',['../structLockedBase.html',1,'']]], ['lockedbase_3c_20streammutex_20_3e',['LockedBase< StreamMutex >',['../structLockedBase.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/all_b.js b/docs/RuntimeAPI/html/search/all_b.js index 08e347d70d..462c78d2d5 100644 --- a/docs/RuntimeAPI/html/search/all_b.js +++ b/docs/RuntimeAPI/html/search/all_b.js @@ -1,5 +1,6 @@ var searchData= [ + ['management',['Management',['../group__Context.html',1,'']]], ['major',['major',['../structhipDeviceProp__t.html#aec9e4173c2e34cc232300c415dbd5e4f',1,'hipDeviceProp_t']]], ['maxgridsize',['maxGridSize',['../structhipDeviceProp__t.html#ae529c23929f592120081fed31d877a55',1,'hipDeviceProp_t']]], ['maxsharedmemorypermultiprocessor',['maxSharedMemoryPerMultiProcessor',['../structhipDeviceProp__t.html#aa1a32a7f387f6da845db7b228711fce8',1,'hipDeviceProp_t']]], @@ -10,6 +11,5 @@ var searchData= ['memorybuswidth',['memoryBusWidth',['../structhipDeviceProp__t.html#a1d710ce8bd34daf66f892a66a2273132',1,'hipDeviceProp_t']]], ['memoryclockrate',['memoryClockRate',['../structhipDeviceProp__t.html#a6db0ab8e7e8cc13c84d7bb7f70226d5e',1,'hipDeviceProp_t']]], ['minor',['minor',['../structhipDeviceProp__t.html#abb51208e2509a7a1d107f0da69108938',1,'hipDeviceProp_t']]], - ['multiprocessorcount',['multiProcessorCount',['../structhipDeviceProp__t.html#add8d9d2ad52aece9fd1dbe25c18d9d57',1,'hipDeviceProp_t']]], - ['management',['Management',['../group__Version.html',1,'']]] + ['multiprocessorcount',['multiProcessorCount',['../structhipDeviceProp__t.html#add8d9d2ad52aece9fd1dbe25c18d9d57',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/all_f.js b/docs/RuntimeAPI/html/search/all_f.js index 98e41d0de8..40d64beb69 100644 --- a/docs/RuntimeAPI/html/search/all_f.js +++ b/docs/RuntimeAPI/html/search/all_f.js @@ -1,7 +1,6 @@ var searchData= [ ['sharedmemperblock',['sharedMemPerBlock',['../structhipDeviceProp__t.html#a3b9138678a0795c2677eddcfb1c67156',1,'hipDeviceProp_t']]], - ['stagingbuffer',['StagingBuffer',['../structStagingBuffer.html',1,'']]], ['stream_20management',['Stream Management',['../group__Stream.html',1,'']]], ['struct_5ffloat',['struct_float',['../structstruct__float.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/classes_1.js b/docs/RuntimeAPI/html/search/classes_1.js index 258d3fc37d..87f04a3cf9 100644 --- a/docs/RuntimeAPI/html/search/classes_1.js +++ b/docs/RuntimeAPI/html/search/classes_1.js @@ -1,4 +1,5 @@ var searchData= [ + ['dbname',['DbName',['../structDbName.html',1,'']]], ['dim3',['dim3',['../structdim3.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/classes_3.js b/docs/RuntimeAPI/html/search/classes_3.js index e878a4692f..059435714b 100644 --- a/docs/RuntimeAPI/html/search/classes_3.js +++ b/docs/RuntimeAPI/html/search/classes_3.js @@ -4,6 +4,7 @@ var searchData= ['hipchannelformatdesc',['hipChannelFormatDesc',['../structhipChannelFormatDesc.html',1,'']]], ['hipdevicearch_5ft',['hipDeviceArch_t',['../structhipDeviceArch__t.html',1,'']]], ['hipdeviceprop_5ft',['hipDeviceProp_t',['../structhipDeviceProp__t.html',1,'']]], - ['hipevent_5ft',['hipEvent_t',['../structhipEvent__t.html',1,'']]], + ['hipdoublecomplex',['hipDoubleComplex',['../structhipDoubleComplex.html',1,'']]], + ['hipfloatcomplex',['hipFloatComplex',['../structhipFloatComplex.html',1,'']]], ['hippointerattribute_5ft',['hipPointerAttribute_t',['../structhipPointerAttribute__t.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/classes_4.js b/docs/RuntimeAPI/html/search/classes_4.js index 87ba8606aa..80cd4081fe 100644 --- a/docs/RuntimeAPI/html/search/classes_4.js +++ b/docs/RuntimeAPI/html/search/classes_4.js @@ -1,11 +1,13 @@ var searchData= [ + ['ihipctx_5ft',['ihipCtx_t',['../classihipCtx__t.html',1,'']]], + ['ihipctxcriticalbase_5ft',['ihipCtxCriticalBase_t',['../classihipCtxCriticalBase__t.html',1,'']]], + ['ihipctxcriticalbase_5ft_3c_20ctxmutex_20_3e',['ihipCtxCriticalBase_t< CtxMutex >',['../classihipCtxCriticalBase__t.html',1,'']]], ['ihipdevice_5ft',['ihipDevice_t',['../classihipDevice__t.html',1,'']]], - ['ihipdevicecriticalbase_5ft',['ihipDeviceCriticalBase_t',['../classihipDeviceCriticalBase__t.html',1,'']]], - ['ihipdevicecriticalbase_5ft_3c_20devicemutex_20_3e',['ihipDeviceCriticalBase_t< DeviceMutex >',['../classihipDeviceCriticalBase__t.html',1,'']]], ['ihipevent_5ft',['ihipEvent_t',['../structihipEvent__t.html',1,'']]], ['ihipexception',['ihipException',['../classihipException.html',1,'']]], - ['ihipsignal_5ft',['ihipSignal_t',['../structihipSignal__t.html',1,'']]], + ['ihipfunction_5ft',['ihipFunction_t',['../classihipFunction__t.html',1,'']]], + ['ihipmodule_5ft',['ihipModule_t',['../classihipModule__t.html',1,'']]], ['ihipstream_5ft',['ihipStream_t',['../classihipStream__t.html',1,'']]], ['ihipstreamcriticalbase_5ft',['ihipStreamCriticalBase_t',['../classihipStreamCriticalBase__t.html',1,'']]], ['ihipstreamcriticalbase_5ft_3c_20streammutex_20_3e',['ihipStreamCriticalBase_t< StreamMutex >',['../classihipStreamCriticalBase__t.html',1,'']]] diff --git a/docs/RuntimeAPI/html/search/classes_5.js b/docs/RuntimeAPI/html/search/classes_5.js index 09019c00b4..da0012a8c9 100644 --- a/docs/RuntimeAPI/html/search/classes_5.js +++ b/docs/RuntimeAPI/html/search/classes_5.js @@ -2,6 +2,6 @@ var searchData= [ ['lockedaccessor',['LockedAccessor',['../classLockedAccessor.html',1,'']]], ['lockedbase',['LockedBase',['../structLockedBase.html',1,'']]], - ['lockedbase_3c_20devicemutex_20_3e',['LockedBase< DeviceMutex >',['../structLockedBase.html',1,'']]], + ['lockedbase_3c_20ctxmutex_20_3e',['LockedBase< CtxMutex >',['../structLockedBase.html',1,'']]], ['lockedbase_3c_20streammutex_20_3e',['LockedBase< StreamMutex >',['../structLockedBase.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/classes_6.js b/docs/RuntimeAPI/html/search/classes_6.js index 578f67eab3..b247c41b8e 100644 --- a/docs/RuntimeAPI/html/search/classes_6.js +++ b/docs/RuntimeAPI/html/search/classes_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['stagingbuffer',['StagingBuffer',['../structStagingBuffer.html',1,'']]], ['struct_5ffloat',['struct_float',['../structstruct__float.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/defines_1.js b/docs/RuntimeAPI/html/search/defines_1.js index c07942965b..b74e8321a7 100644 --- a/docs/RuntimeAPI/html/search/defines_1.js +++ b/docs/RuntimeAPI/html/search/defines_1.js @@ -1,5 +1,4 @@ var searchData= [ - ['hip_5fdynamic_5fshared',['HIP_DYNAMIC_SHARED',['../hcc__detail_2hip__runtime_8h.html#a1e7ec14fb6b74c03b6ec804d6ef7e0ea',1,'hip_runtime.h']]], - ['hipthreadidx_5fx',['hipThreadIdx_x',['../hcc__detail_2hip__runtime_8h.html#a48f5f9da77c5fab1fbcf0205bb347d89',1,'hip_runtime.h']]] + ['hip_5fdynamic_5fshared',['HIP_DYNAMIC_SHARED',['../hcc__detail_2hip__runtime_8h.html#a1e7ec14fb6b74c03b6ec804d6ef7e0ea',1,'hip_runtime.h']]] ]; diff --git a/docs/RuntimeAPI/html/search/enumvalues_0.js b/docs/RuntimeAPI/html/search/enumvalues_0.js index dd42b2deba..fef0d50263 100644 --- a/docs/RuntimeAPI/html/search/enumvalues_0.js +++ b/docs/RuntimeAPI/html/search/enumvalues_0.js @@ -28,11 +28,14 @@ var searchData= ['hiperrorhostmemoryalreadyregistered',['hipErrorHostMemoryAlreadyRegistered',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a9d7173cea72aace620a83d502569de1b',1,'hip_runtime_api.h']]], ['hiperrorhostmemorynotregistered',['hipErrorHostMemoryNotRegistered',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a6901476ca88eed786fb8be003d9661d9',1,'hip_runtime_api.h']]], ['hiperrorinitializationerror',['hipErrorInitializationError',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a7e935ae88ee1f9ff3920156ac6864520',1,'hip_runtime_api.h']]], + ['hiperrorinvalidcontext',['hipErrorInvalidContext',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe',1,'hip_runtime_api.h']]], ['hiperrorinvaliddevice',['hipErrorInvalidDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d',1,'hip_runtime_api.h']]], ['hiperrorinvaliddevicepointer',['hipErrorInvalidDevicePointer',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a37a93fcd2b0aed9bf52b82fa26031e6f',1,'hip_runtime_api.h']]], + ['hiperrorinvalidkernelfile',['hipErrorInvalidKernelFile',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ae508537d5e9a293bb1e63802d4a61380',1,'hip_runtime_api.h']]], ['hiperrorinvalidmemcpydirection',['hipErrorInvalidMemcpyDirection',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ae35ad9fb66b7c33f21a021efe89975b0',1,'hip_runtime_api.h']]], ['hiperrorinvalidresourcehandle',['hipErrorInvalidResourceHandle',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a88e525a7c8f35552dfada58e9f2f6d3a',1,'hip_runtime_api.h']]], ['hiperrorinvalidvalue',['hipErrorInvalidValue',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83',1,'hip_runtime_api.h']]], + ['hiperrorlaunchfailure',['hipErrorLaunchFailure',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a3df72146e762c5a901d3af06027a1de9',1,'hip_runtime_api.h']]], ['hiperrorlaunchoutofresources',['hipErrorLaunchOutOfResources',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a3ea57f211997a84fa1c582414bcabc47',1,'hip_runtime_api.h']]], ['hiperrormemoryallocation',['hipErrorMemoryAllocation',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2',1,'hip_runtime_api.h']]], ['hiperrornodevice',['hipErrorNoDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad4406972c318df36d231310a15131c24',1,'hip_runtime_api.h']]], diff --git a/docs/RuntimeAPI/html/search/functions_0.js b/docs/RuntimeAPI/html/search/functions_0.js index 3f01824651..ca51c97f10 100644 --- a/docs/RuntimeAPI/html/search/functions_0.js +++ b/docs/RuntimeAPI/html/search/functions_0.js @@ -1,57 +1,6 @@ var searchData= [ - ['hipdevicecanaccesspeer',['hipDeviceCanAccessPeer',['../group__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId): hip_peer.cpp'],['../group__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId): hip_peer.cpp']]], - ['hipdevicedisablepeeraccess',['hipDeviceDisablePeerAccess',['../group__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b',1,'hipDeviceDisablePeerAccess(int peerDeviceId): hip_peer.cpp'],['../group__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b',1,'hipDeviceDisablePeerAccess(int peerDeviceId): hip_peer.cpp']]], - ['hipdeviceenablepeeraccess',['hipDeviceEnablePeerAccess',['../group__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e',1,'hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags): hip_peer.cpp'],['../group__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e',1,'hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags): hip_peer.cpp']]], - ['hipdevicegetattribute',['hipDeviceGetAttribute',['../group__Device.html#gac49518ff2b26b98ea2ec9e9268761a24',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device): hip_device.cpp'],['../group__Device.html#gac49518ff2b26b98ea2ec9e9268761a24',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device): hip_device.cpp']]], - ['hipdevicegetcacheconfig',['hipDeviceGetCacheConfig',['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_device.cpp'],['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_device.cpp']]], - ['hipdevicegetsharedmemconfig',['hipDeviceGetSharedMemConfig',['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_device.cpp'],['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_device.cpp']]], - ['hipdevicereset',['hipDeviceReset',['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_device.cpp'],['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_device.cpp']]], - ['hipdevicesetcacheconfig',['hipDeviceSetCacheConfig',['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp'],['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp']]], - ['hipdevicesetsharedmemconfig',['hipDeviceSetSharedMemConfig',['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_device.cpp'],['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_device.cpp']]], - ['hipdevicesynchronize',['hipDeviceSynchronize',['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_device.cpp'],['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_device.cpp']]], - ['hipdrivergetversion',['hipDriverGetVersion',['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_peer.cpp'],['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_peer.cpp']]], - ['hipeventcreate',['hipEventCreate',['../group__Event.html#ga5df2309c9f29ca4c8e669db658d411b4',1,'hipEventCreate(hipEvent_t *event): hip_event.cpp'],['../group__Event.html#ga5df2309c9f29ca4c8e669db658d411b4',1,'hipEventCreate(hipEvent_t *event): hip_event.cpp']]], - ['hipeventcreatewithflags',['hipEventCreateWithFlags',['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_event.cpp'],['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_event.cpp']]], - ['hipeventdestroy',['hipEventDestroy',['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_event.cpp']]], - ['hipeventelapsedtime',['hipEventElapsedTime',['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_event.cpp'],['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_event.cpp']]], - ['hipeventquery',['hipEventQuery',['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_event.cpp']]], - ['hipeventrecord',['hipEventRecord',['../group__Event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_event.cpp'],['../group__Event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_event.cpp']]], - ['hipeventsynchronize',['hipEventSynchronize',['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_event.cpp']]], - ['hipfree',['hipFree',['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_memory.cpp'],['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_memory.cpp']]], - ['hipfreehost',['hipFreeHost',['../group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9',1,'hipFreeHost(void *ptr) __attribute__((deprecated("use hipHostFree instead"))): hip_memory.cpp'],['../group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9',1,'hipFreeHost(void *ptr): hip_memory.cpp']]], - ['hipfuncsetcacheconfig',['hipFuncSetCacheConfig',['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache config): hip_device.cpp'],['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp']]], - ['hipgetdevice',['hipGetDevice',['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_device.cpp'],['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_device.cpp']]], - ['hipgetdevicecount',['hipGetDeviceCount',['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_device.cpp'],['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_device.cpp']]], - ['hipgetdeviceproperties',['hipGetDeviceProperties',['../group__Device.html#ga77c20744e2a88c31440992d6c7754b5f',1,'hipGetDeviceProperties(hipDeviceProp_t *prop, int device): hip_device.cpp'],['../group__Device.html#ga77c20744e2a88c31440992d6c7754b5f',1,'hipGetDeviceProperties(hipDeviceProp_t *props, int device): hip_device.cpp']]], - ['hipgeterrorname',['hipGetErrorName',['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_error.cpp'],['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_error.cpp']]], - ['hipgeterrorstring',['hipGetErrorString',['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_error.cpp'],['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_error.cpp']]], - ['hipgetlasterror',['hipGetLastError',['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(void): hip_error.cpp'],['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(): hip_error.cpp']]], - ['hiphccgetaccelerator',['hipHccGetAccelerator',['../hip__hcc_8cpp.html#a0d24b3157fd1b16d38672bb157ec4cd4',1,'hip_hcc.cpp']]], - ['hiphccgetacceleratorview',['hipHccGetAcceleratorView',['../hip__hcc_8cpp.html#a1a7087ea9c3c3323270d7cce73650b44',1,'hip_hcc.cpp']]], - ['hiphostfree',['hipHostFree',['../group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3',1,'hipHostFree(void *ptr): hip_memory.cpp'],['../group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3',1,'hipHostFree(void *ptr): hip_memory.cpp']]], - ['hiphostgetdevicepointer',['hipHostGetDevicePointer',['../group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725',1,'hip_runtime_api.h']]], - ['hiphostgetflags',['hipHostGetFlags',['../group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a',1,'hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr): hip_memory.cpp'],['../group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a',1,'hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr): hip_memory.cpp']]], - ['hiphostmalloc',['hipHostMalloc',['../group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1',1,'hipHostMalloc(void **ptr, size_t size, unsigned int flags): hip_memory.cpp'],['../group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1',1,'hipHostMalloc(void **ptr, size_t sizeBytes, unsigned int flags): hip_memory.cpp']]], - ['hiphostregister',['hipHostRegister',['../group__Memory.html#gab8258f051e1a1f7385f794a15300e674',1,'hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags): hip_memory.cpp'],['../group__Memory.html#gab8258f051e1a1f7385f794a15300e674',1,'hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags): hip_memory.cpp']]], - ['hiphostunregister',['hipHostUnregister',['../group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924',1,'hipHostUnregister(void *hostPtr): hip_memory.cpp'],['../group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924',1,'hipHostUnregister(void *hostPtr): hip_memory.cpp']]], - ['hipmalloc',['hipMalloc',['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t size): hip_memory.cpp'],['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t sizeBytes): hip_memory.cpp']]], - ['hipmallochost',['hipMallocHost',['../group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30',1,'hipMallocHost(void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead"))): hip_memory.cpp'],['../group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30',1,'hipMallocHost(void **ptr, size_t sizeBytes): hip_memory.cpp']]], - ['hipmallocpitch',['hipMallocPitch',['../group__Memory.html#ga805c7320498926e444616fe090c727ee',1,'hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height): hip_memory.cpp'],['../group__Memory.html#ga805c7320498926e444616fe090c727ee',1,'hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height): hip_memory.cpp']]], - ['hipmemcpy',['hipMemcpy',['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_memory.cpp'],['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_memory.cpp']]], - ['hipmemcpyasync',['hipMemcpyAsync',['../group__Memory.html#gad55fa9f5980b711bc93c52820149ba18',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad55fa9f5980b711bc93c52820149ba18',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp']]], - ['hipmemcpytosymbol',['hipMemcpyToSymbol',['../group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc',1,'hipMemcpyToSymbol(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind): hip_memory.cpp'],['../group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc',1,'hipMemcpyToSymbol(const char *symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind): hip_memory.cpp']]], - ['hipmemgetinfo',['hipMemGetInfo',['../group__Memory.html#ga311c3e246a21590de14478b8bd063be2',1,'hipMemGetInfo(size_t *free, size_t *total): hip_memory.cpp'],['../group__Memory.html#ga311c3e246a21590de14478b8bd063be2',1,'hipMemGetInfo(size_t *free, size_t *total): hip_memory.cpp']]], - ['hipmemset',['hipMemset',['../group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4',1,'hipMemset(void *dst, int value, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4',1,'hipMemset(void *dst, int value, size_t sizeBytes): hip_memory.cpp']]], - ['hipmemsetasync',['hipMemsetAsync',['../group__Memory.html#gae7d90e14c387e49f10db597f12915c54',1,'hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gae7d90e14c387e49f10db597f12915c54',1,'hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], - ['hippeekatlasterror',['hipPeekAtLastError',['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hip_runtime_api.h']]], - ['hippointergetattributes',['hipPointerGetAttributes',['../group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b',1,'hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr): hip_memory.cpp'],['../group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b',1,'hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr): hip_memory.cpp']]], - ['hipsetdevice',['hipSetDevice',['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_device.cpp'],['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_device.cpp']]], - ['hipsetdeviceflags',['hipSetDeviceFlags',['../group__Device.html#ga6e54db382768827e84725632018307aa',1,'hip_runtime_api.h']]], - ['hipstreamcreate',['hipStreamCreate',['../group__Stream.html#gaff5b62d6e9502d80879f7176f4d03102',1,'hipStreamCreate(hipStream_t *stream): hip_stream.cpp'],['../group__Stream.html#gaff5b62d6e9502d80879f7176f4d03102',1,'hipStreamCreate(hipStream_t *stream): hip_stream.cpp']]], - ['hipstreamcreatewithflags',['hipStreamCreateWithFlags',['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_stream.cpp']]], - ['hipstreamdestroy',['hipStreamDestroy',['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_stream.cpp']]], - ['hipstreamgetflags',['hipStreamGetFlags',['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_stream.cpp'],['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_stream.cpp']]], - ['hipstreamsynchronize',['hipStreamSynchronize',['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_stream.cpp']]], - ['hipstreamwaitevent',['hipStreamWaitEvent',['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_stream.cpp']]] + ['_5f_5fthreadfence',['__threadfence',['../group__Fence.html#ga8ed093b29d5c05d46a1240e7a35a6d13',1,'hip_runtime.h']]], + ['_5f_5fthreadfence_5fblock',['__threadfence_block',['../group__Fence.html#ga675c8823d497b2fd91abc42085e5ae25',1,'hip_runtime.h']]], + ['_5f_5fthreadfence_5fsystem',['__threadfence_system',['../group__Fence.html#ga90cf73529a5fdfd88526430fc40e2f3d',1,'hip_runtime.h']]] ]; diff --git a/docs/RuntimeAPI/html/search/functions_1.html b/docs/RuntimeAPI/html/search/functions_1.html new file mode 100644 index 0000000000..3b4eacfebf --- /dev/null +++ b/docs/RuntimeAPI/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/RuntimeAPI/html/search/functions_1.js b/docs/RuntimeAPI/html/search/functions_1.js new file mode 100644 index 0000000000..0d80557750 --- /dev/null +++ b/docs/RuntimeAPI/html/search/functions_1.js @@ -0,0 +1,102 @@ +var searchData= +[ + ['hipchoosedevice',['hipChooseDevice',['../group__Device.html#gaa751b3042e5e92f95e2f5de9d4685189',1,'hip_runtime_api.h']]], + ['hipcreatechanneldesc',['hipCreateChannelDesc',['../group__Texture.html#gac9b0ae733fa849842342fab6d42c7b6f',1,'hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f): hip_memory.cpp'],['../group__Texture.html#gac9b0ae733fa849842342fab6d42c7b6f',1,'hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f): hip_memory.cpp']]], + ['hipctxcreate',['hipCtxCreate',['../group__Context.html#gab6dbcff5c5b1249a5ac5cf39ae9d08bc',1,'hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device): hip_context.cpp'],['../group__Context.html#gab6dbcff5c5b1249a5ac5cf39ae9d08bc',1,'hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device): hip_context.cpp']]], + ['hipctxdestroy',['hipCtxDestroy',['../group__Context.html#ga9a65fe43238ef303a6d97826c05fd14e',1,'hipCtxDestroy(hipCtx_t ctx): hip_context.cpp'],['../group__Context.html#ga9a65fe43238ef303a6d97826c05fd14e',1,'hipCtxDestroy(hipCtx_t ctx): hip_context.cpp']]], + ['hipctxdisablepeeraccess',['hipCtxDisablePeerAccess',['../group__Context.html#gaf48e4e9c3b6bbad5deaeff10d2e28b31',1,'hipCtxDisablePeerAccess(hipCtx_t peerCtx): hip_peer.cpp'],['../group__Context.html#gaf48e4e9c3b6bbad5deaeff10d2e28b31',1,'hipCtxDisablePeerAccess(hipCtx_t peerCtx): hip_peer.cpp']]], + ['hipctxenablepeeraccess',['hipCtxEnablePeerAccess',['../group__Context.html#ga834dfd99d72082fe8770142fa30b30e2',1,'hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags): hip_peer.cpp'],['../group__Context.html#ga834dfd99d72082fe8770142fa30b30e2',1,'hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags): hip_peer.cpp']]], + ['hipctxgetapiversion',['hipCtxGetApiVersion',['../group__Context.html#gabe5941e6798c71a8351b7d51311e7e8f',1,'hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion): hip_context.cpp'],['../group__Context.html#gabe5941e6798c71a8351b7d51311e7e8f',1,'hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion): hip_context.cpp']]], + ['hipctxgetcacheconfig',['hipCtxGetCacheConfig',['../group__Context.html#ga387c7bcc82f17261a2c955fc31ecbaba',1,'hipCtxGetCacheConfig(hipFuncCache *cacheConfig): hip_context.cpp'],['../group__Context.html#ga387c7bcc82f17261a2c955fc31ecbaba',1,'hipCtxGetCacheConfig(hipFuncCache *cacheConfig): hip_context.cpp']]], + ['hipctxgetcurrent',['hipCtxGetCurrent',['../group__Context.html#ga741786101d348fdbfa1f64546860357a',1,'hipCtxGetCurrent(hipCtx_t *ctx): hip_context.cpp'],['../group__Context.html#ga741786101d348fdbfa1f64546860357a',1,'hipCtxGetCurrent(hipCtx_t *ctx): hip_context.cpp']]], + ['hipctxgetdevice',['hipCtxGetDevice',['../group__Context.html#ga8aa32cf64272da929f23ecbafefefcee',1,'hipCtxGetDevice(hipDevice_t *device): hip_context.cpp'],['../group__Context.html#ga8aa32cf64272da929f23ecbafefefcee',1,'hipCtxGetDevice(hipDevice_t *device): hip_context.cpp']]], + ['hipctxgetflags',['hipCtxGetFlags',['../group__Context.html#ga12a7a993e10f775fbf61a0b14288ed1b',1,'hipCtxGetFlags(unsigned int *flags): hip_context.cpp'],['../group__Context.html#ga12a7a993e10f775fbf61a0b14288ed1b',1,'hipCtxGetFlags(unsigned int *flags): hip_context.cpp']]], + ['hipctxgetsharedmemconfig',['hipCtxGetSharedMemConfig',['../group__Context.html#ga3c78b22dd03435a7ca88621a45409565',1,'hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_context.cpp'],['../group__Context.html#ga3c78b22dd03435a7ca88621a45409565',1,'hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_context.cpp']]], + ['hipctxpopcurrent',['hipCtxPopCurrent',['../group__Context.html#ga2cc4ea5a6b78d9d7990a88a7863467d4',1,'hipCtxPopCurrent(hipCtx_t *ctx): hip_context.cpp'],['../group__Context.html#ga2cc4ea5a6b78d9d7990a88a7863467d4',1,'hipCtxPopCurrent(hipCtx_t *ctx): hip_context.cpp']]], + ['hipctxpushcurrent',['hipCtxPushCurrent',['../group__Context.html#ga9c9d92f29d68cacdea4c062c97e50a8a',1,'hipCtxPushCurrent(hipCtx_t ctx): hip_context.cpp'],['../group__Context.html#ga9c9d92f29d68cacdea4c062c97e50a8a',1,'hipCtxPushCurrent(hipCtx_t ctx): hip_context.cpp']]], + ['hipctxsetcacheconfig',['hipCtxSetCacheConfig',['../group__Context.html#ga9399ad61b387aff6cfa77292d3c82d4d',1,'hipCtxSetCacheConfig(hipFuncCache cacheConfig): hip_context.cpp'],['../group__Context.html#ga9399ad61b387aff6cfa77292d3c82d4d',1,'hipCtxSetCacheConfig(hipFuncCache cacheConfig): hip_context.cpp']]], + ['hipctxsetcurrent',['hipCtxSetCurrent',['../group__Context.html#ga834a192f70c2bfc0269c309436776feb',1,'hipCtxSetCurrent(hipCtx_t ctx): hip_context.cpp'],['../group__Context.html#ga834a192f70c2bfc0269c309436776feb',1,'hipCtxSetCurrent(hipCtx_t ctx): hip_context.cpp']]], + ['hipctxsetsharedmemconfig',['hipCtxSetSharedMemConfig',['../group__Context.html#gad5c1d4ced27f584a74ed550dd002fa5a',1,'hipCtxSetSharedMemConfig(hipSharedMemConfig config): hip_context.cpp'],['../group__Context.html#gad5c1d4ced27f584a74ed550dd002fa5a',1,'hipCtxSetSharedMemConfig(hipSharedMemConfig config): hip_context.cpp']]], + ['hipctxsynchronize',['hipCtxSynchronize',['../group__Context.html#gad45cd968e8e3dcfd24ef050cab2f41c8',1,'hipCtxSynchronize(void): hip_context.cpp'],['../group__Context.html#gad45cd968e8e3dcfd24ef050cab2f41c8',1,'hipCtxSynchronize(void): hip_context.cpp']]], + ['hipdevicecanaccesspeer',['hipDeviceCanAccessPeer',['../group__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId): hip_peer.cpp'],['../group__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId): hip_peer.cpp']]], + ['hipdevicecomputecapability',['hipDeviceComputeCapability',['../group__Driver.html#ga0a1cf94d2b571ca3279577d5af0d1672',1,'hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga0a1cf94d2b571ca3279577d5af0d1672',1,'hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device): hip_device.cpp']]], + ['hipdevicedisablepeeraccess',['hipDeviceDisablePeerAccess',['../group__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b',1,'hipDeviceDisablePeerAccess(int peerDeviceId): hip_peer.cpp'],['../group__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b',1,'hipDeviceDisablePeerAccess(int peerDeviceId): hip_peer.cpp']]], + ['hipdeviceenablepeeraccess',['hipDeviceEnablePeerAccess',['../group__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e',1,'hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags): hip_peer.cpp'],['../group__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e',1,'hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags): hip_peer.cpp']]], + ['hipdeviceget',['hipDeviceGet',['../group__Driver.html#gadf6c74aaf7c22fea80e9ac3400d43704',1,'hipDeviceGet(hipDevice_t *device, int ordinal): hip_context.cpp'],['../group__Driver.html#gadf6c74aaf7c22fea80e9ac3400d43704',1,'hipDeviceGet(hipDevice_t *device, int deviceId): hip_context.cpp']]], + ['hipdevicegetattribute',['hipDeviceGetAttribute',['../group__Device.html#ga7080a145a4239a7276e0dc22062026c1',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId): hip_device.cpp'],['../group__Device.html#ga7080a145a4239a7276e0dc22062026c1',1,'hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int device): hip_device.cpp']]], + ['hipdevicegetcacheconfig',['hipDeviceGetCacheConfig',['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_device.cpp'],['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_device.cpp']]], + ['hipdevicegetlimit',['hipDeviceGetLimit',['../group__Device.html#gaa72baeb520f1d52fe17817e852937218',1,'hipDeviceGetLimit(size_t *pValue, hipLimit_t limit): hip_device.cpp'],['../group__Device.html#gaa72baeb520f1d52fe17817e852937218',1,'hipDeviceGetLimit(size_t *pValue, hipLimit_t limit): hip_device.cpp']]], + ['hipdevicegetname',['hipDeviceGetName',['../group__Driver.html#ga24df15e180a7b2b351cd362e5b7d2dac',1,'hipDeviceGetName(char *name, int len, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga24df15e180a7b2b351cd362e5b7d2dac',1,'hipDeviceGetName(char *name, int len, hipDevice_t device): hip_device.cpp']]], + ['hipdevicegetpcibusid',['hipDeviceGetPCIBusId',['../group__Driver.html#ga681cef187c0c173749f8fda568a9d92a',1,'hipDeviceGetPCIBusId(int *pciBusId, int len, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga681cef187c0c173749f8fda568a9d92a',1,'hipDeviceGetPCIBusId(int *pciBusId, int len, hipDevice_t device): hip_device.cpp']]], + ['hipdevicegetsharedmemconfig',['hipDeviceGetSharedMemConfig',['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_device.cpp'],['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_device.cpp']]], + ['hipdevicereset',['hipDeviceReset',['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_device.cpp'],['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_device.cpp']]], + ['hipdevicesetcacheconfig',['hipDeviceSetCacheConfig',['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp'],['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp']]], + ['hipdevicesetsharedmemconfig',['hipDeviceSetSharedMemConfig',['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_device.cpp'],['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_device.cpp']]], + ['hipdevicesynchronize',['hipDeviceSynchronize',['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_device.cpp'],['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_device.cpp']]], + ['hipdevicetotalmem',['hipDeviceTotalMem',['../group__Driver.html#ga8991e535d0ef1ead0524e73364623041',1,'hipDeviceTotalMem(size_t *bytes, hipDevice_t device): hip_device.cpp'],['../group__Driver.html#ga8991e535d0ef1ead0524e73364623041',1,'hipDeviceTotalMem(size_t *bytes, hipDevice_t device): hip_device.cpp']]], + ['hipdrivergetversion',['hipDriverGetVersion',['../group__Driver.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_context.cpp'],['../group__Driver.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_context.cpp']]], + ['hipeventcreate',['hipEventCreate',['../group__Event.html#ga5df2309c9f29ca4c8e669db658d411b4',1,'hipEventCreate(hipEvent_t *event): hip_event.cpp'],['../group__Event.html#ga5df2309c9f29ca4c8e669db658d411b4',1,'hipEventCreate(hipEvent_t *event): hip_event.cpp']]], + ['hipeventcreatewithflags',['hipEventCreateWithFlags',['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_event.cpp'],['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_event.cpp']]], + ['hipeventdestroy',['hipEventDestroy',['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_event.cpp']]], + ['hipeventelapsedtime',['hipEventElapsedTime',['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_event.cpp'],['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_event.cpp']]], + ['hipeventquery',['hipEventQuery',['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_event.cpp']]], + ['hipeventrecord',['hipEventRecord',['../group__Event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_event.cpp'],['../group__Event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_event.cpp']]], + ['hipeventsynchronize',['hipEventSynchronize',['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_event.cpp'],['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_event.cpp']]], + ['hipfree',['hipFree',['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_memory.cpp'],['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_memory.cpp']]], + ['hipfreearray',['hipFreeArray',['../hip__texture_8h.html#ae29935073517245c69bc64790dd2747a',1,'hip_memory.cpp']]], + ['hipfreehost',['hipFreeHost',['../group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9',1,'hipFreeHost(void *ptr) __attribute__((deprecated("use hipHostFree instead"))): hip_memory.cpp'],['../group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9',1,'hipFreeHost(void *ptr): hip_memory.cpp']]], + ['hipfuncsetcacheconfig',['hipFuncSetCacheConfig',['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache config): hip_device.cpp'],['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache cacheConfig): hip_device.cpp']]], + ['hipgetdevice',['hipGetDevice',['../group__Device.html#ga7e0e2e8c5f78e3c7449764657c254e0a',1,'hipGetDevice(int *deviceId): hip_device.cpp'],['../group__Device.html#ga7e0e2e8c5f78e3c7449764657c254e0a',1,'hipGetDevice(int *deviceId): hip_device.cpp']]], + ['hipgetdevicecount',['hipGetDeviceCount',['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_device.cpp'],['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_device.cpp']]], + ['hipgetdeviceproperties',['hipGetDeviceProperties',['../group__Device.html#ga32208513b7cd491f0cb5fc884053f790',1,'hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId): hip_device.cpp'],['../group__Device.html#ga32208513b7cd491f0cb5fc884053f790',1,'hipGetDeviceProperties(hipDeviceProp_t *props, int device): hip_device.cpp']]], + ['hipgeterrorname',['hipGetErrorName',['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_error.cpp'],['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_error.cpp']]], + ['hipgeterrorstring',['hipGetErrorString',['../group__Error.html#ga1421a2ee561f30d5b1dbed3ecb28b264',1,'hipGetErrorString(hipError_t hipError): hip_error.cpp'],['../group__Error.html#ga1421a2ee561f30d5b1dbed3ecb28b264',1,'hipGetErrorString(hipError_t hip_error): hip_error.cpp']]], + ['hipgetlasterror',['hipGetLastError',['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(void): hip_error.cpp'],['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(): hip_error.cpp']]], + ['hiphostalloc',['hipHostAlloc',['../group__Memory.html#gac5ae7f11cefc7085f39ee7868e71724a',1,'hipHostAlloc(void **ptr, size_t size, unsigned int flags) __attribute__((deprecated("use hipHostMalloc instead"))): hip_memory.cpp'],['../group__Memory.html#gac5ae7f11cefc7085f39ee7868e71724a',1,'hipHostAlloc(void **ptr, size_t sizeBytes, unsigned int flags): hip_memory.cpp']]], + ['hiphostfree',['hipHostFree',['../group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3',1,'hipHostFree(void *ptr): hip_memory.cpp'],['../group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3',1,'hipHostFree(void *ptr): hip_memory.cpp']]], + ['hiphostgetdevicepointer',['hipHostGetDevicePointer',['../group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725',1,'hip_runtime_api.h']]], + ['hiphostgetflags',['hipHostGetFlags',['../group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a',1,'hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr): hip_memory.cpp'],['../group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a',1,'hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr): hip_memory.cpp']]], + ['hiphostmalloc',['hipHostMalloc',['../group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1',1,'hipHostMalloc(void **ptr, size_t size, unsigned int flags): hip_memory.cpp'],['../group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1',1,'hipHostMalloc(void **ptr, size_t sizeBytes, unsigned int flags): hip_memory.cpp']]], + ['hiphostregister',['hipHostRegister',['../group__Memory.html#gab8258f051e1a1f7385f794a15300e674',1,'hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags): hip_memory.cpp'],['../group__Memory.html#gab8258f051e1a1f7385f794a15300e674',1,'hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags): hip_memory.cpp']]], + ['hiphostunregister',['hipHostUnregister',['../group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924',1,'hipHostUnregister(void *hostPtr): hip_memory.cpp'],['../group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924',1,'hipHostUnregister(void *hostPtr): hip_memory.cpp']]], + ['hipinit',['hipInit',['../group__Driver.html#ga01baa652dda5815c594d047060496caa',1,'hipInit(unsigned int flags): hip_context.cpp'],['../group__Driver.html#ga01baa652dda5815c594d047060496caa',1,'hipInit(unsigned int flags): hip_context.cpp']]], + ['hipmalloc',['hipMalloc',['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t size): hip_memory.cpp'],['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t sizeBytes): hip_memory.cpp']]], + ['hipmallocarray',['hipMallocArray',['../hip__texture_8h.html#aea2f071ae2e4a0847f6aa42d1ef56129',1,'hip_memory.cpp']]], + ['hipmallochost',['hipMallocHost',['../group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30',1,'hipMallocHost(void **ptr, size_t size) __attribute__((deprecated("use hipHostMalloc instead"))): hip_memory.cpp'],['../group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30',1,'hipMallocHost(void **ptr, size_t sizeBytes): hip_memory.cpp']]], + ['hipmallocpitch',['hipMallocPitch',['../group__Memory.html#ga805c7320498926e444616fe090c727ee',1,'hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height): hip_memory.cpp'],['../group__Memory.html#ga805c7320498926e444616fe090c727ee',1,'hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height): hip_memory.cpp']]], + ['hipmemcpy',['hipMemcpy',['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_memory.cpp'],['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_memory.cpp']]], + ['hipmemcpy2d',['hipMemcpy2D',['../hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a',1,'hip_memory.cpp']]], + ['hipmemcpy2dtoarray',['hipMemcpy2DToArray',['../hip__texture_8h.html#ab08b0bd6cdbb57e79df40ef1cd0374e0',1,'hip_memory.cpp']]], + ['hipmemcpyasync',['hipMemcpyAsync',['../group__Memory.html#gad55fa9f5980b711bc93c52820149ba18',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad55fa9f5980b711bc93c52820149ba18',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp']]], + ['hipmemcpydtod',['hipMemcpyDtoD',['../group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93',1,'hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93',1,'hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemcpydtodasync',['hipMemcpyDtoDAsync',['../group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27',1,'hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27',1,'hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], + ['hipmemcpydtoh',['hipMemcpyDtoH',['../group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f',1,'hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f',1,'hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemcpydtohasync',['hipMemcpyDtoHAsync',['../group__Memory.html#gad69da1994a646b843fb1fa465dbeb623',1,'hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gad69da1994a646b843fb1fa465dbeb623',1,'hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], + ['hipmemcpyhtod',['hipMemcpyHtoD',['../group__Memory.html#gaa415ecdd2535e1eb618ed8a31a6f03af',1,'hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gaa415ecdd2535e1eb618ed8a31a6f03af',1,'hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemcpyhtodasync',['hipMemcpyHtoDAsync',['../group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd',1,'hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd',1,'hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], + ['hipmemcpytoarray',['hipMemcpyToArray',['../hip__texture_8h.html#a2e631f0b6757b47b74cdaa2911784be9',1,'hip_memory.cpp']]], + ['hipmemcpytosymbol',['hipMemcpyToSymbol',['../group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc',1,'hipMemcpyToSymbol(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind): hip_memory.cpp'],['../group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc',1,'hipMemcpyToSymbol(const char *symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind): hip_memory.cpp']]], + ['hipmemcpytosymbolasync',['hipMemcpyToSymbolAsync',['../group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4',1,'hipMemcpyToSymbolAsync(const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4',1,'hipMemcpyToSymbolAsync(const char *symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind, hipStream_t stream): hip_memory.cpp']]], + ['hipmemgetinfo',['hipMemGetInfo',['../group__Memory.html#ga311c3e246a21590de14478b8bd063be2',1,'hipMemGetInfo(size_t *free, size_t *total): hip_memory.cpp'],['../group__Memory.html#ga311c3e246a21590de14478b8bd063be2',1,'hipMemGetInfo(size_t *free, size_t *total): hip_memory.cpp']]], + ['hipmemset',['hipMemset',['../group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4',1,'hipMemset(void *dst, int value, size_t sizeBytes): hip_memory.cpp'],['../group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4',1,'hipMemset(void *dst, int value, size_t sizeBytes): hip_memory.cpp']]], + ['hipmemsetasync',['hipMemsetAsync',['../group__Memory.html#gae7d90e14c387e49f10db597f12915c54',1,'hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream): hip_memory.cpp'],['../group__Memory.html#gae7d90e14c387e49f10db597f12915c54',1,'hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream): hip_memory.cpp']]], + ['hipmodulegetfunction',['hipModuleGetFunction',['../group__Driver.html#ga9648b457bb837838cb936b417b56a65d',1,'hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname): hip_module.cpp'],['../group__Driver.html#ga9648b457bb837838cb936b417b56a65d',1,'hipModuleGetFunction(hipFunction_t *hfunc, hipModule_t hmod, const char *name): hip_module.cpp']]], + ['hipmodulegetglobal',['hipModuleGetGlobal',['../group__Driver.html#ga3e425a680285f495e776f096e9632c89',1,'hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name): hip_module.cpp'],['../group__Driver.html#ga3e425a680285f495e776f096e9632c89',1,'hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name): hip_module.cpp']]], + ['hipmodulelaunchkernel',['hipModuleLaunchKernel',['../group__Driver.html#ga2e4de5937aa8171e9eda16c881ed0674',1,'hip_runtime_api.h']]], + ['hipmoduleload',['hipModuleLoad',['../group__Driver.html#ga31d806d976e91d36bd990ae3004d8760',1,'hipModuleLoad(hipModule_t *module, const char *fname): hip_module.cpp'],['../group__Driver.html#ga31d806d976e91d36bd990ae3004d8760',1,'hipModuleLoad(hipModule_t *module, const char *fname): hip_module.cpp']]], + ['hipmoduleloaddata',['hipModuleLoadData',['../group__Driver.html#gaabdbd73e952a741e861d01109c4790f3',1,'hipModuleLoadData(hipModule_t *module, const void *image): hip_module.cpp'],['../group__Driver.html#gaabdbd73e952a741e861d01109c4790f3',1,'hipModuleLoadData(hipModule_t *module, const void *image): hip_module.cpp']]], + ['hipmoduleunload',['hipModuleUnload',['../group__Driver.html#gae58e345f55bb3ec13dca80d2df88e0ed',1,'hipModuleUnload(hipModule_t module): hip_module.cpp'],['../group__Driver.html#gae58e345f55bb3ec13dca80d2df88e0ed',1,'hipModuleUnload(hipModule_t hmod): hip_module.cpp']]], + ['hippeekatlasterror',['hipPeekAtLastError',['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hipPeekAtLastError(void): hip_error.cpp'],['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hipPeekAtLastError(): hip_error.cpp']]], + ['hippointergetattributes',['hipPointerGetAttributes',['../group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b',1,'hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr): hip_memory.cpp'],['../group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b',1,'hipPointerGetAttributes(hipPointerAttribute_t *attributes, void *ptr): hip_memory.cpp']]], + ['hipruntimegetversion',['hipRuntimeGetVersion',['../group__Driver.html#gae8b7ba34d2e11e334650aa51a4dd87ee',1,'hipRuntimeGetVersion(int *runtimeVersion): hip_context.cpp'],['../group__Driver.html#gae8b7ba34d2e11e334650aa51a4dd87ee',1,'hipRuntimeGetVersion(int *runtimeVersion): hip_context.cpp']]], + ['hipsetdevice',['hipSetDevice',['../group__Device.html#ga43c1e7f15925eeb762195ccb5e063eae',1,'hipSetDevice(int deviceId): hip_device.cpp'],['../group__Device.html#ga43c1e7f15925eeb762195ccb5e063eae',1,'hipSetDevice(int deviceId): hip_device.cpp']]], + ['hipsetdeviceflags',['hipSetDeviceFlags',['../group__Device.html#ga6e54db382768827e84725632018307aa',1,'hip_runtime_api.h']]], + ['hipstreamaddcallback',['hipStreamAddCallback',['../group__Stream.html#ga3e098cd7478828b2104abb41a7bb00d3',1,'hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#ga3e098cd7478828b2104abb41a7bb00d3',1,'hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags): hip_stream.cpp']]], + ['hipstreamcreate',['hipStreamCreate',['../group__Stream.html#gaff5b62d6e9502d80879f7176f4d03102',1,'hipStreamCreate(hipStream_t *stream): hip_stream.cpp'],['../group__Stream.html#gaff5b62d6e9502d80879f7176f4d03102',1,'hipStreamCreate(hipStream_t *stream): hip_stream.cpp']]], + ['hipstreamcreatewithflags',['hipStreamCreateWithFlags',['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_stream.cpp']]], + ['hipstreamdestroy',['hipStreamDestroy',['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_stream.cpp']]], + ['hipstreamgetflags',['hipStreamGetFlags',['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_stream.cpp'],['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_stream.cpp']]], + ['hipstreamquery',['hipStreamQuery',['../group__Stream.html#ga925b39ff78d3b5fd458bd9e2cade9f4e',1,'hipStreamQuery(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#ga925b39ff78d3b5fd458bd9e2cade9f4e',1,'hipStreamQuery(hipStream_t stream): hip_stream.cpp']]], + ['hipstreamsynchronize',['hipStreamSynchronize',['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_stream.cpp'],['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_stream.cpp']]], + ['hipstreamwaitevent',['hipStreamWaitEvent',['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_stream.cpp'],['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_stream.cpp']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_3.js b/docs/RuntimeAPI/html/search/groups_3.js index 529e9394c3..04e0d8aba5 100644 --- a/docs/RuntimeAPI/html/search/groups_3.js +++ b/docs/RuntimeAPI/html/search/groups_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['global_20enum_20and_20defines',['Global enum and defines',['../group__GlobalDefs.html',1,'']]] + ['fence_20functions',['Fence Functions',['../group__Fence.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/groups_4.js b/docs/RuntimeAPI/html/search/groups_4.js index 178e3f55de..529e9394c3 100644 --- a/docs/RuntimeAPI/html/search/groups_4.js +++ b/docs/RuntimeAPI/html/search/groups_4.js @@ -1,6 +1,4 @@ var searchData= [ - ['hip_20api',['HIP API',['../group__API.html',1,'']]], - ['hcc_2dspecific_20accessors',['HCC-Specific Accessors',['../group__HCC__Specific.html',1,'']]], - ['hip_20environment_20variables',['HIP Environment Variables',['../group__HIP-ENV.html',1,'']]] + ['global_20enum_20and_20defines',['Global enum and defines',['../group__GlobalDefs.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/groups_5.js b/docs/RuntimeAPI/html/search/groups_5.js index afbc383574..178e3f55de 100644 --- a/docs/RuntimeAPI/html/search/groups_5.js +++ b/docs/RuntimeAPI/html/search/groups_5.js @@ -1,5 +1,6 @@ var searchData= [ - ['memory_20management',['Memory Management',['../group__Memory.html',1,'']]], - ['management',['Management',['../group__Version.html',1,'']]] + ['hip_20api',['HIP API',['../group__API.html',1,'']]], + ['hcc_2dspecific_20accessors',['HCC-Specific Accessors',['../group__HCC__Specific.html',1,'']]], + ['hip_20environment_20variables',['HIP Environment Variables',['../group__HIP-ENV.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/groups_6.js b/docs/RuntimeAPI/html/search/groups_6.js index 7cc1c54c23..f99f43b337 100644 --- a/docs/RuntimeAPI/html/search/groups_6.js +++ b/docs/RuntimeAPI/html/search/groups_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['stream_20management',['Stream Management',['../group__Stream.html',1,'']]] + ['initialization_20and_20version',['Initialization and Version',['../group__Driver.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/groups_7.js b/docs/RuntimeAPI/html/search/groups_7.js index dec0aef6b9..0541757e52 100644 --- a/docs/RuntimeAPI/html/search/groups_7.js +++ b/docs/RuntimeAPI/html/search/groups_7.js @@ -1,4 +1,5 @@ var searchData= [ - ['texture_20reference_20management',['Texture Reference Management',['../group__Texture.html',1,'']]] + ['management',['Management',['../group__Context.html',1,'']]], + ['memory_20management',['Memory Management',['../group__Memory.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/groups_8.html b/docs/RuntimeAPI/html/search/groups_8.html new file mode 100644 index 0000000000..863d13654f --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/RuntimeAPI/html/search/groups_8.js b/docs/RuntimeAPI/html/search/groups_8.js new file mode 100644 index 0000000000..7cc1c54c23 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stream_20management',['Stream Management',['../group__Stream.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_9.html b/docs/RuntimeAPI/html/search/groups_9.html new file mode 100644 index 0000000000..e42b2804e7 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/RuntimeAPI/html/search/groups_9.js b/docs/RuntimeAPI/html/search/groups_9.js new file mode 100644 index 0000000000..dec0aef6b9 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['texture_20reference_20management',['Texture Reference Management',['../group__Texture.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/pages_1.js b/docs/RuntimeAPI/html/search/pages_1.js index 09f9fa0389..038da5410f 100644 --- a/docs/RuntimeAPI/html/search/pages_1.js +++ b/docs/RuntimeAPI/html/search/pages_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['heterogeneous_2dcomputing_20interface_20for_20portability_20_28hip_29',['Heterogeneous-computing Interface for Portability (HIP)',['../index.html',1,'']]] + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]] ]; diff --git a/docs/RuntimeAPI/html/search/pages_2.html b/docs/RuntimeAPI/html/search/pages_2.html new file mode 100644 index 0000000000..0711a0b418 --- /dev/null +++ b/docs/RuntimeAPI/html/search/pages_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/RuntimeAPI/html/search/pages_2.js b/docs/RuntimeAPI/html/search/pages_2.js new file mode 100644 index 0000000000..09f9fa0389 --- /dev/null +++ b/docs/RuntimeAPI/html/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['heterogeneous_2dcomputing_20interface_20for_20portability_20_28hip_29',['Heterogeneous-computing Interface for Portability (HIP)',['../index.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/related_0.html b/docs/RuntimeAPI/html/search/related_0.html new file mode 100644 index 0000000000..b6476349f4 --- /dev/null +++ b/docs/RuntimeAPI/html/search/related_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/RuntimeAPI/html/search/related_0.js b/docs/RuntimeAPI/html/search/related_0.js new file mode 100644 index 0000000000..6f5dc6598c --- /dev/null +++ b/docs/RuntimeAPI/html/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hipstreamquery',['hipStreamQuery',['../classihipStream__t.html#a46bba2e3bfbb0915a08fb608aed31858',1,'ihipStream_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/search.js b/docs/RuntimeAPI/html/search/search.js index 77b0b9afe9..eac82a0cb0 100644 --- a/docs/RuntimeAPI/html/search/search.js +++ b/docs/RuntimeAPI/html/search/search.js @@ -10,14 +10,15 @@ var indexSectionsWithContent = 0: "_abcdefghilmnprstwxyz", 1: "_dfhilst", 2: "h", - 3: "h", - 4: "achilmnprstwxyz", + 3: "_h", + 4: "_achilmnprstwxyz", 5: "dh", 6: "h", 7: "h", - 8: "_h", - 9: "cdeghmst", - 10: "bh" + 8: "h", + 9: "_h", + 10: "cdefghimst", + 11: "bdh" }; var indexSectionNames = @@ -30,9 +31,10 @@ var indexSectionNames = 5: "typedefs", 6: "enums", 7: "enumvalues", - 8: "defines", - 9: "groups", - 10: "pages" + 8: "related", + 9: "defines", + 10: "groups", + 11: "pages" }; function convertToId(search) diff --git a/docs/RuntimeAPI/html/search/typedefs_1.js b/docs/RuntimeAPI/html/search/typedefs_1.js index d1f66c753c..6dfafe4f45 100644 --- a/docs/RuntimeAPI/html/search/typedefs_1.js +++ b/docs/RuntimeAPI/html/search/typedefs_1.js @@ -2,5 +2,6 @@ var searchData= [ ['hipfunccache',['hipFuncCache',['../group__GlobalDefs.html#gaad15dc7939a0a25b16e4aa161fb41eee',1,'hip_runtime_api.h']]], ['hipmemcpykind',['hipMemcpyKind',['../group__GlobalDefs.html#ga0c04e67413ce030817361f02673e5c85',1,'hip_runtime_api.h']]], - ['hipsharedmemconfig',['hipSharedMemConfig',['../group__GlobalDefs.html#ga6b1ca424fa26a5fb718937d662eaee7f',1,'hip_runtime_api.h']]] + ['hipsharedmemconfig',['hipSharedMemConfig',['../group__GlobalDefs.html#ga6b1ca424fa26a5fb718937d662eaee7f',1,'hip_runtime_api.h']]], + ['hipstreamcallback_5ft',['hipStreamCallback_t',['../group__Stream.html#gadd389da2e3926a8ff17658d029015dcd',1,'hip_runtime_api.h']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_0.js b/docs/RuntimeAPI/html/search/variables_0.js index 2fba32867b..12df77b8fe 100644 --- a/docs/RuntimeAPI/html/search/variables_0.js +++ b/docs/RuntimeAPI/html/search/variables_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['arch',['arch',['../structhipDeviceProp__t.html#afc58158e44bef6ad26f2be401434b049',1,'hipDeviceProp_t']]] + ['_5fcomputeunits',['_computeUnits',['../classihipDevice__t.html#a655e03136394df32571a52707aa371c5',1,'ihipDevice_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_1.js b/docs/RuntimeAPI/html/search/variables_1.js index 82dc751418..2fba32867b 100644 --- a/docs/RuntimeAPI/html/search/variables_1.js +++ b/docs/RuntimeAPI/html/search/variables_1.js @@ -1,8 +1,4 @@ var searchData= [ - ['canmaphostmemory',['canMapHostMemory',['../structhipDeviceProp__t.html#ac2143f5448607d1a02a9e8783fcf06a1',1,'hipDeviceProp_t']]], - ['clockinstructionrate',['clockInstructionRate',['../structhipDeviceProp__t.html#a6fbf3b08a1a08ae700f1a06265f6666b',1,'hipDeviceProp_t']]], - ['clockrate',['clockRate',['../structhipDeviceProp__t.html#a1dd15bee43692b8649dfbdc1adbaaf96',1,'hipDeviceProp_t']]], - ['computemode',['computeMode',['../structhipDeviceProp__t.html#ae7d9216f8583a703359d0b9373823f5d',1,'hipDeviceProp_t']]], - ['concurrentkernels',['concurrentKernels',['../structhipDeviceProp__t.html#ad8461a28caf9c38c58cf358583b5bee3',1,'hipDeviceProp_t']]] + ['arch',['arch',['../structhipDeviceProp__t.html#afc58158e44bef6ad26f2be401434b049',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_2.js b/docs/RuntimeAPI/html/search/variables_2.js index 0fba3440bc..82dc751418 100644 --- a/docs/RuntimeAPI/html/search/variables_2.js +++ b/docs/RuntimeAPI/html/search/variables_2.js @@ -1,20 +1,8 @@ var searchData= [ - ['has3dgrid',['has3dGrid',['../structhipDeviceArch__t.html#aa5e22d295cce0d9a34ee6e7e7e378c26',1,'hipDeviceArch_t']]], - ['hasdoubles',['hasDoubles',['../structhipDeviceArch__t.html#a2d624e3d85e615b71d1182f8912893b4',1,'hipDeviceArch_t']]], - ['hasdynamicparallelism',['hasDynamicParallelism',['../structhipDeviceArch__t.html#a9114bfc718bf0648b54ff9a319a36b35',1,'hipDeviceArch_t']]], - ['hasfloatatomicadd',['hasFloatAtomicAdd',['../structhipDeviceArch__t.html#a2321d6ef74aac91c044f3289d25b2d41',1,'hipDeviceArch_t']]], - ['hasfunnelshift',['hasFunnelShift',['../structhipDeviceArch__t.html#aaec4f2d983d4602858fae8e9ddeee3ff',1,'hipDeviceArch_t']]], - ['hasglobalfloatatomicexch',['hasGlobalFloatAtomicExch',['../structhipDeviceArch__t.html#a8f213ae9a4729dff1c636ac5de0e2fa2',1,'hipDeviceArch_t']]], - ['hasglobalint32atomics',['hasGlobalInt32Atomics',['../structhipDeviceArch__t.html#a8d00c3ab98869b602c714fe7abe68e93',1,'hipDeviceArch_t']]], - ['hasglobalint64atomics',['hasGlobalInt64Atomics',['../structhipDeviceArch__t.html#ad5aa54dbab22dbcd8cf98f57a96c6636',1,'hipDeviceArch_t']]], - ['hassharedfloatatomicexch',['hasSharedFloatAtomicExch',['../structhipDeviceArch__t.html#aff005558b4edabd27b27f286ac5b2f2b',1,'hipDeviceArch_t']]], - ['hassharedint32atomics',['hasSharedInt32Atomics',['../structhipDeviceArch__t.html#a1596330b1cb9cc73f142aee11b2ab853',1,'hipDeviceArch_t']]], - ['hassharedint64atomics',['hasSharedInt64Atomics',['../structhipDeviceArch__t.html#a00c2b930fcdcad9ea7b54b449db13966',1,'hipDeviceArch_t']]], - ['hassurfacefuncs',['hasSurfaceFuncs',['../structhipDeviceArch__t.html#a9eb2462148686d4c048b69b6e09f835e',1,'hipDeviceArch_t']]], - ['hassyncthreadsext',['hasSyncThreadsExt',['../structhipDeviceArch__t.html#ade6a3b21ad5f344dcd92c52102c274ba',1,'hipDeviceArch_t']]], - ['hasthreadfencesystem',['hasThreadFenceSystem',['../structhipDeviceArch__t.html#ac2818e3b91cba8beb36741e9867bb887',1,'hipDeviceArch_t']]], - ['haswarpballot',['hasWarpBallot',['../structhipDeviceArch__t.html#af1e934a8a5106995bcc256287585564c',1,'hipDeviceArch_t']]], - ['haswarpshuffle',['hasWarpShuffle',['../structhipDeviceArch__t.html#a3d922e8fc97ca1e8ecc39600b138fa2d',1,'hipDeviceArch_t']]], - ['haswarpvote',['hasWarpVote',['../structhipDeviceArch__t.html#a35bde017352eca1d4e0eceb3bf79f274',1,'hipDeviceArch_t']]] + ['canmaphostmemory',['canMapHostMemory',['../structhipDeviceProp__t.html#ac2143f5448607d1a02a9e8783fcf06a1',1,'hipDeviceProp_t']]], + ['clockinstructionrate',['clockInstructionRate',['../structhipDeviceProp__t.html#a6fbf3b08a1a08ae700f1a06265f6666b',1,'hipDeviceProp_t']]], + ['clockrate',['clockRate',['../structhipDeviceProp__t.html#a1dd15bee43692b8649dfbdc1adbaaf96',1,'hipDeviceProp_t']]], + ['computemode',['computeMode',['../structhipDeviceProp__t.html#ae7d9216f8583a703359d0b9373823f5d',1,'hipDeviceProp_t']]], + ['concurrentkernels',['concurrentKernels',['../structhipDeviceProp__t.html#ad8461a28caf9c38c58cf358583b5bee3',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_3.js b/docs/RuntimeAPI/html/search/variables_3.js index 4ab03a0a54..0fba3440bc 100644 --- a/docs/RuntimeAPI/html/search/variables_3.js +++ b/docs/RuntimeAPI/html/search/variables_3.js @@ -1,4 +1,20 @@ var searchData= [ - ['ismultigpuboard',['isMultiGpuBoard',['../structhipDeviceProp__t.html#a9bb19b2b0cdee8977ed63964532d639d',1,'hipDeviceProp_t']]] + ['has3dgrid',['has3dGrid',['../structhipDeviceArch__t.html#aa5e22d295cce0d9a34ee6e7e7e378c26',1,'hipDeviceArch_t']]], + ['hasdoubles',['hasDoubles',['../structhipDeviceArch__t.html#a2d624e3d85e615b71d1182f8912893b4',1,'hipDeviceArch_t']]], + ['hasdynamicparallelism',['hasDynamicParallelism',['../structhipDeviceArch__t.html#a9114bfc718bf0648b54ff9a319a36b35',1,'hipDeviceArch_t']]], + ['hasfloatatomicadd',['hasFloatAtomicAdd',['../structhipDeviceArch__t.html#a2321d6ef74aac91c044f3289d25b2d41',1,'hipDeviceArch_t']]], + ['hasfunnelshift',['hasFunnelShift',['../structhipDeviceArch__t.html#aaec4f2d983d4602858fae8e9ddeee3ff',1,'hipDeviceArch_t']]], + ['hasglobalfloatatomicexch',['hasGlobalFloatAtomicExch',['../structhipDeviceArch__t.html#a8f213ae9a4729dff1c636ac5de0e2fa2',1,'hipDeviceArch_t']]], + ['hasglobalint32atomics',['hasGlobalInt32Atomics',['../structhipDeviceArch__t.html#a8d00c3ab98869b602c714fe7abe68e93',1,'hipDeviceArch_t']]], + ['hasglobalint64atomics',['hasGlobalInt64Atomics',['../structhipDeviceArch__t.html#ad5aa54dbab22dbcd8cf98f57a96c6636',1,'hipDeviceArch_t']]], + ['hassharedfloatatomicexch',['hasSharedFloatAtomicExch',['../structhipDeviceArch__t.html#aff005558b4edabd27b27f286ac5b2f2b',1,'hipDeviceArch_t']]], + ['hassharedint32atomics',['hasSharedInt32Atomics',['../structhipDeviceArch__t.html#a1596330b1cb9cc73f142aee11b2ab853',1,'hipDeviceArch_t']]], + ['hassharedint64atomics',['hasSharedInt64Atomics',['../structhipDeviceArch__t.html#a00c2b930fcdcad9ea7b54b449db13966',1,'hipDeviceArch_t']]], + ['hassurfacefuncs',['hasSurfaceFuncs',['../structhipDeviceArch__t.html#a9eb2462148686d4c048b69b6e09f835e',1,'hipDeviceArch_t']]], + ['hassyncthreadsext',['hasSyncThreadsExt',['../structhipDeviceArch__t.html#ade6a3b21ad5f344dcd92c52102c274ba',1,'hipDeviceArch_t']]], + ['hasthreadfencesystem',['hasThreadFenceSystem',['../structhipDeviceArch__t.html#ac2818e3b91cba8beb36741e9867bb887',1,'hipDeviceArch_t']]], + ['haswarpballot',['hasWarpBallot',['../structhipDeviceArch__t.html#af1e934a8a5106995bcc256287585564c',1,'hipDeviceArch_t']]], + ['haswarpshuffle',['hasWarpShuffle',['../structhipDeviceArch__t.html#a3d922e8fc97ca1e8ecc39600b138fa2d',1,'hipDeviceArch_t']]], + ['haswarpvote',['hasWarpVote',['../structhipDeviceArch__t.html#a35bde017352eca1d4e0eceb3bf79f274',1,'hipDeviceArch_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_4.js b/docs/RuntimeAPI/html/search/variables_4.js index 41a7c59602..4ab03a0a54 100644 --- a/docs/RuntimeAPI/html/search/variables_4.js +++ b/docs/RuntimeAPI/html/search/variables_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['l2cachesize',['l2CacheSize',['../structhipDeviceProp__t.html#a24404decccc16833973c803ced6f3a51',1,'hipDeviceProp_t']]] + ['ismultigpuboard',['isMultiGpuBoard',['../structhipDeviceProp__t.html#a9bb19b2b0cdee8977ed63964532d639d',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_5.js b/docs/RuntimeAPI/html/search/variables_5.js index 8fc226ebc6..41a7c59602 100644 --- a/docs/RuntimeAPI/html/search/variables_5.js +++ b/docs/RuntimeAPI/html/search/variables_5.js @@ -1,13 +1,4 @@ var searchData= [ - ['major',['major',['../structhipDeviceProp__t.html#aec9e4173c2e34cc232300c415dbd5e4f',1,'hipDeviceProp_t']]], - ['maxgridsize',['maxGridSize',['../structhipDeviceProp__t.html#ae529c23929f592120081fed31d877a55',1,'hipDeviceProp_t']]], - ['maxsharedmemorypermultiprocessor',['maxSharedMemoryPerMultiProcessor',['../structhipDeviceProp__t.html#aa1a32a7f387f6da845db7b228711fce8',1,'hipDeviceProp_t']]], - ['maxthreadsdim',['maxThreadsDim',['../structhipDeviceProp__t.html#a8ebba6fc12f80c9a9cf9b9193f0da465',1,'hipDeviceProp_t']]], - ['maxthreadsperblock',['maxThreadsPerBlock',['../structhipDeviceProp__t.html#af971cf1ca3ec1f68ad09036c0cc672e0',1,'hipDeviceProp_t']]], - ['maxthreadspermultiprocessor',['maxThreadsPerMultiProcessor',['../structhipDeviceProp__t.html#a23a39f4fd795addb3b125e9c3f6295ea',1,'hipDeviceProp_t']]], - ['memorybuswidth',['memoryBusWidth',['../structhipDeviceProp__t.html#a1d710ce8bd34daf66f892a66a2273132',1,'hipDeviceProp_t']]], - ['memoryclockrate',['memoryClockRate',['../structhipDeviceProp__t.html#a6db0ab8e7e8cc13c84d7bb7f70226d5e',1,'hipDeviceProp_t']]], - ['minor',['minor',['../structhipDeviceProp__t.html#abb51208e2509a7a1d107f0da69108938',1,'hipDeviceProp_t']]], - ['multiprocessorcount',['multiProcessorCount',['../structhipDeviceProp__t.html#add8d9d2ad52aece9fd1dbe25c18d9d57',1,'hipDeviceProp_t']]] + ['l2cachesize',['l2CacheSize',['../structhipDeviceProp__t.html#a24404decccc16833973c803ced6f3a51',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_6.js b/docs/RuntimeAPI/html/search/variables_6.js index 124bf0ddb8..8fc226ebc6 100644 --- a/docs/RuntimeAPI/html/search/variables_6.js +++ b/docs/RuntimeAPI/html/search/variables_6.js @@ -1,4 +1,13 @@ var searchData= [ - ['name',['name',['../structhipDeviceProp__t.html#a5b44bf8fa46faefcde989942b1d11a5e',1,'hipDeviceProp_t']]] + ['major',['major',['../structhipDeviceProp__t.html#aec9e4173c2e34cc232300c415dbd5e4f',1,'hipDeviceProp_t']]], + ['maxgridsize',['maxGridSize',['../structhipDeviceProp__t.html#ae529c23929f592120081fed31d877a55',1,'hipDeviceProp_t']]], + ['maxsharedmemorypermultiprocessor',['maxSharedMemoryPerMultiProcessor',['../structhipDeviceProp__t.html#aa1a32a7f387f6da845db7b228711fce8',1,'hipDeviceProp_t']]], + ['maxthreadsdim',['maxThreadsDim',['../structhipDeviceProp__t.html#a8ebba6fc12f80c9a9cf9b9193f0da465',1,'hipDeviceProp_t']]], + ['maxthreadsperblock',['maxThreadsPerBlock',['../structhipDeviceProp__t.html#af971cf1ca3ec1f68ad09036c0cc672e0',1,'hipDeviceProp_t']]], + ['maxthreadspermultiprocessor',['maxThreadsPerMultiProcessor',['../structhipDeviceProp__t.html#a23a39f4fd795addb3b125e9c3f6295ea',1,'hipDeviceProp_t']]], + ['memorybuswidth',['memoryBusWidth',['../structhipDeviceProp__t.html#a1d710ce8bd34daf66f892a66a2273132',1,'hipDeviceProp_t']]], + ['memoryclockrate',['memoryClockRate',['../structhipDeviceProp__t.html#a6db0ab8e7e8cc13c84d7bb7f70226d5e',1,'hipDeviceProp_t']]], + ['minor',['minor',['../structhipDeviceProp__t.html#abb51208e2509a7a1d107f0da69108938',1,'hipDeviceProp_t']]], + ['multiprocessorcount',['multiProcessorCount',['../structhipDeviceProp__t.html#add8d9d2ad52aece9fd1dbe25c18d9d57',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_7.js b/docs/RuntimeAPI/html/search/variables_7.js index 71b6a5df56..124bf0ddb8 100644 --- a/docs/RuntimeAPI/html/search/variables_7.js +++ b/docs/RuntimeAPI/html/search/variables_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['pcibusid',['pciBusID',['../structhipDeviceProp__t.html#a1350f64d49b717ed3a06458f7549ccb0',1,'hipDeviceProp_t']]], - ['pcideviceid',['pciDeviceID',['../structhipDeviceProp__t.html#ae6aa845dc2d540f85098ea30be35f4eb',1,'hipDeviceProp_t']]] + ['name',['name',['../structhipDeviceProp__t.html#a5b44bf8fa46faefcde989942b1d11a5e',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_8.js b/docs/RuntimeAPI/html/search/variables_8.js index 44ba50e0b7..71b6a5df56 100644 --- a/docs/RuntimeAPI/html/search/variables_8.js +++ b/docs/RuntimeAPI/html/search/variables_8.js @@ -1,4 +1,5 @@ var searchData= [ - ['regsperblock',['regsPerBlock',['../structhipDeviceProp__t.html#a73c1c21648a901799ff6bef83c11135b',1,'hipDeviceProp_t']]] + ['pcibusid',['pciBusID',['../structhipDeviceProp__t.html#a1350f64d49b717ed3a06458f7549ccb0',1,'hipDeviceProp_t']]], + ['pcideviceid',['pciDeviceID',['../structhipDeviceProp__t.html#ae6aa845dc2d540f85098ea30be35f4eb',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_9.js b/docs/RuntimeAPI/html/search/variables_9.js index a582d60c6a..44ba50e0b7 100644 --- a/docs/RuntimeAPI/html/search/variables_9.js +++ b/docs/RuntimeAPI/html/search/variables_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['sharedmemperblock',['sharedMemPerBlock',['../structhipDeviceProp__t.html#a3b9138678a0795c2677eddcfb1c67156',1,'hipDeviceProp_t']]] + ['regsperblock',['regsPerBlock',['../structhipDeviceProp__t.html#a73c1c21648a901799ff6bef83c11135b',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_a.js b/docs/RuntimeAPI/html/search/variables_a.js index b356d6e142..a582d60c6a 100644 --- a/docs/RuntimeAPI/html/search/variables_a.js +++ b/docs/RuntimeAPI/html/search/variables_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['totalconstmem',['totalConstMem',['../structhipDeviceProp__t.html#a29880232c56120be3455ce00d5379665',1,'hipDeviceProp_t']]], - ['totalglobalmem',['totalGlobalMem',['../structhipDeviceProp__t.html#acedd6a2d23423441e4bf51c4a1b719f9',1,'hipDeviceProp_t']]] + ['sharedmemperblock',['sharedMemPerBlock',['../structhipDeviceProp__t.html#a3b9138678a0795c2677eddcfb1c67156',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_b.js b/docs/RuntimeAPI/html/search/variables_b.js index 46a1400a7b..b356d6e142 100644 --- a/docs/RuntimeAPI/html/search/variables_b.js +++ b/docs/RuntimeAPI/html/search/variables_b.js @@ -1,4 +1,5 @@ var searchData= [ - ['warpsize',['warpSize',['../structhipDeviceProp__t.html#af3357d33c004608bf05bc21a352be81b',1,'hipDeviceProp_t']]] + ['totalconstmem',['totalConstMem',['../structhipDeviceProp__t.html#a29880232c56120be3455ce00d5379665',1,'hipDeviceProp_t']]], + ['totalglobalmem',['totalGlobalMem',['../structhipDeviceProp__t.html#acedd6a2d23423441e4bf51c4a1b719f9',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_c.js b/docs/RuntimeAPI/html/search/variables_c.js index 250c203caf..46a1400a7b 100644 --- a/docs/RuntimeAPI/html/search/variables_c.js +++ b/docs/RuntimeAPI/html/search/variables_c.js @@ -1,4 +1,4 @@ var searchData= [ - ['x',['x',['../structdim3.html#ac866c05f83a28dac20a153fc65b3b16c',1,'dim3']]] + ['warpsize',['warpSize',['../structhipDeviceProp__t.html#af3357d33c004608bf05bc21a352be81b',1,'hipDeviceProp_t']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_d.js b/docs/RuntimeAPI/html/search/variables_d.js index 133dd9dc6e..250c203caf 100644 --- a/docs/RuntimeAPI/html/search/variables_d.js +++ b/docs/RuntimeAPI/html/search/variables_d.js @@ -1,4 +1,4 @@ var searchData= [ - ['y',['y',['../structdim3.html#a83e60e072f7e8bdfde6ac05053cbb370',1,'dim3']]] + ['x',['x',['../structdim3.html#ac866c05f83a28dac20a153fc65b3b16c',1,'dim3']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_e.js b/docs/RuntimeAPI/html/search/variables_e.js index e8bf38b99c..133dd9dc6e 100644 --- a/docs/RuntimeAPI/html/search/variables_e.js +++ b/docs/RuntimeAPI/html/search/variables_e.js @@ -1,4 +1,4 @@ var searchData= [ - ['z',['z',['../structdim3.html#a866e38993ecc4e76fd47311236c16b04',1,'dim3']]] + ['y',['y',['../structdim3.html#a83e60e072f7e8bdfde6ac05053cbb370',1,'dim3']]] ]; diff --git a/docs/RuntimeAPI/html/search/variables_f.html b/docs/RuntimeAPI/html/search/variables_f.html new file mode 100644 index 0000000000..537dd7c28e --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/RuntimeAPI/html/search/variables_f.js b/docs/RuntimeAPI/html/search/variables_f.js new file mode 100644 index 0000000000..e8bf38b99c --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z',['z',['../structdim3.html#a866e38993ecc4e76fd47311236c16b04',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/structDbName-members.html b/docs/RuntimeAPI/html/structDbName-members.html new file mode 100644 index 0000000000..2aa02cdf32 --- /dev/null +++ b/docs/RuntimeAPI/html/structDbName-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    +
    +
    DbName Member List
    +
    +
    + +

    This is the complete list of members for DbName, including all inherited members.

    + + + +
    _color (defined in DbName)DbName
    _shortName (defined in DbName)DbName
    + + + + diff --git a/docs/RuntimeAPI/html/structDbName.html b/docs/RuntimeAPI/html/structDbName.html new file mode 100644 index 0000000000..a07a07effe --- /dev/null +++ b/docs/RuntimeAPI/html/structDbName.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: DbName Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    DbName Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +const char * _color
     
    +const char * _shortName
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/RuntimeAPI/html/structLockedBase-members.html b/docs/RuntimeAPI/html/structLockedBase-members.html index 5eb2b349de..853405e470 100644 --- a/docs/RuntimeAPI/html/structLockedBase-members.html +++ b/docs/RuntimeAPI/html/structLockedBase-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -96,7 +96,7 @@
    diff --git a/docs/RuntimeAPI/html/structLockedBase.html b/docs/RuntimeAPI/html/structLockedBase.html index f61ba5bd1e..7fa536242c 100644 --- a/docs/RuntimeAPI/html/structLockedBase.html +++ b/docs/RuntimeAPI/html/structLockedBase.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -97,8 +97,8 @@
    -ihipDeviceCriticalBase_t< MUTEX_TYPE > -ihipStreamCriticalBase_t< MUTEX_TYPE > +ihipCtxCriticalBase_t< MUTEX_TYPE > +ihipStreamCriticalBase_t< MUTEX_TYPE >
    @@ -118,12 +118,12 @@
     

    The documentation for this struct was generated from the following file: diff --git a/docs/RuntimeAPI/html/structLockedBase.png b/docs/RuntimeAPI/html/structLockedBase.png index 9677c74a19104743508958b80c33a8346628c6b0..41977d7d5872321ae5be79d6c0c76c16574a9f5c 100644 GIT binary patch delta 1104 zcmbQm`HMrbGr-TCmrII^fq{Y7)59f*fq{tw$PVCO29n+hwT~t$TGw-Wx;TbZFut98 zyJ)omkE{46$$$SR`wP`f)Soipf~Usr$9Eeh_NwYG32*4np0(`dA*Km(3Jft}OpXgD zd~c9uVssGVV3_2Yy=iQ(3hVh%H z!XGsb|2*m7>Bjf|c#B{4d$%#V{#%t5>!H^QNAmUSx(y>U*D)mGj1Lsv zvL0OiKk(dY%lV<^uY+ebdSur#DBgO*lo;MGz~SByu%;vd?&RlOwpb7 z_^GqV?pt;0Tucum1g6>iaM!dynP#{$XbRVA?kM7S#XcPI)ls5CMtaI!FX zDlm9(wK`}loUtr(*E$B32L5ce2@LCW8yV^q&TjT#*s+I&siEYtg9<}TEHFrSEoM+) zjEP1BE>Knl#V}ytc$=L6taJB2gWj5YhDoP{fC@qc!Rmk>F$ZFmP>8)uj-rl0>wy$w zfwL&1Ly#-O1gN@wY%TQyPCGX2QxhoWP^<}HG2VRoRC7XFStKV*qk;fSlY;<9+Ou{b znXTZ{FS!2Ho44!dbs6XNZa;td-kCFN!arNwUBNA;*F)0ZEAYdv}I%$r?R z0&VZU-tPl@x$TWuXA@T*>OCt{$|>}Fs(xx zmHxREk7le1ZTZ4DWp&q&mZ)8I6L!u~m72nPN%3;?CyV!)X{meOl+3H+Zjry!KmXpR z+DiS$yU)o?78NLp)DHLE`?=k0_MH{=e;A`y|2netPv}Ki%h<*rOD;c7vSC|TYOj7s z_3&St0?SIDYg&g6bZUv5oylJFBtWcw*XpoqITx%sqyH#nErI+`f_Fv*m-V`es#C+=LhLzbjExv8E__^cj--4N)w|{EgShk|8?CSrZ`q$Bqx-OUQ zG&RoN8Y%dx^0N7>^YMF1)NRsz*c4_&O4_$yJoDzxD@TLPM*nvGzR!4w>A7@%MRoIg z=7-6Kfvy3r6bP0l+XkK(^}(Z delta 1136 zcmeyxF^f~NGr-TCmrII^fq{Y7)59f*fq@Cc4&Y!0lKxZI-k+#wU9ais;uuoF_;&8w zX`5_#T+Lr@-t*tPF7(&LDN06%b)G&w^Gb4S%cXfallC*rzi#4tc`B>ISq+Ama3{yO z7e5#rofsV^i9^}>)rLGVKKIm@9hX1Q=5^-rw4a|VpZ~r0XQJ|}sINu;mk9B12zGkt zA6QX*bIzVwpWns*6bh>^ntnHT|B2-RKUleb{yqIZ*)M!1x5k#6-yU;_yxJ1LVBu38 z_<_NuyK2Vg%F@ktD@8kt-gAo-ozWBdR?4-ofP?F8Z~xBnUTc#-JA+Cx1mnn^V6lWZKR@i(6A{vOK;& zSyi;tbWW7lu4P6}3+;pwrnfZhx$u#(>D+^(f3E#M>DLP3wlFoQ=tHHT?9WNFmc2a0 zG=afxopeJzOF=0oE5l2_L%uo;9>CC?J zI~9RsfB;w8GdI`7s=hzE|9$)IjW@5jIE8yocod86vtzIKM(qBh!|nH3>U-!X_r45% z{pr8cr&SnpCwCq?(OGn$_wM|g9RZ?lv+EvzX+Ch#_N_pDT3Yri*%RuV=EqaTBteNG zyI(e}HB^1u8Hj7g|@C?ToZ7QaJvm=)g}K zw}s`4mK|DpxYnkz-f}0<7Kt~1k4Cy_d`a)lyUwRx zc4*>E`FQca%hZkS{j!hj)|isI>&f$4Vk-wWS-viGvo#>H9{X0@RaoAyLm?b>DWDzI!)Al4-loD9=5vpAMUL&1mVNugZB1C~x|G(uDf+EHKkYV|Vwd5z ztL-dfVeipp^I~_c8XUF0R lL0;n1oE4W&(OdJMVb - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -94,7 +94,7 @@
    diff --git a/docs/RuntimeAPI/html/struct____half.html b/docs/RuntimeAPI/html/struct____half.html index 5ad2d7175a..f0342e79f3 100644 --- a/docs/RuntimeAPI/html/struct____half.html +++ b/docs/RuntimeAPI/html/struct____half.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -98,12 +98,12 @@  
    The documentation for this struct was generated from the following file:
      -
    • /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_fp16.h
    • +
    • /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_fp16.h
    diff --git a/docs/RuntimeAPI/html/structdim3-members.html b/docs/RuntimeAPI/html/structdim3-members.html index de47f18040..20b4c9aad4 100644 --- a/docs/RuntimeAPI/html/structdim3-members.html +++ b/docs/RuntimeAPI/html/structdim3-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -96,7 +96,7 @@
    diff --git a/docs/RuntimeAPI/html/structdim3.html b/docs/RuntimeAPI/html/structdim3.html index fac087d090..50624da7f9 100644 --- a/docs/RuntimeAPI/html/structdim3.html +++ b/docs/RuntimeAPI/html/structdim3.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -111,12 +111,12 @@

    Detailed Description

    Struct for data in 3D


    The documentation for this struct was generated from the following file:
    diff --git a/docs/RuntimeAPI/html/structhipArray-members.html b/docs/RuntimeAPI/html/structhipArray-members.html index 2acb651278..20cb163984 100644 --- a/docs/RuntimeAPI/html/structhipArray-members.html +++ b/docs/RuntimeAPI/html/structhipArray-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -97,7 +97,7 @@
    diff --git a/docs/RuntimeAPI/html/structhipArray.html b/docs/RuntimeAPI/html/structhipArray.html index 07f706d8a7..f33027c241 100644 --- a/docs/RuntimeAPI/html/structhipArray.html +++ b/docs/RuntimeAPI/html/structhipArray.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -107,12 +107,12 @@  
    The documentation for this struct was generated from the following file:
      -
    • /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_texture.h
    • +
    • /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_texture.h
    diff --git a/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html b/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html index 0705a7e2fe..f9bbb29106 100644 --- a/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html +++ b/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -98,7 +98,7 @@
    diff --git a/docs/RuntimeAPI/html/structhipChannelFormatDesc.html b/docs/RuntimeAPI/html/structhipChannelFormatDesc.html index 6a7a117264..2d72fb1cb8 100644 --- a/docs/RuntimeAPI/html/structhipChannelFormatDesc.html +++ b/docs/RuntimeAPI/html/structhipChannelFormatDesc.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -110,12 +110,12 @@  
    The documentation for this struct was generated from the following file:
      -
    • /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_texture.h
    • +
    • /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_texture.h
    diff --git a/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html b/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html index c6d009dc33..71dd2af89a 100644 --- a/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html +++ b/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -110,7 +110,7 @@
    diff --git a/docs/RuntimeAPI/html/structhipDeviceArch__t.html b/docs/RuntimeAPI/html/structhipDeviceArch__t.html index 2c755178a7..b78d52eda5 100644 --- a/docs/RuntimeAPI/html/structhipDeviceArch__t.html +++ b/docs/RuntimeAPI/html/structhipDeviceArch__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -163,12 +163,12 @@  
    The documentation for this struct was generated from the following file:
    diff --git a/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html b/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html index 9f673366cf..74edb1a4c6 100644 --- a/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html +++ b/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -119,7 +119,7 @@
    diff --git a/docs/RuntimeAPI/html/structhipDeviceProp__t.html b/docs/RuntimeAPI/html/structhipDeviceProp__t.html index 78cbcc932c..d29c3572c7 100644 --- a/docs/RuntimeAPI/html/structhipDeviceProp__t.html +++ b/docs/RuntimeAPI/html/structhipDeviceProp__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -203,12 +203,12 @@

    Detailed Description

    hipDeviceProp


    The documentation for this struct was generated from the following file:
    diff --git a/docs/RuntimeAPI/html/structhipDoubleComplex-members.html b/docs/RuntimeAPI/html/structhipDoubleComplex-members.html new file mode 100644 index 0000000000..3992ba9930 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipDoubleComplex-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    +
    +
    hipDoubleComplex Member List
    +
    +
    + +

    This is the complete list of members for hipDoubleComplex, including all inherited members.

    + + + +
    x (defined in hipDoubleComplex)hipDoubleComplex
    y (defined in hipDoubleComplex)hipDoubleComplex
    + + + + diff --git a/docs/RuntimeAPI/html/structhipDoubleComplex.html b/docs/RuntimeAPI/html/structhipDoubleComplex.html new file mode 100644 index 0000000000..b06eb4cae1 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipDoubleComplex.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: hipDoubleComplex Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    hipDoubleComplex Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +double x
     
    +double y
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_complex.h
    • +
    +
    + + + + diff --git a/docs/RuntimeAPI/html/structhipFloatComplex-members.html b/docs/RuntimeAPI/html/structhipFloatComplex-members.html new file mode 100644 index 0000000000..09cd513f69 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipFloatComplex-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    +
    +
    hipFloatComplex Member List
    +
    +
    + +

    This is the complete list of members for hipFloatComplex, including all inherited members.

    + + + +
    x (defined in hipFloatComplex)hipFloatComplex
    y (defined in hipFloatComplex)hipFloatComplex
    + + + + diff --git a/docs/RuntimeAPI/html/structhipFloatComplex.html b/docs/RuntimeAPI/html/structhipFloatComplex.html new file mode 100644 index 0000000000..ffae1d9d37 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipFloatComplex.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: hipFloatComplex Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    HIP: Heterogenous-computing Interface for Portability +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    hipFloatComplex Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +float x
     
    +float y
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_complex.h
    • +
    +
    + + + + diff --git a/docs/RuntimeAPI/html/structhipPointerAttribute__t-members.html b/docs/RuntimeAPI/html/structhipPointerAttribute__t-members.html index d26c3c2e72..d8e5170a5c 100644 --- a/docs/RuntimeAPI/html/structhipPointerAttribute__t-members.html +++ b/docs/RuntimeAPI/html/structhipPointerAttribute__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -99,7 +99,7 @@
    diff --git a/docs/RuntimeAPI/html/structhipPointerAttribute__t.html b/docs/RuntimeAPI/html/structhipPointerAttribute__t.html index 0186ebfc7d..884d5c2d1b 100644 --- a/docs/RuntimeAPI/html/structhipPointerAttribute__t.html +++ b/docs/RuntimeAPI/html/structhipPointerAttribute__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -117,12 +117,12 @@

    Detailed Description

    Pointer attributes


    The documentation for this struct was generated from the following file:
    diff --git a/docs/RuntimeAPI/html/structihipEvent__t-members.html b/docs/RuntimeAPI/html/structihipEvent__t-members.html index a0eecfdb17..66d8386a48 100644 --- a/docs/RuntimeAPI/html/structihipEvent__t-members.html +++ b/docs/RuntimeAPI/html/structihipEvent__t-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -90,16 +90,15 @@

    This is the complete list of members for ihipEvent_t, including all inherited members.

    - - - - - - + + + + +
    _copy_seq_id (defined in ihipEvent_t)ihipEvent_t
    _flags (defined in ihipEvent_t)ihipEvent_t
    _marker (defined in ihipEvent_t)ihipEvent_t
    _state (defined in ihipEvent_t)ihipEvent_t
    _stream (defined in ihipEvent_t)ihipEvent_t
    _timestamp (defined in ihipEvent_t)ihipEvent_t
    _flags (defined in ihipEvent_t)ihipEvent_t
    _marker (defined in ihipEvent_t)ihipEvent_t
    _state (defined in ihipEvent_t)ihipEvent_t
    _stream (defined in ihipEvent_t)ihipEvent_t
    _timestamp (defined in ihipEvent_t)ihipEvent_t
    diff --git a/docs/RuntimeAPI/html/structihipEvent__t.html b/docs/RuntimeAPI/html/structihipEvent__t.html index bd80b63689..81da12e7ab 100644 --- a/docs/RuntimeAPI/html/structihipEvent__t.html +++ b/docs/RuntimeAPI/html/structihipEvent__t.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -97,7 +97,7 @@ hipEventStatus_t _state   -hipStream_t _stream +hipStream_t _stream   unsigned _flags @@ -108,17 +108,14 @@ uint64_t _timestamp   - -SIGSEQNUM _copy_seq_id
    The documentation for this struct was generated from the following file:
      -
    • /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_hcc.h
    • +
    • /home/mangupta/git/hip/hip/src/hip_hcc.h
    diff --git a/docs/RuntimeAPI/html/structstruct__float-members.html b/docs/RuntimeAPI/html/structstruct__float-members.html index 0d43e24bc5..b45f2a408a 100644 --- a/docs/RuntimeAPI/html/structstruct__float-members.html +++ b/docs/RuntimeAPI/html/structstruct__float-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -95,7 +95,7 @@
    diff --git a/docs/RuntimeAPI/html/structstruct__float.html b/docs/RuntimeAPI/html/structstruct__float.html index 5fd0746f36..9a12e3f466 100644 --- a/docs/RuntimeAPI/html/structstruct__float.html +++ b/docs/RuntimeAPI/html/structstruct__float.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -93,24 +93,24 @@ - - - - + - - - + + +

    Public Attributes

    +
    union {
    +
       float   f
     
    +
     
       unsigned   u
     
    }; 
     
     
    }; 
     

    The documentation for this struct was generated from the following file:
      -
    • /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_fp16.h
    • +
    • /home/mangupta/git/hip/hip/src/hip_fp16.cpp
    diff --git a/docs/RuntimeAPI/html/structtextureReference-members.html b/docs/RuntimeAPI/html/structtextureReference-members.html index 15aa857fec..5713852266 100644 --- a/docs/RuntimeAPI/html/structtextureReference-members.html +++ b/docs/RuntimeAPI/html/structtextureReference-members.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -96,7 +96,7 @@
    diff --git a/docs/RuntimeAPI/html/structtextureReference.html b/docs/RuntimeAPI/html/structtextureReference.html index 8575ad4166..e062cb69cb 100644 --- a/docs/RuntimeAPI/html/structtextureReference.html +++ b/docs/RuntimeAPI/html/structtextureReference.html @@ -72,7 +72,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -104,12 +104,12 @@  
    The documentation for this struct was generated from the following file:
      -
    • /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/hip_texture.h
    • +
    • /home/mangupta/git/hip/hip/include/hip/hcc_detail/hip_texture.h
    diff --git a/docs/RuntimeAPI/html/trace__helper_8h_source.html b/docs/RuntimeAPI/html/trace__helper_8h_source.html index aa162765aa..1d926de342 100644 --- a/docs/RuntimeAPI/html/trace__helper_8h_source.html +++ b/docs/RuntimeAPI/html/trace__helper_8h_source.html @@ -4,7 +4,7 @@ -HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/release/release_0.92.00/include/hcc_detail/trace_helper.h Source File +HIP: Heterogenous-computing Interface for Portability: /home/mangupta/git/hip/hip/src/trace_helper.h Source File @@ -70,7 +70,7 @@ onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages + All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
    @@ -81,7 +81,7 @@
    @@ -91,139 +91,146 @@
    1 /*
    2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
    -
    3 Permission is hereby granted, free of charge, to any person obtaining a copy
    -
    4 of this software and associated documentation files (the "Software"), to deal
    -
    5 in the Software without restriction, including without limitation the rights
    -
    6 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -
    7 copies of the Software, and to permit persons to whom the Software is
    -
    8 furnished to do so, subject to the following conditions:
    -
    9 The above copyright notice and this permission notice shall be included in
    -
    10 all copies or substantial portions of the Software.
    -
    11 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
    -
    12 IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -
    13 FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -
    14 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
    -
    15 LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -
    16 OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -
    17 THE SOFTWARE.
    -
    18 */
    -
    19 //#pragma once
    -
    20 
    -
    21 #ifndef TRACE_HELPER_H
    -
    22 #define TRACE_HELPER_H
    -
    23 
    -
    24 #include <iostream>
    -
    25 #include <iomanip>
    -
    26 #include <string>
    -
    27 
    -
    28 //---
    -
    29 // Helper functions to convert HIP function arguments into strings.
    -
    30 // Handles POD data types as well as enumerations (ie hipMemcpyKind).
    -
    31 // The implementation uses C++11 variadic templates and template specialization.
    -
    32 // The hipMemcpyKind example below is a good example that shows how to implement conversion for a new HSA type.
    -
    33 
    -
    34 
    -
    35 // Handy macro to convert an enumeration to a stringified version of same:
    -
    36 #define CASE_STR(x) case x: return #x;
    -
    37 
    +
    3 
    +
    4 Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    5 of this software and associated documentation files (the "Software"), to deal
    +
    6 in the Software without restriction, including without limitation the rights
    +
    7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    8 copies of the Software, and to permit persons to whom the Software is
    +
    9 furnished to do so, subject to the following conditions:
    +
    10 
    +
    11 The above copyright notice and this permission notice shall be included in
    +
    12 all copies or substantial portions of the Software.
    +
    13 
    +
    14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +
    20 THE SOFTWARE.
    +
    21 */
    +
    22 
    +
    23 //#pragma once
    +
    24 
    +
    25 #ifndef TRACE_HELPER_H
    +
    26 #define TRACE_HELPER_H
    +
    27 
    +
    28 #include <iostream>
    +
    29 #include <iomanip>
    +
    30 #include <string>
    +
    31 
    +
    32 //---
    +
    33 // Helper functions to convert HIP function arguments into strings.
    +
    34 // Handles POD data types as well as enumerations (ie hipMemcpyKind).
    +
    35 // The implementation uses C++11 variadic templates and template specialization.
    +
    36 // The hipMemcpyKind example below is a good example that shows how to implement conversion for a new HSA type.
    +
    37 
    38 
    -
    39 // Building block functions:
    -
    40 template <typename T>
    -
    41 inline std::string ToHexString(T v)
    -
    42 {
    -
    43  std::ostringstream ss;
    -
    44  ss << "0x" << std::hex << v;
    -
    45  return ss.str();
    -
    46 };
    -
    47 
    -
    48 
    -
    49 //---
    -
    50 // Template overloads for ToString to handle specific types
    +
    39 // Handy macro to convert an enumeration to a stringified version of same:
    +
    40 #define CASE_STR(x) case x: return #x;
    +
    41 
    +
    42 
    +
    43 // Building block functions:
    +
    44 template <typename T>
    +
    45 inline std::string ToHexString(T v)
    +
    46 {
    +
    47  std::ostringstream ss;
    +
    48  ss << "0x" << std::hex << v;
    +
    49  return ss.str();
    +
    50 };
    51 
    -
    52 // This is the default which works for most types:
    -
    53 template <typename T>
    -
    54 inline std::string ToString(T v)
    -
    55 {
    -
    56  std::ostringstream ss;
    -
    57  ss << v;
    -
    58  return ss.str();
    -
    59 };
    -
    60 
    -
    61 
    -
    62 // hipEvent_t specialization. TODO - maybe add an event ID for debug?
    -
    63 template <>
    -
    64 inline std::string ToString(hipEvent_t v)
    -
    65 {
    -
    66  return ToString(&v);
    -
    67 };
    -
    68 
    -
    69 
    -
    70 
    -
    71 // hipStream_t
    -
    72 template <>
    -
    73 inline std::string ToString(hipStream_t v)
    -
    74 {
    -
    75  std::ostringstream ss;
    -
    76  if (v == NULL) {
    -
    77  ss << "stream:<null>";
    -
    78  } else {
    -
    79  ss << *v;
    -
    80  }
    -
    81 
    -
    82  return ss.str();
    -
    83 };
    -
    84 
    -
    85 // hipMemcpyKind specialization
    -
    86 template <>
    -
    87 inline std::string ToString(hipMemcpyKind v)
    -
    88 {
    -
    89  switch(v) {
    -
    90  CASE_STR(hipMemcpyHostToHost);
    -
    91  CASE_STR(hipMemcpyHostToDevice);
    -
    92  CASE_STR(hipMemcpyDeviceToHost);
    -
    93  CASE_STR(hipMemcpyDeviceToDevice);
    -
    94  CASE_STR(hipMemcpyDefault);
    -
    95  default : return ToHexString(v);
    -
    96  };
    -
    97 };
    -
    98 
    -
    99 
    -
    100 template <>
    -
    101 inline std::string ToString(hipError_t v)
    -
    102 {
    -
    103  return ihipErrorString(v);
    -
    104 };
    +
    52 
    +
    53 //---
    +
    54 // Template overloads for ToString to handle specific types
    +
    55 
    +
    56 // This is the default which works for most types:
    +
    57 template <typename T>
    +
    58 inline std::string ToString(T v)
    +
    59 {
    +
    60  std::ostringstream ss;
    +
    61  ss << v;
    +
    62  return ss.str();
    +
    63 };
    +
    64 
    +
    65 
    +
    66 // hipEvent_t specialization. TODO - maybe add an event ID for debug?
    +
    67 template <>
    +
    68 inline std::string ToString(hipEvent_t v)
    +
    69 {
    +
    70  std::ostringstream ss;
    +
    71  ss << v;
    +
    72  return ss.str();
    +
    73 };
    +
    74 
    +
    75 
    +
    76 
    +
    77 // hipStream_t
    +
    78 template <>
    +
    79 inline std::string ToString(hipStream_t v)
    +
    80 {
    +
    81  std::ostringstream ss;
    +
    82  if (v == NULL) {
    +
    83  ss << "stream:<null>";
    +
    84  } else {
    +
    85  ss << *v;
    +
    86  }
    +
    87 
    +
    88  return ss.str();
    +
    89 };
    +
    90 
    +
    91 // hipMemcpyKind specialization
    +
    92 template <>
    +
    93 inline std::string ToString(hipMemcpyKind v)
    +
    94 {
    +
    95  switch(v) {
    +
    96  CASE_STR(hipMemcpyHostToHost);
    +
    97  CASE_STR(hipMemcpyHostToDevice);
    +
    98  CASE_STR(hipMemcpyDeviceToHost);
    +
    99  CASE_STR(hipMemcpyDeviceToDevice);
    +
    100  CASE_STR(hipMemcpyDefault);
    +
    101  default : return ToHexString(v);
    +
    102  };
    +
    103 };
    +
    104 
    105 
    -
    106 
    -
    107 // Catch empty arguments case
    -
    108 inline std::string ToString()
    -
    109 {
    -
    110  return ("");
    -
    111 }
    +
    106 template <>
    +
    107 inline std::string ToString(hipError_t v)
    +
    108 {
    +
    109  return ihipErrorString(v);
    +
    110 };
    +
    111 
    112 
    -
    113 
    -
    114 //---
    -
    115 // C++11 variadic template - peels off first argument, converts to string, and calls itself again to peel the next arg.
    -
    116 // Strings are automatically separated by comma+space.
    -
    117 template <typename T, typename... Args>
    -
    118 inline std::string ToString(T first, Args... args)
    -
    119 {
    -
    120  return ToString(first) + ", " + ToString(args...) ;
    -
    121 }
    -
    122 
    -
    123 #endif
    -
    Host-to-Device Copy.
    Definition: hip_runtime_api.h:130
    -
    Device-to-Host Copy.
    Definition: hip_runtime_api.h:131
    -
    hipError_t
    Definition: hip_runtime_api.h:144
    -
    hipMemcpyKind
    Definition: hip_runtime_api.h:128
    -
    Definition: hip_runtime_api.h:47
    -
    Device-to-Device Copy.
    Definition: hip_runtime_api.h:132
    -
    Runtime will automatically determine copy-kind based on virtual addresses.
    Definition: hip_runtime_api.h:133
    -
    Host-to-Host Copy.
    Definition: hip_runtime_api.h:129
    +
    113 // Catch empty arguments case
    +
    114 inline std::string ToString()
    +
    115 {
    +
    116  return ("");
    +
    117 }
    +
    118 
    +
    119 
    +
    120 //---
    +
    121 // C++11 variadic template - peels off first argument, converts to string, and calls itself again to peel the next arg.
    +
    122 // Strings are automatically separated by comma+space.
    +
    123 template <typename T, typename... Args>
    +
    124 inline std::string ToString(T first, Args... args)
    +
    125 {
    +
    126  return ToString(first) + ", " + ToString(args...) ;
    +
    127 }
    +
    128 
    +
    129 #endif
    +
    Host-to-Device Copy.
    Definition: hip_runtime_api.h:150
    +
    Device-to-Host Copy.
    Definition: hip_runtime_api.h:151
    +
    hipError_t
    Definition: hip_runtime_api.h:152
    +
    hipMemcpyKind
    Definition: hip_runtime_api.h:148
    +
    Device-to-Device Copy.
    Definition: hip_runtime_api.h:152
    +
    Definition: hip_hcc.h:487
    +
    Runtime will automatically determine copy-kind based on virtual addresses.
    Definition: hip_runtime_api.h:153
    +
    Definition: hip_hcc.h:397
    +
    Host-to-Host Copy.
    Definition: hip_runtime_api.h:149