What is Sowing?

Sowing is a collection of tools and practices that we have either developed or found useful in creating several widely-used packages, including MPICH and PETSc.

The paper Sowing MPICH: A Case Study in the Dissemination of a Portable Environment for Parallel Scientific Computing discusses some experiences in using tools to help create MPICH.

Tools and Documents for Developing Programs

The gzip'ed tar file sowing.tar.gz contains the following tools:

doctextCreate documentation from structured comments in C and Fortran source files.
tohtmlConvert LaTeX to HTML
bfortCreate Fortran to C interface stubs directly from structured comments in C source files
mapnamesAutomatically annotate a text file with URLs
autoconf macrosExtensions to GNU autoconf, particularly for parallel computers and Fortran support

The current version is 1.1.26, created on June, 2019.

Documents

Autoconf Macros

Documentation for our set of autoconf macros is available. These provide extensions for uses of C, Fortran 77, and Fortran (aka Fortran 90), as well as some bug fixes (for caching particularly) and non-GNU environments (e.g., various flavors of make).

The macros are available as part of the sowing package.

Computer Science Department
University of Illinois Urbana-Champaign