You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
7.7KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>AMD GCN Function Attributes (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="AMD GCN Function Attributes (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="AMD GCN Function Attributes (Using the GNU Compiler Collection (GCC))">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Function-Attributes.html#Function-Attributes" rel="up" title="Function Attributes">
  30. <link href="ARC-Function-Attributes.html#ARC-Function-Attributes" rel="next" title="ARC Function Attributes">
  31. <link href="AArch64-Function-Attributes.html#AArch64-Function-Attributes" rel="prev" title="AArch64 Function Attributes">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="AMD-GCN-Function-Attributes"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="ARC-Function-Attributes.html#ARC-Function-Attributes" accesskey="n" rel="next">ARC Function Attributes</a>, Previous: <a href="AArch64-Function-Attributes.html#AArch64-Function-Attributes" accesskey="p" rel="prev">AArch64 Function Attributes</a>, Up: <a href="Function-Attributes.html#Function-Attributes" accesskey="u" rel="up">Function Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  65. </div>
  66. <hr>
  67. <a name="AMD-GCN-Function-Attributes-1"></a>
  68. <h4 class="subsection">6.33.3 AMD GCN Function Attributes</h4>
  69. <p>These function attributes are supported by the AMD GCN back end:
  70. </p>
  71. <dl compact="compact">
  72. <dt><code>amdgpu_hsa_kernel</code></dt>
  73. <dd><a name="index-amdgpu_005fhsa_005fkernel-function-attribute_002c-AMD-GCN"></a>
  74. <p>This attribute indicates that the corresponding function should be compiled as
  75. a kernel function, that is an entry point that can be invoked from the host
  76. via the HSA runtime library. By default functions are only callable only from
  77. other GCN functions.
  78. </p>
  79. <p>This attribute is implicitly applied to any function named <code>main</code>, using
  80. default parameters.
  81. </p>
  82. <p>Kernel functions may return an integer value, which will be written to a
  83. conventional place within the HSA &quot;kernargs&quot; region.
  84. </p>
  85. <p>The attribute parameters configure what values are passed into the kernel
  86. function by the GPU drivers, via the initial register state. Some values are
  87. used by the compiler, and therefore forced on. Enabling other options may
  88. break assumptions in the compiler and/or run-time libraries.
  89. </p>
  90. <dl compact="compact">
  91. <dt><code>private_segment_buffer</code></dt>
  92. <dd><p>Set <code>enable_sgpr_private_segment_buffer</code> flag. Always on (required to
  93. locate the stack).
  94. </p>
  95. </dd>
  96. <dt><code>dispatch_ptr</code></dt>
  97. <dd><p>Set <code>enable_sgpr_dispatch_ptr</code> flag. Always on (required to locate the
  98. launch dimensions).
  99. </p>
  100. </dd>
  101. <dt><code>queue_ptr</code></dt>
  102. <dd><p>Set <code>enable_sgpr_queue_ptr</code> flag. Always on (required to convert address
  103. spaces).
  104. </p>
  105. </dd>
  106. <dt><code>kernarg_segment_ptr</code></dt>
  107. <dd><p>Set <code>enable_sgpr_kernarg_segment_ptr</code> flag. Always on (required to
  108. locate the kernel arguments, &quot;kernargs&quot;).
  109. </p>
  110. </dd>
  111. <dt><code>dispatch_id</code></dt>
  112. <dd><p>Set <code>enable_sgpr_dispatch_id</code> flag.
  113. </p>
  114. </dd>
  115. <dt><code>flat_scratch_init</code></dt>
  116. <dd><p>Set <code>enable_sgpr_flat_scratch_init</code> flag.
  117. </p>
  118. </dd>
  119. <dt><code>private_segment_size</code></dt>
  120. <dd><p>Set <code>enable_sgpr_private_segment_size</code> flag.
  121. </p>
  122. </dd>
  123. <dt><code>grid_workgroup_count_X</code></dt>
  124. <dd><p>Set <code>enable_sgpr_grid_workgroup_count_x</code> flag. Always on (required to
  125. use OpenACC/OpenMP).
  126. </p>
  127. </dd>
  128. <dt><code>grid_workgroup_count_Y</code></dt>
  129. <dd><p>Set <code>enable_sgpr_grid_workgroup_count_y</code> flag.
  130. </p>
  131. </dd>
  132. <dt><code>grid_workgroup_count_Z</code></dt>
  133. <dd><p>Set <code>enable_sgpr_grid_workgroup_count_z</code> flag.
  134. </p>
  135. </dd>
  136. <dt><code>workgroup_id_X</code></dt>
  137. <dd><p>Set <code>enable_sgpr_workgroup_id_x</code> flag.
  138. </p>
  139. </dd>
  140. <dt><code>workgroup_id_Y</code></dt>
  141. <dd><p>Set <code>enable_sgpr_workgroup_id_y</code> flag.
  142. </p>
  143. </dd>
  144. <dt><code>workgroup_id_Z</code></dt>
  145. <dd><p>Set <code>enable_sgpr_workgroup_id_z</code> flag.
  146. </p>
  147. </dd>
  148. <dt><code>workgroup_info</code></dt>
  149. <dd><p>Set <code>enable_sgpr_workgroup_info</code> flag.
  150. </p>
  151. </dd>
  152. <dt><code>private_segment_wave_offset</code></dt>
  153. <dd><p>Set <code>enable_sgpr_private_segment_wave_byte_offset</code> flag. Always on
  154. (required to locate the stack).
  155. </p>
  156. </dd>
  157. <dt><code>work_item_id_X</code></dt>
  158. <dd><p>Set <code>enable_vgpr_workitem_id</code> parameter. Always on (can&rsquo;t be disabled).
  159. </p>
  160. </dd>
  161. <dt><code>work_item_id_Y</code></dt>
  162. <dd><p>Set <code>enable_vgpr_workitem_id</code> parameter. Always on (required to enable
  163. vectorization.)
  164. </p>
  165. </dd>
  166. <dt><code>work_item_id_Z</code></dt>
  167. <dd><p>Set <code>enable_vgpr_workitem_id</code> parameter. Always on (required to use
  168. OpenACC/OpenMP).
  169. </p>
  170. </dd>
  171. </dl>
  172. </dd>
  173. </dl>
  174. <hr>
  175. <div class="header">
  176. <p>
  177. Next: <a href="ARC-Function-Attributes.html#ARC-Function-Attributes" accesskey="n" rel="next">ARC Function Attributes</a>, Previous: <a href="AArch64-Function-Attributes.html#AArch64-Function-Attributes" accesskey="p" rel="prev">AArch64 Function Attributes</a>, Up: <a href="Function-Attributes.html#Function-Attributes" accesskey="u" rel="up">Function Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  178. </div>
  179. </body>
  180. </html>