Overview

This page has information regarding the current and historical Swift/T releases.

Swift/T consists of multiple components which have their own version numbers. The release numbers are formatted as major.minor.bugfix.

Swift/T will make feature releases on a monthly basis, which increment the minor version number.

Installation: After downloading Swift/T, see the installation instructions.

Current/stable: Series 1.6

1.6.5

Changes:

  • Bug fix in Anaconda package regarding scheduler scripts and helpers.sh

  • Anaconda packages only updated for platform linux-64

  • Better JSON error handling

1.6.4

Changes:

  • Update to Log4J 2

  • Better MPI auto-detection and flags

  • Move to worker_hook_startup / worker_hook_shutdown

  • Move to @r in TURBINE_STDOUT

  • PBS improvements for Frontier

  • LSF improvements for Summit

  • Restore error behavior when running STC from source directory

1.6.3

Changes to Anaconda packages.

1.6.2

Changes:

  • Force Java source and target version to 1.8 (Java SE 8 = class file format 52)

1.6.1

Changes:

  • Critical bug fix in STC app functions

  • Auto-create directories in TURBINE_STDOUT

  • New json_get_boolean()

  • Start using prefix m4_ in Turbine submit scripts

  • New run-time Python check to avert misconfigurations

  • New Anaconda package

1.6.0

Changes:

  • Support for NVCC compiler

  • Support for SLURM CPU maps

Series 1.5

1.5.1

Changes:

  • New support for Python parallelism via mpi4py

  • Improved JSON features

  • Improved SLURM support

  • Improved LSF support for Summit

  • Improved PBS support for Polaris

  • Support NVIDIA NVCC for Polaris

  • Support MPI 4

1.5.0

Note
This version requires Autoconf 2.68 or earlier. The workaround is to either 1) use Swift/T 1.6.0, 2) install a compatible (older) Autoconf, or 3) edit the Swift/T files named bootstrap to run autoreconf --force --install instead of autoconf / autoheader .

Changes:

  • Fixes for Mac

  • Performance improvements to ADLB/X parallel task placement

  • Automatic support for Yum package manager MPICH/OpenMPI

  • New JSON processing API

  • Scheduler improvements for SLURM and LSF

Series 1.4

1.4.3

Changes:

  • New TURBINE_PREALLOCATION*, +turbine-pilot, TURBINE_INTERPOSER

  • SLURM, LSF, Cray scheduler improvments

  • New keys() functions

  • Critical GNI fix for Crays including Theta

  • Support for OpenMPI hosts files

  • Fix for use of ZSH

  • New directory turbine-output instead of turbine-directory.txt

1.4.1

Changes:

1.4

Changes:

  • New pick_*() functions

  • New string-boolean conversion functions

  • New dry-run feature to generate submit scripts

  • New hostmapLeaders() function

  • New functions system(), system1(), mktemp()

  • New unix function rm()

  • Fix in argv() processing

  • Better support for comments in file_lines()

  • Change in turbine options -C, -S

  • Better stc -u , new stc -U

Series 1.3

Changes:

Series 1.2

Changes:

  • New communicator features for in situ workflows

  • New TURBINE_DIRECTIVE feature

  • Mail support for some schedulers

Series 1.1

Changes:

  • Now provide binary releases in Debian format

Series 1.0

Changes:

Series 0.9

0.9.1

Changes:

  • Remove debug output that was accidentally left on in 0.9.0

  • Minor improvements to the build-all scripts

0.9.0

Changes:

  • New, consistent type conversion function names

  • New ADLB_LOAD_MIN feature

  • Support for Python 3

  • New support for R via RInside

  • Many bug fixes and documentation improvements

  • Migration to GitHub (from Google Code Subversion)

Series 0.8

0.8.0

Changes:

  • Open code syntax in Swift: main{} function is no longer required

  • Advanced targeting modes for data-intensive applications

  • New string format operator

  • Initial support for Swift/* standard library (language convergence with Swift/K)

Series 0.7

0.7.0

Changes:

  • Support for remote execution via Coasters

  • New swift-t tool combines stc and turbine

  • New soft targeting feature for data-intensive computing

  • Ability to retry app functions

  • More features for TURBINE_OUTPUT

  • Default number of processes is now 2 (not 3)

  • Renamed aprun scheduler to cray

  • Renamed setup.sh to bootstrap

  • STC output is now in a *.tic file by default

Series 0.6

0.6.1

Changes:

  • Checkpointing

  • New container features - faster arrays, etc.

  • Pushed data dependencies into ADLB- no more Turbine engines. Reduces process overhead of Turbine engines

  • Support for Julia

0.6.0

Swift/T 0.6.0 was a limited preview package.

Series 0.5

0.5.1

Changes:

  • Minor output fix

0.5.0

Changes:

  • Full implementation of garbage collection

  • Improved Cobalt support

  • Improved Python, R support

  • Support for additional array key types (string, float, boolean, etc)

  • New Turbine worker service feature- allows launching a user-specified service on a Swift worker node

  • Full support for @location feature- allows sending a Swift task to a specific rank or hostname

  • New miscellaneous builtin functions

Series 0.4

0.4.0

Changes:

  • Built-in support for Python and R

  • New directory concatenation operator

  • Renamed I/O functions: new names: read(), write()

  • Support for Tcl 8.6

  • STC provides a default output file name

  • New Swift syntax for multiline strings

Series 0.3

0.3.0

Changes:

  • Many new builtin functions, including:

    • File operations

    • Functions to deal with Fortran data

  • Parallel tasks available at the Swift level (@par)

  • Task location targeting available at the Swift level (@location)

  • Ability to call Swift as a library from a larger MPI program

  • Statement sequencing syntax (=>)

  • Syntax for scientific notation

  • New Swift module framework based on import statement

  • Compile-time constants available from STC command line (with optimization)

  • Many improvements to STC optimizations

Series 0.2

0.2.1

Changes:

  • Build fixes for the Mac- thanks to Yongyang Cai for interaction

  • Build fix for strnlen() on some machines

  • Installation fix for SLURM

0.2.0

Changes:

  • Many new builtin functions

  • Many STC optimization improvements

  • Improved app function support, including output redirection

  • Experimental support for garbage collection

  • Limited type inference

  • type and typedef statements

  • Parallel task support in ADLB: not yet available from Swift

Series 0.1

0.1.1

Changes:

  • New string functions

  • New I/O functions

  • Significant runtime local performance improvements

  • STC loop hoisting optimization - improves performance significantly for some patterns such as accessing multidimensional array in loop

  • Miscellaneous bug fixes in STC

  • Experimental support for automatically generating Tcl wrappers for user extension functions

  • Swift/T syntax change: replace @x@ with @prio=x for priority annotation

0.1.0