|
6 | 6 |
|
7 | 7 | This tutorial will give you a first overview of ReFrame and will acquaint you with its basic concepts. |
8 | 8 | We will start with a simple "Hello, World!" test running with the default configuration and we will expand the example along the way. |
9 | | -We will also explore performance tests and we will port our tests to an HPC cluster. |
| 9 | +We will also explore performance tests and port our tests to an HPC cluster. |
10 | 10 | The examples of this tutorial can be found under :obj:`tutorials/basics/`. |
11 | 11 |
|
12 | 12 |
|
@@ -147,7 +147,7 @@ ReFrame allows you to avoid this in several ways but the most compact is to defi |
147 | 147 | :lines: 6- |
148 | 148 |
|
149 | 149 |
|
150 | | -This exactly the same test as the ``hello1.py`` except that it is decorated with the :func:`@parameterized_test <reframe.core.decorators.parameterized_test>` decorator instead of the :func:`@simple_test <reframe.core.decorators.simple_test>`. |
| 150 | +This is exactly the same test as the ``hello1.py`` except that it is decorated with the :func:`@parameterized_test <reframe.core.decorators.parameterized_test>` decorator instead of the :func:`@simple_test <reframe.core.decorators.simple_test>`. |
151 | 151 | Also the constructor of the test now takes an argument. |
152 | 152 | The :func:`@parameterized_test <>` decorator instructs ReFrame to instantiate a test class with different parameters. |
153 | 153 | In this case the test will be instantiated for both C and C++ and then we use the ``lang`` parameter directly as the extension of the source file. |
@@ -211,7 +211,7 @@ Oops! The C++ test has failed. |
211 | 211 | ReFrame complains that it does not know how to compile a C++ program. |
212 | 212 | Remember our discussion above that the default configuration of ReFrame defines a minimal programming environment named ``builtin`` which only knows of a ``cc`` compiler. |
213 | 213 | We will fix that in a moment, but before doing that it's worth looking into the failure information provided for the test. |
214 | | -For each test failing, ReFrame will print a short summary with information about the system partition and the programming environment that the test failed for, its job or process id (if any), the nodes it was running on, its stage directory, the phase that failed etc. |
| 214 | +For each failed test, ReFrame will print a short summary with information about the system partition and the programming environment that the test failed for, its job or process id (if any), the nodes it was running on, its stage directory, the phase that failed etc. |
215 | 215 |
|
216 | 216 | When a test fails its stage directory is kept intact, so that users can inspect the failure and try to reproduce it manually. |
217 | 217 | In this case, the stage directory contains only the "Hello, World" source files, since ReFrame could not produce a build script for the C++ test, as it doesn't know to compile a C++ program for the moment. |
@@ -253,7 +253,7 @@ Notice, how the ``generic`` system matches any hostname, so that it acts as a fa |
253 | 253 | .. note:: |
254 | 254 |
|
255 | 255 | The different systems in the configuration file are tried in order and the first match is picked. |
256 | | - This practically means that the more general the selection pattern for a system is, the lower in the list of systems should be. |
| 256 | + This practically means that the more general the selection pattern for a system is, the lower in the list of systems it should be. |
257 | 257 |
|
258 | 258 | The :doc:`configure` page describes the configuration file in more detail and the :doc:`config_reference` provides a complete reference guide of all the configuration options of ReFrame. |
259 | 259 |
|
@@ -329,7 +329,7 @@ Here is the corresponding ReFrame test, where the new concepts introduced are hi |
329 | 329 | :emphasize-lines: 11-13 |
330 | 330 |
|
331 | 331 | ReFrame delegates the compilation of a test to a *build system*, which is an abstraction of the steps needed to compile the test. |
332 | | -Build system take also care of interactions with the programming environment if necessary. |
| 332 | +Build systems take also care of interactions with the programming environment if necessary. |
333 | 333 | Compilation flags are a property of the build system. |
334 | 334 | If not explicitly specified, ReFrame will try to pick the correct build system (e.g., CMake, Autotools etc.) by inspecting the test resources, but in cases as the one presented here where we need to set the compilation flags, we need to specify a build system explicitly. |
335 | 335 | In this example, we instruct ReFrame to compile a single source file using the ``-std=c++11 -Wall`` compilation flags. |
@@ -532,7 +532,7 @@ Let's run the test now: |
532 | 532 |
|
533 | 533 | ./bin/reframe -c tutorials/basics/stream/stream1.py -r --performance-report |
534 | 534 |
|
535 | | -The :option:`--performance-report` will generated a short report at the end for each performance test that has run. |
| 535 | +The :option:`--performance-report` will generate a short report at the end for each performance test that has run. |
536 | 536 |
|
537 | 537 |
|
538 | 538 | .. code-block:: none |
@@ -619,7 +619,7 @@ Examining the performance logs |
619 | 619 |
|
620 | 620 | ReFrame has a powerful mechanism for logging its activities as well as performance data. |
621 | 621 | It supports different types of log channels and it can send data simultaneously in any number of them. |
622 | | -For examples, performance data might be logged in files and the same time being send to Syslog or to a centralized log management server. |
| 622 | +For example, performance data might be logged in files and the same time being send to Syslog or to a centralized log management server. |
623 | 623 | By default (i.e., starting off from the builtin configuration file), ReFrame sends performance data to files per test under the ``perflogs/`` directory: |
624 | 624 |
|
625 | 625 | .. code-block:: none |
@@ -868,7 +868,7 @@ We will only do so with the final versions of the tests from the previous sectio |
868 | 868 |
|
869 | 869 | There it is! |
870 | 870 | Without any change in our tests, we could simply run them in a HPC cluster with all of its intricacies. |
871 | | -Notice how our just four tests expanded to almost 40 test cases on that particular HPC cluster! |
| 871 | +Notice how our original four tests expanded to almost 40 test cases on that particular HPC cluster! |
872 | 872 | One reason we could run immediately our tests on a new system was that we have not been restricting neither the valid system they can run nor the valid programming environments they can run with (except for the STREAM test). |
873 | 873 | Otherwise we would have to add ``daint`` and its corresponding programming environments in :attr:`valid_systems` and :attr:`valid_prog_environs` lists respectively. |
874 | 874 |
|
|
0 commit comments