Skip to content

Commit 2abb872

Browse files
author
Damian Rouson
authored
Merge pull request #26 from sourceryinstitute/link-readme-to-docs
doc(README): show how to run example, link to docs
2 parents 0737436 + 78553d5 commit 2abb872

File tree

1 file changed

+43
-24
lines changed

1 file changed

+43
-24
lines changed

README.md

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,55 @@ Framework for Extensible Asynchronous Task Scheduling (FEATS)
1616
[![GitHub release][release img]](https://github.com/sourceryinstitute/FEATS/releases/latest)
1717
[![Download as PDF][pdf img]](https://md2pdf.herokuapp.com/sourceryinstitute/FEATS/blob/master/README.pdf)
1818

19-
[Overview](#overview) | [Downloads](#downloads) | [Prerequisites](#prerequisites) | [Installation](#installation) |
20-
[Contributing](#contributing) | [Acknowledgments](#acknowledgments) | [Donate](#donate)
19+
[Overview](#overview) | [Getting Started](#getting-started) | [Documentation](#documentation) | [Dependencies](#dependencies) | [Acknowledgments](#acknowledgments) | [Donate](#donate)
2120

2221
</div>
2322

2423
Overview
2524
--------
26-
2725
FEATS is a project to develop a parallel [Fortran 2018] asynchronous, task-scheduling
2826
framework for use in a range of applications. Our initial target application will be
29-
[OLTARIS].
27+
[OLTARIS]. The aim is to assign one image per team of images the role of scheduler
28+
with the remaining images serving as compute images. The scheduler hands out tasks
29+
in an order that respects a directed acyclic graph (DAG) of task dependencies.
30+
31+
Getting Started
32+
---------------
33+
Please see the [example] directory for a demonstration use case in which FEATS traverses
34+
a DAG that describes the module dependencies within FEATS itself and reports on task
35+
completion at each step. In this simple example, the task completion is simply printing
36+
what file could have been compiled at the corresponding step. No actual compiling happens,
37+
but this use case describes what would happen if FEATS were to be used to enable the
38+
Fortran Package Manager [`fpm`] to perform parallel builds.
39+
40+
With `fpm`, the GNU Fortran compiler ([`gfortran`]), and [OpenCoarrays] installed, build
41+
FEATS and run the example program by executing the following command in a `bash`-like
42+
shell:
43+
```
44+
git clone https://github.com/sourceryinstitute/FEATS
45+
cd FEATS
46+
fpm run --example --compiler caf --runner "cafrun -n 4"
47+
```
48+
Change `4` above to the number of images that you would like to launch in parallel.
3049

31-
Prerequisites
50+
Documentation
3251
-------------
52+
Please visit the [FEATS GitHub Pages site] to see HTML documentation generated
53+
with [`ford`].
3354

34-
FEATS is being developed with the packages listed below.
35-
36-
* Fortran Package Manager: [fpm] 0.2.0,
37-
* GNU Compiler Collection [GCC] Fortran compiler: gfortran 10.2, and
38-
* [OpenCoarrays] 2.9.2.
39-
40-
Earlier versions might work as well.
55+
Dependencies
56+
-------------
57+
The [`fpm.toml`] manifest describes the FEATS user and developer dependencies
58+
and directs `fpm` to download and build the dependency packages automatically.
4159

42-
Downloading, building, and testing
43-
----------------------------------
44-
To build and test a parallel run with 2 images, execute the following
45-
commands in a shell on Linux, macOS, or Windows Subsystem for Linux:
60+
Testing
61+
-------
62+
To build and execute the FEATS test suite, run the following command in a
63+
`bash`-like shell:
4664
```
47-
git clone https://github.com/sourceryinstitute/FEATS
48-
cd FEATS
49-
fpm test --compiler caf --runner "cafrun -n 2"
65+
fpm test --compiler caf --runner "cafrun -n 4"
5066
```
67+
5168
Please report any test failures or other [issues].
5269

5370
Acknowledgments
@@ -60,8 +77,7 @@ Acknowledgments
6077
Donate
6178
------
6279
If you find this software useful, please consider donating code or
63-
[currency](http://bit.ly/donate-to-sourcery-institute).
64-
to aid in development efforts.
80+
[currency](http://bit.ly/donate-to-sourcery-institute) to aid in development efforts.
6581

6682
---
6783

@@ -81,11 +97,14 @@ to aid in development efforts.
8197
[Acknowledgments]: #acknowledgments
8298
[Donate]: #donate
8399

84-
[fpm]: https://github.com/fortran-lang/fpm
85-
[GCC]: https://gcc.gnu.org
100+
[`fpm`]: https://github.com/fortran-lang/fpm
101+
[`fpm.toml`]: ./fpm.toml
102+
[`gfortran`]: https://gcc.gnu.org
86103
[OpenCoarrays]: https://github.com/sourceryinstitute/opencoarrays
87104
[OLTARIS]: https://oltaris.nasa.gov
88-
105+
[example]: ./example
106+
[FEATS GitHub Pages site]: https://sourceryinstitute.github.io/FEATS/
107+
[`ford`]: https://github.com/Fortran-FOSS-Programmers/ford
89108
[Fortran 2018]: https://j3-fortran.org/doc/year/18/18-007r1.pdf
90109

91110
[sourcery-institute logo]: http://www.sourceryinstitute.org/uploads/4/9/9/6/49967347/sourcery-logo-rgb-hi-rez-1.png

0 commit comments

Comments
 (0)