Short Hands-On Introduction to Fortress

Monday, April 20th, 2009, 10:30AM-4:30PM (MIT Stata Center, 32-D463)

The tutorial has been held; thanks to everyone who showed up! If you were at the tutorial, feel free to edit this page to add comments about the course and suggestions about how to improve the class in future.

Slides

 Slides for the tutorial can be downloaded.

Introduction

Fortress is a new programming language designed for high-performance computing (HPC) with high programmability. Fortress features include implicit parallelism, transactional memory, and a syntax based on mathematical notation. In this tutorial, we will give a hands-on introduction to the Fortress programming language for experienced programmers through short programming examples. By the end of the tutorial, you will have written short parallel programs, and have run them on your laptop. The tutorial will be given by Sukyoung Ryu and Jan-Willem Maessen, two members of the Programming Language Research Group at Sun Microsystems Laboratories. Participants are expected to bring their own laptops.

Fortress reference card

A quick Fortress reference card is now available.

Preparing for class

In order to run Fortress on your laptop, you will need the following:

  • Java 1.6 or better
  • Ant 1.6 or better
  • Your favorite text editor

Note that the speakers are most familiar with Mac and Solaris; if you plan to bring your Windows laptop it is a good idea to install and test Fortress in advance.

Install problems encountered:

  • Class file version number errors indicate that Java 1.6 is not being used.
  • Using Java 1.6 on a Mac should be better documented somehow.
  • Running from DOS works well if FORTRESS_HOME is set first.
  • There are spurious uses of FORTRESS_HOME in FORTRESS.BAT that should be fixed.
  • Cygwin resulted in serious problems that we weren't able to trace. Falling back to the DOS command line, everything worked OK.

Install Fortress in advance:

  • If you are interested, you can install this zip distribution for Fortress (svn version 3625), or use an svn release that is at least this recent. Unzip the zip file and make sure you can run bin/fortress or bin/fortress.bat.
  • If you are comfortable with svn, you may find it easier to get Fortress from our svn repository. See the instructions on our Quick Start Page.
  • Make sure you can run hello.fss in the resulting distribution. Better still, run ./ant test and make sure it runs to completion without errors.
  • Add the bin directory of the Fortress distribution to your path if you like. (Otherwise, be prepared to run all the Fortress tools using an explicit path).

If you have questions or problems in this step, please drop an email to us: Sukyoung.Ryu@…, JanWillem.Maessen@….

Schedule

  • 10:30: Welcome, Install instructions, Exercise 0
  • 11:00: Introduction to the Fortress programming language
  • 11:30: Exercise 1
  • 12:00: Lunch (provided)
  • 1:00: Fortress libraries
  • 1:30: Exercise 2
  • 2:00: Parallelism in Fortress
  • 2:30: Exercise 3
  • 3:00: Break
  • 3:30: Fortress type system
  • 4:00: Exercise 4

Attachments