Fun Stuff > CLIKC
Programing question
Scytale:
Here's something I'm throwing out to all the code monkeys that post here, I think theres a few anyway.
I've just moved departments at work and I've been giving the task of upgrading an old engineering simulation model we have, the model currently runs on an IBM RS/6000 (RISC based AIX server). It's pretty intense, most fo the code is written in Fortran with smatterings of C and COBOL!!!.
There are a few requirements, the main one being that it has to run fast, it's a pretty complicated model it typically runs over about 10,000-20,000 itterations for a simulation, it's programmed to stop when a suitable value of convergence is met. The other big drama is accuracy and floating point precision. This thing is old, it has to be compiled using the compiler in Fortran '77 mode as it doesn't support fortran '90 for some reason. I believe all the floats are only 8bit. Also it has to accept it's inputs from .dat files, being that most of the data for it is now stored in proper databases I'd like to use SQL, which should speed it up a bit as well (fewer file read operations).
I'm pretty tempted to re-write the whole thing in C, since I'm pretty sure I can get it to run a lot faster (this means a lot of manual memory allocation etc). Obviously something this old and this big it's going to be a hassle. I have to admit thhough I'm only semi comfortable with C, i'd much rather work in a nice modern O.O language like say Java, I'm pretty sure this isn't a good idea.
So a couple of questions,
How does a RISC processor effect floating point precision, will this be more dependent on the architecture or the compiler, ideally I would like to make this model as portable as possible.
Java, is it complete ludicrous to expect a high level langauge like Java to be able handle all this intense number crunching.
has anyone done anything similar with upgrading programs written in Fortran, I'd never seen any Fortran code till this morning...
dennis:
This is pretty much out of my league. If you know any engineers there, talk to them. If they're over 30, chances are they love them some Fortran 77. I know they did in my department. Except I chose to learn C++.
JJMitchell:
I would say that while Java is probably capable of doing it there might be better options. c++ isn't a bad option of the ones you mentioned.
Beyond that I can't really give much advice other than to say my inner geek just had a little orgasm and I'm totally jealous that you have a job where this is a problem.
I'm off to setup some mortgage shit. *pouts*
Scytale:
I actually an engineer rather then a programmer and yeah a lot of the older guys do love Fortran, though they also speak fondly about Vax... I borrowed a big manual off my new boss actually...
C++ is a good option, though I don't think it will perform as well as C, should be easier to write though, the only thing I've ever written in C++ has been very simple GUI apps for fun (using GTK), my familiarity with it's library's is not that good, unlike C, which I used at Uni.
My sister who's a bigger geek then me and is studying for her masters in Comp Sci at the moment reccomended I use a functional langauge like Haskell or Lisp, they seem pretty powerful, especially for a lot of the stuff I'm trying to do like converging series and things but I'm pretty sure I'm going to have all sorts of difficulties with setting up the environment getting a working compiler etc.
I'm going t ospend a few days playing with it and getting to know the source code before I make any decisions.
JJMitchell:
Actually I do some work in Scheme (a derivative of lisp) and can say that it is a very light weight language. It is also a pita to get used to the syntax if you have done much other programming.
Navigation
[0] Message Index
[#] Next page
Go to full version