2016-01-26 20:14:33 -06:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=9" />
< meta name = "generator" content = "Doxygen 1.8.6" />
2016-03-23 23:11:15 -05:00
< title > HIP: Heterogenous-computing Interface for Portability: /home/bensander/HIP-privatestaging/include/hip_common.h Source File</ title >
2016-01-26 20:14:33 -06:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "jquery.js" ></ script >
< script type = "text/javascript" src = "dynsections.js" ></ script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/search.js" ></ script >
< script type = "text/javascript" >
$ ( document ). ready ( function () { searchBox . OnSelectItem ( 0 ); });
</ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > HIP: Heterogenous-computing Interface for Portability
</ div >
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
< script type = "text/javascript" >
var searchBox = new SearchBox ( "searchBox" , "search" , false , 'Search' );
</ script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li >< a href = "index.html" >< span > Main  Page</ span ></ a ></ li >
< li >< a href = "pages.html" >< span > Related  Pages</ span ></ a ></ li >
< li >< a href = "modules.html" >< span > Modules</ span ></ a ></ li >
< li >< a href = "annotated.html" >< span > Classes</ span ></ a ></ li >
< li class = "current" >< a href = "files.html" >< span > Files</ span ></ a ></ li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
alt = "" />
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus = "searchBox.OnSearchFieldFocus(true)"
onblur = "searchBox.OnSearchFieldFocus(false)"
onkeyup = "searchBox.OnSearchFieldChange(event)" />
</ span >< span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" >< img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" /></ a >
</ span >
</ div >
</ li >
</ ul >
</ div >
< div id = "navrow2" class = "tabs2" >
< ul class = "tablist" >
< li >< a href = "files.html" >< span > File  List</ span ></ a ></ li >
< li >< a href = "globals.html" >< span > File  Members</ span ></ a ></ li >
</ ul >
</ div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(0)" >< span class = "SelectionMark" >   </ span > All</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(1)" >< span class = "SelectionMark" >   </ span > Classes</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(2)" >< span class = "SelectionMark" >   </ span > Files</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(3)" >< span class = "SelectionMark" >   </ span > Functions</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(4)" >< span class = "SelectionMark" >   </ span > Variables</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(5)" >< span class = "SelectionMark" >   </ span > Typedefs</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(6)" >< span class = "SelectionMark" >   </ span > Enumerations</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(7)" >< span class = "SelectionMark" >   </ span > Enumerator</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(8)" >< span class = "SelectionMark" >   </ span > Macros</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(9)" >< span class = "SelectionMark" >   </ span > Groups</ a >< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(10)" >< span class = "SelectionMark" >   </ span > Pages</ a ></ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name = "MSearchResults" id = "MSearchResults" >
</ iframe >
</ div >
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" >< a class = "el" href = "dir_d44c64559bbebec7f509842c48db8b23.html" > include</ a ></ li > </ ul >
</ div >
</ div > <!-- top -->
< div class = "header" >
< div class = "headertitle" >
< div class = "title" > hip_common.h</ div > </ div >
</ div > <!--header-->
< div class = "contents" >
< div class = "fragment" >< div class = "line" >< a name = "l00001" ></ a >< span class = "lineno" > 1</ span >   < span class = "comment" > /*</ span ></ div >
< div class = "line" >< a name = "l00002" ></ a >< span class = "lineno" > 2</ span >   < span class = "comment" > Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.</ span ></ div >
< div class = "line" >< a name = "l00003" ></ a >< span class = "lineno" > 3</ span >   < span class = "comment" ></ span ></ div >
< div class = "line" >< a name = "l00004" ></ a >< span class = "lineno" > 4</ span >   < span class = "comment" > Permission is hereby granted, free of charge, to any person obtaining a copy</ span ></ div >
< div class = "line" >< a name = "l00005" ></ a >< span class = "lineno" > 5</ span >   < span class = "comment" > of this software and associated documentation files (the " Software" ), to deal</ span ></ div >
< div class = "line" >< a name = "l00006" ></ a >< span class = "lineno" > 6</ span >   < span class = "comment" > in the Software without restriction, including without limitation the rights</ span ></ div >
< div class = "line" >< a name = "l00007" ></ a >< span class = "lineno" > 7</ span >   < span class = "comment" > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</ span ></ div >
< div class = "line" >< a name = "l00008" ></ a >< span class = "lineno" > 8</ span >   < span class = "comment" > copies of the Software, and to permit persons to whom the Software is</ span ></ div >
< div class = "line" >< a name = "l00009" ></ a >< span class = "lineno" > 9</ span >   < span class = "comment" > furnished to do so, subject to the following conditions:</ span ></ div >
< div class = "line" >< a name = "l00010" ></ a >< span class = "lineno" > 10</ span >   < span class = "comment" ></ span ></ div >
< div class = "line" >< a name = "l00011" ></ a >< span class = "lineno" > 11</ span >   < span class = "comment" > The above copyright notice and this permission notice shall be included in</ span ></ div >
< div class = "line" >< a name = "l00012" ></ a >< span class = "lineno" > 12</ span >   < span class = "comment" > all copies or substantial portions of the Software.</ span ></ div >
< div class = "line" >< a name = "l00013" ></ a >< span class = "lineno" > 13</ span >   < span class = "comment" ></ span ></ div >
< div class = "line" >< a name = "l00014" ></ a >< span class = "lineno" > 14</ span >   < span class = "comment" > THE SOFTWARE IS PROVIDED " AS IS" , WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</ span ></ div >
< div class = "line" >< a name = "l00015" ></ a >< span class = "lineno" > 15</ span >   < span class = "comment" > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</ span ></ div >
< div class = "line" >< a name = "l00016" ></ a >< span class = "lineno" > 16</ span >   < span class = "comment" > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</ span ></ div >
< div class = "line" >< a name = "l00017" ></ a >< span class = "lineno" > 17</ span >   < span class = "comment" > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</ span ></ div >
< div class = "line" >< a name = "l00018" ></ a >< span class = "lineno" > 18</ span >   < span class = "comment" > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</ span ></ div >
< div class = "line" >< a name = "l00019" ></ a >< span class = "lineno" > 19</ span >   < span class = "comment" > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</ span ></ div >
< div class = "line" >< a name = "l00020" ></ a >< span class = "lineno" > 20</ span >   < span class = "comment" > THE SOFTWARE.</ span ></ div >
< div class = "line" >< a name = "l00021" ></ a >< span class = "lineno" > 21</ span >   < span class = "comment" > */</ span ></ div >
< div class = "line" >< a name = "l00022" ></ a >< span class = "lineno" > 22</ span >   </ div >
< div class = "line" >< a name = "l00023" ></ a >< span class = "lineno" > 23</ span >   < span class = "preprocessor" > #pragma once</ span ></ div >
< div class = "line" >< a name = "l00024" ></ a >< span class = "lineno" > 24</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00025" ></ a >< span class = "lineno" > 25</ span >   < span class = "comment" > // Disable use of grid_launch feature in HCC compiler.</ span ></ div >
< div class = "line" >< a name = "l00026" ></ a >< span class = "lineno" > 26</ span >   < span class = "comment" > //#define DISABLE_GRID_LAUNCH</ span ></ div >
< div class = "line" >< a name = "l00027" ></ a >< span class = "lineno" > 27</ span >   </ div >
< div class = "line" >< a name = "l00028" ></ a >< span class = "lineno" > 28</ span >   < span class = "comment" > // Common code included at start of every hip file.</ span ></ div >
< div class = "line" >< a name = "l00029" ></ a >< span class = "lineno" > 29</ span >   < span class = "comment" > // Auto enable __HIP_PLATFORM_HCC__ if compiling with HCC</ span ></ div >
< div class = "line" >< a name = "l00030" ></ a >< span class = "lineno" > 30</ span >   < span class = "comment" > // Other compiler (GCC,ICC,etc) need to set one of these macros explicitly</ span ></ div >
< div class = "line" >< a name = "l00031" ></ a >< span class = "lineno" > 31</ span >   < span class = "preprocessor" > #if defined(__HCC__) </ span ></ div >
< div class = "line" >< a name = "l00032" ></ a >< span class = "lineno" > 32</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_PLATFORM_HCC__</ span ></ div >
< div class = "line" >< a name = "l00033" ></ a >< span class = "lineno" > 33</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIPCC__</ span ></ div >
< div class = "line" >< a name = "l00034" ></ a >< span class = "lineno" > 34</ span >   < span class = "preprocessor" ></ span ></ div >
2016-02-18 20:43:03 -06:00
< div class = "line" >< a name = "l00035" ></ a >< span class = "lineno" > 35</ span >   < span class = "preprocessor" > #if defined(__HCC_ACCELERATOR__) and (__HCC_ACCELERATOR__ != 0)</ span ></ div >
< div class = "line" >< a name = "l00036" ></ a >< span class = "lineno" > 36</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_DEVICE_COMPILE__ 1</ span ></ div >
< div class = "line" >< a name = "l00037" ></ a >< span class = "lineno" > 37</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00038" ></ a >< span class = "lineno" > 38</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_DEVICE_COMPILE__ 0</ span ></ div >
< div class = "line" >< a name = "l00039" ></ a >< span class = "lineno" > 39</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00040" ></ a >< span class = "lineno" > 40</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00041" ></ a >< span class = "lineno" > 41</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00042" ></ a >< span class = "lineno" > 42</ span >   < span class = "comment" > // Auto enable __HIP_PLATFORM_NVCC__ if compiling with NVCC</ span ></ div >
< div class = "line" >< a name = "l00043" ></ a >< span class = "lineno" > 43</ span >   < span class = "preprocessor" > #if defined(__NVCC__) </ span ></ div >
< div class = "line" >< a name = "l00044" ></ a >< span class = "lineno" > 44</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_PLATFORM_NVCC__</ span ></ div >
< div class = "line" >< a name = "l00045" ></ a >< span class = "lineno" > 45</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > # ifdef __CUDACC__</ span ></ div >
< div class = "line" >< a name = "l00046" ></ a >< span class = "lineno" > 46</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > # define __HIPCC__</ span ></ div >
< div class = "line" >< a name = "l00047" ></ a >< span class = "lineno" > 47</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > # endif</ span ></ div >
< div class = "line" >< a name = "l00048" ></ a >< span class = "lineno" > 48</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00049" ></ a >< span class = "lineno" > 49</ span >   < span class = "preprocessor" > #if defined(__CUDA_ARCH__) and (__CUDA_ARCH__ != 0)</ span ></ div >
< div class = "line" >< a name = "l00050" ></ a >< span class = "lineno" > 50</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_DEVICE_COMPILE__ 1</ span ></ div >
< div class = "line" >< a name = "l00051" ></ a >< span class = "lineno" > 51</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00052" ></ a >< span class = "lineno" > 52</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_DEVICE_COMPILE__ 0</ span ></ div >
< div class = "line" >< a name = "l00053" ></ a >< span class = "lineno" > 53</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00054" ></ a >< span class = "lineno" > 54</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00055" ></ a >< span class = "lineno" > 55</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00056" ></ a >< span class = "lineno" > 56</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00057" ></ a >< span class = "lineno" > 57</ span >   </ div >
< div class = "line" >< a name = "l00058" ></ a >< span class = "lineno" > 58</ span >   </ div >
< div class = "line" >< a name = "l00059" ></ a >< span class = "lineno" > 59</ span >   </ div >
< div class = "line" >< a name = "l00060" ></ a >< span class = "lineno" > 60</ span >   < span class = "preprocessor" > #if __HIP_DEVICE_COMPILE__ == 0</ span ></ div >
< div class = "line" >< a name = "l00061" ></ a >< span class = "lineno" > 61</ span >   < span class = "preprocessor" ></ span >< span class = "comment" > // 32-bit Atomics</ span ></ div >
< div class = "line" >< a name = "l00062" ></ a >< span class = "lineno" > 62</ span >   < span class = "preprocessor" > #define __HIP_ARCH_HAS_GLOBAL_INT32_ATOMICS__ (0)</ span ></ div >
< div class = "line" >< a name = "l00063" ></ a >< span class = "lineno" > 63</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_GLOBAL_FLOAT_ATOMIC_EXCH__ (0)</ span ></ div >
< div class = "line" >< a name = "l00064" ></ a >< span class = "lineno" > 64</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_SHARED_INT32_ATOMICS__ (0)</ span ></ div >
< div class = "line" >< a name = "l00065" ></ a >< span class = "lineno" > 65</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_SHARED_FLOAT_ATOMIC_EXCH__ (0)</ span ></ div >
< div class = "line" >< a name = "l00066" ></ a >< span class = "lineno" > 66</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_FLOAT_ATOMIC_ADD__ (0)</ span ></ div >
2016-01-26 20:14:33 -06:00
< div class = "line" >< a name = "l00067" ></ a >< span class = "lineno" > 67</ span >   < span class = "preprocessor" ></ span ></ div >
2016-02-18 20:43:03 -06:00
< div class = "line" >< a name = "l00068" ></ a >< span class = "lineno" > 68</ span >   < span class = "comment" > // 64-bit Atomics</ span ></ div >
< div class = "line" >< a name = "l00069" ></ a >< span class = "lineno" > 69</ span >   < span class = "preprocessor" > #define __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__ (0)</ span ></ div >
< div class = "line" >< a name = "l00070" ></ a >< span class = "lineno" > 70</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_SHARED_INT64_ATOMICS__ (0)</ span ></ div >
< div class = "line" >< a name = "l00071" ></ a >< span class = "lineno" > 71</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00072" ></ a >< span class = "lineno" > 72</ span >   < span class = "comment" > // Doubles</ span ></ div >
< div class = "line" >< a name = "l00073" ></ a >< span class = "lineno" > 73</ span >   < span class = "preprocessor" > #define __HIP_ARCH_HAS_DOUBLES__ (0)</ span ></ div >
< div class = "line" >< a name = "l00074" ></ a >< span class = "lineno" > 74</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00075" ></ a >< span class = "lineno" > 75</ span >   < span class = "comment" > // Warp cross-lane operations</ span ></ div >
< div class = "line" >< a name = "l00076" ></ a >< span class = "lineno" > 76</ span >   < span class = "preprocessor" > #define __HIP_ARCH_HAS_WARP_VOTE__ (0)</ span ></ div >
< div class = "line" >< a name = "l00077" ></ a >< span class = "lineno" > 77</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_WARP_BALLOT__ (0)</ span ></ div >
< div class = "line" >< a name = "l00078" ></ a >< span class = "lineno" > 78</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_WARP_SHUFFLE__ (0)</ span ></ div >
< div class = "line" >< a name = "l00079" ></ a >< span class = "lineno" > 79</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ (0)</ span ></ div >
2016-01-26 20:14:33 -06:00
< div class = "line" >< a name = "l00080" ></ a >< span class = "lineno" > 80</ span >   < span class = "preprocessor" ></ span ></ div >
2016-02-18 20:43:03 -06:00
< div class = "line" >< a name = "l00081" ></ a >< span class = "lineno" > 81</ span >   < span class = "comment" > // Sync</ span ></ div >
< div class = "line" >< a name = "l00082" ></ a >< span class = "lineno" > 82</ span >   < span class = "preprocessor" > #define __HIP_ARCH_HAS_THREAD_FENCE_SYSTEM__ (0)</ span ></ div >
< div class = "line" >< a name = "l00083" ></ a >< span class = "lineno" > 83</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_SYNC_THREAD_EXT__ (0)</ span ></ div >
< div class = "line" >< a name = "l00084" ></ a >< span class = "lineno" > 84</ span >   < span class = "preprocessor" ></ span ></ div >
< div class = "line" >< a name = "l00085" ></ a >< span class = "lineno" > 85</ span >   < span class = "comment" > // Misc</ span ></ div >
< div class = "line" >< a name = "l00086" ></ a >< span class = "lineno" > 86</ span >   < span class = "preprocessor" > #define __HIP_ARCH_HAS_SURFACE_FUNCS__ (0)</ span ></ div >
< div class = "line" >< a name = "l00087" ></ a >< span class = "lineno" > 87</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_3DGRID__ (0)</ span ></ div >
< div class = "line" >< a name = "l00088" ></ a >< span class = "lineno" > 88</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #define __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ (0)</ span ></ div >
< div class = "line" >< a name = "l00089" ></ a >< span class = "lineno" > 89</ span >   < span class = "preprocessor" ></ span >< span class = "preprocessor" > #endif</ span ></ div >
2016-01-26 20:14:33 -06:00
</ div > <!-- fragment --> </ div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" />< address class = "footer" >< small >
2016-03-23 23:11:15 -05:00
Generated on Wed Mar 23 2016 23:11:07 for HIP: Heterogenous-computing Interface for Portability by   < a href = "http://www.doxygen.org/index.html" >
2016-01-26 20:14:33 -06:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" />
</ a > 1.8.6
</ small ></ address >
</ body >
</ html >