You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/_sources/introduction/introduction.rst.txt
+20-17
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@
2
2
3
3
.. _introduction:
4
4
5
-
=====================
5
+
============
6
6
Introduction
7
-
=====================
7
+
============
8
8
9
-
-----------------------------
9
+
-----------------
10
10
What Is GridTools
11
-
-----------------------------
11
+
-----------------
12
12
13
13
The |GT| (GT) framework is a set of libraries and utilities to develop performance portable applications in which
14
14
stencil operations on grids are central. The focus of the project is on regular and block-structured grids as are
@@ -46,9 +46,9 @@ abstract descriptions of a stencils, the DSL allows |GT| can apply architecture-
46
46
computations in order to be optimal on the target hardware.
47
47
48
48
49
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
49
+
^^^^^^^^^^^^
50
50
Dependencies
51
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
51
+
^^^^^^^^^^^^
52
52
53
53
|GT| requires at least a header-only installation of Boost_. Besides some boost utilities, it depends on ``boost::mpl`` and ``boost::fusion``.
54
54
@@ -57,11 +57,18 @@ Additionally, |GT| requires a recent version of CMake_.
57
57
.. _Boost: https://www.boost.org/
58
58
.. _CMake: https://www.cmake.org/
59
59
60
-
|GT| requires a modern compiler. A list of supported compilers can be found on `github <https://github.com/eth-cscs/gridtools/wiki/Supported-Compilers>`_.
60
+
|GT| requires a modern compiler. A list of supported compilers can be found on `github <https://github.com/GridTools/gridtools>`_.
61
61
62
-
^^^^^^^^^^^^^^^^^^^^
62
+
63
+
.. _installation:
64
+
65
+
--------------------
66
+
Installation and Use
67
+
--------------------
68
+
69
+
^^^^^^^^^^^^^
63
70
Simple Script
64
-
^^^^^^^^^^^^^^^^^^^^
71
+
^^^^^^^^^^^^^
65
72
66
73
We first provide a sample of the commands needed to enable the multicore and CUDA backends, install them in ``/usr/local``,
67
74
and run the gridtools tests.
@@ -75,10 +82,6 @@ and run the gridtools tests.
75
82
make install -j4
76
83
make test
77
84
78
-
-----------------------------
79
-
Installation and Use
80
-
-----------------------------
81
-
82
85
|GT| uses CMake as building system. The installation can be configured using `ccmake`. The following variables control the back-ends that will be supported by the runtime components of the installation, namely :ref:`GCL <halo-exchanges>`.
83
86
84
87
.. code-block:: shell
@@ -130,9 +133,9 @@ the following set of instructions:
130
133
make -j4
131
134
132
135
133
-
^^^^^^^^^^^^^^^^^^^^^
136
+
^^^^^^^^^^^^^^^
134
137
Using GridTools
135
-
^^^^^^^^^^^^^^^^^^^^^
138
+
^^^^^^^^^^^^^^^
136
139
137
140
Using |GT| follows standard CMake practices. To indicate where the |GT| can be found,
138
141
CMake should be provided with the variable ``GridTools_DIR``,
@@ -156,8 +159,8 @@ Targets that need |GT| should link against ``GridTools::gridtools``. If the comm
156
159
add_library(my_library source.cpp)
157
160
target_link_libraries(my_library PUBLIC GridTools::gridtools)
158
161
159
-
-----------------------------
162
+
------------
160
163
Contributing
161
-
-----------------------------
164
+
------------
162
165
163
166
Contributions to the |GT| set of libraries are welcome. However, our policy is that we will be the official maintainers and providers of the GridTools code. We believe that this will provide our users with a clear reference point for support and guarantees on timely interactions. For this reason, we require that external contributions to |GT| will be accepted after their authors provide to us a signed copy of a copyright release form to ETH Zurich.
<li>In order to use the <spanclass="math">\((i,j,k)\)</span> syntax we need to define the symbols to point to the respective dimensions.</li>
677
677
<li>A common pattern is to use the preprocessor flag <codeclass="docutils literal"><spanclass="pre">__CUDACC__</span></code> to distinguish between CPU and GPU code. We use this to set the <aclass="reference internal" href="../glossary/glossary.html#term-backend"><spanclass="xref std std-term">Backend</span></a>.</li>
678
678
</ul>
679
+
<p>The code example can be compiled using the following simple CMake script (requires an installation of GridTools, see <aclass="reference internal" href="../introduction/introduction.html#installation"><spanclass="std std-ref">Installation and Use</span></a>).</p>
@@ -216,8 +216,11 @@ <h2>What Is GridTools<a class="headerlink" href="#what-is-gridtools" title="Perm
216
216
<h3>Dependencies<aclass="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h3>
217
217
<p><cite>GridTools</cite> requires at least a header-only installation of <aclass="reference external" href="https://www.boost.org/">Boost</a>. Besides some boost utilities, it depends on <codeclass="docutils literal"><spanclass="pre">boost::mpl</span></code> and <codeclass="docutils literal"><spanclass="pre">boost::fusion</span></code>.</p>
218
218
<p>Additionally, <cite>GridTools</cite> requires a recent version of <aclass="reference external" href="https://www.cmake.org/">CMake</a>.</p>
219
-
<p><cite>GridTools</cite> requires a modern compiler. A list of supported compilers can be found on <aclass="reference external" href="https://github.com/eth-cscs/gridtools/wiki/Supported-Compilers">github</a>.</p>
219
+
<p><cite>GridTools</cite> requires a modern compiler. A list of supported compilers can be found on <aclass="reference external" href="https://github.com/GridTools/gridtools">github</a>.</p>
220
220
</div>
221
+
</div>
222
+
<divclass="section" id="installation-and-use">
223
+
<spanid="installation"></span><h2>Installation and Use<aclass="headerlink" href="#installation-and-use" title="Permalink to this headline">¶</a></h2>
221
224
<divclass="section" id="simple-script">
222
225
<h3>Simple Script<aclass="headerlink" href="#simple-script" title="Permalink to this headline">¶</a></h3>
223
226
<p>We first provide a sample of the commands needed to enable the multicore and CUDA backends, install them in <codeclass="docutils literal"><spanclass="pre">/usr/local</span></code>,
@@ -230,10 +233,6 @@ <h3>Simple Script<a class="headerlink" href="#simple-script" title="Permalink to
230
233
make <spanclass="nb">test</span>
231
234
</pre></div>
232
235
</div>
233
-
</div>
234
-
</div>
235
-
<divclass="section" id="installation-and-use">
236
-
<h2>Installation and Use<aclass="headerlink" href="#installation-and-use" title="Permalink to this headline">¶</a></h2>
237
236
<p><cite>GridTools</cite> uses CMake as building system. The installation can be configured using <cite>ccmake</cite>. The following variables control the back-ends that will be supported by the runtime components of the installation, namely <aclass="reference internal" href="../user_manual/user_manual.html#halo-exchanges"><spanclass="std std-ref">GCL</span></a>.</p>
238
237
<divclass="highlight-shell"><divclass="highlight"><pre><span></span>GT_ENABLE_TARGET_CUDA <spanclass="c1"># For CUDA GPUs</span>
239
238
GT_ENABLE_TARGET_X86 <spanclass="c1"># For cache based multicores and naive implementation</span>
@@ -271,6 +270,7 @@ <h2>Installation and Use<a class="headerlink" href="#installation-and-use" title
271
270
make -j4
272
271
</pre></div>
273
272
</div>
273
+
</div>
274
274
<divclass="section" id="using-gridtools">
275
275
<h3>Using GridTools<aclass="headerlink" href="#using-gridtools" title="Permalink to this headline">¶</a></h3>
276
276
<p>Using <cite>GridTools</cite> follows standard CMake practices. To indicate where the <cite>GridTools</cite> can be found,
0 commit comments