Home research People General Info Seminars Resources Intranet
| Software & Systems Group | Home | People | Publications | Links
Minipolaris Compiler Project - Project Home Page

Minipolaris Compiler Project

Student Information and Resource Page

What is Polaris?

Polaris is a source to source transforming compiler, originally developed at UIUC, intended to parallelize programs written as conventional, sequential algorithms. Polaris is essentially a driver routine which scans a FORTRAN 77 program and converts it into an Abstract Syntax Tree (AST). Then, various passes are called by the driver on the AST. Each pass attempts to optimize the program via specific methods, such as constant propagation, reduction recognition, etc.. The driver program completes its task by printing the program.

What is MiniPolaris?

MiniPolaris is a version of Polaris with only the most fundamental passes.The source program is read, parsed, and converted to an AST. The user will then provide custom passes to extract information and/or make transformations on the statements. After the custom passes are executed, the driver program outputs the resulting code.

Make sure to take a look at the MiniPolaris documentation.

Getting started

To get started with MiniPolaris the first thing to do is to join 605's Piazza page This is very important. All official announcements (e.g. project deadlines will be posted there. This is also the place to ask questions and to have discussions. You are encouraged to participate in discussions and answer question from your fellow students.

Next, you need to setup the MiniPolaris environment. Instructions how to do this can be found in the setup section.

It's also very important to get more familiar with Minipolaris.
Here is a small list of resources:

Read these documents carefully before you start and use them as a reference during the projects. They are essential for a successful completion of the projects. Also check the class newsgroup regularly for the latest information. If you are not familiar with programming in Fortran you also need to learn some of the basics. There are many resources online to learn more about Fortran. Some examples are: A powerpoint presentaton of a small introduction to the project can be found here

Submissions and Deadlines

All projects must be submitted through CSNET. There you can also find the correct deadlines for the submissions.

Non-cse students should also be able to use CSNET to submit projects (although it might need some explanation according to cse helpdesk). If you have any question regarding using CSNET, please take a look at their wiki page or send an email to cse helpdesk.

For every project create a gzipped tar file in the form of projectXXX_UIN.tar.gz where XXX is the project number (e.g. project1A) and UIN is your UIN number. Furthermore, make sure you clean up your code before you submit (e.g. no core files, executables, object files). Also include a README file where you explain your approach.Make sure you submit your projects on time. Points will be subtracted for late submissions.

Project Handouts

Get Help!

Additional Resources