Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[photran-dev] looking for customers

I'm planning to submit an NSF proposal to support Photran.  This
particular program wants projects to be heavily involved with users,
and requires the measures of success to be in terms of the users.  So,
I'm looking for people (organizations) that would like to officialy be
customers.  The main critieria is that you be using Fortran and be
willing to try Photran.  It is even beter if you are already heavy
users of Photran.  The ideal customer would be an old Fortran project
in a governemt lab that needs to support a number of different
supercomputers, and is always porting to something new.  But I am
interested in *any* customer, even if you are not in the US, only run
your system on one platform, etc.   I don't think there will be any
money for you in this, but i can promise to come teach courses on
using Photran at your institution, to help you with your problems
using Fortran, and to listen carefully to your complaints (and perhaps
even fix the things you complain about!)

The work I am proposing falls into two categories.  One is to do the
things we have been talking about for a long time; handling the C
preprocessor properly, more refactorings, better debugger integration,
better use of type information in the UI, etc.  We are doing some of
that now, but it is hard to tell how long it will take to finish
because we don't have a lot of manpower.   In my opinion, this is all
development and not really research.

The second part is the research.   Imagine that you have one version
of your software that is completely portable, and then you have a
branch for each platform that you support.   Each branch has all the
changes ncessary to tune the program for a particular platform.  The
problem, of course, is that when you make a change to the portable
version, you have to merge it in to each branch, and sometimes that
means figuring out how the change interferes with the optimizations.
This is so painful that most groups do not try this.  (I would be very
interested in talking with a group that does it anyway.)  We will
change Photran and the way it integrates with the version control
system (cvs, subversion, git, etc.) so that it can do this painlessly.
 The key is capturing change at a higher level than just which lines
of which files changed.  instead, the system will represent
refactorings and "tunings" (i.e. changes that improve the performance
for a particular platform) in such a way that it can merge them
automatically, and can precisely identify problems when merging is not
possible.  This will make it easy to do most programming at the
portable level, and then have the system "replay" the optimizations to
make the platform-specific versions.

I am particularly interested in customers who want to try the second
part, but I am interested in all customers, even those who are
perfectly happy with Photran the way it is.

-Ralph Johnson


Back to the top