@@ -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
2423Overview
2524--------
26-
2725FEATS is a project to develop a parallel [ Fortran 2018] asynchronous, task-scheduling
2826framework 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+
5168Please report any test failures or other [ issues] .
5269
5370Acknowledgments
@@ -60,8 +77,7 @@ Acknowledgments
6077Donate
6178------
6279If 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