swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Swarm-Modelling] Floating point arithmetic


From: Russell Standish
Subject: Re: [Swarm-Modelling] Floating point arithmetic
Date: Wed, 4 May 2005 09:17:01 +1000
User-agent: Mutt/1.4i

Well I suppose serious is a rather overloaded word. However, many
times I have had to revise my conclusions obtained from play on my
laptop after running my model on a faster computer for more timesteps,
or more entities. More computational power opens up more modelled
phenomena.

I would disagree that using Java is easier than using C++. I wouldn't
claim the opposite either. My experience with Java has been quite
negative - but that is probably explained by my relative inexperience
in Java development environment vs C++ ones.

I do agree that an environment like Matlab is easier to program than
C++, but that's another story entirely.

The only reason I can think of for using Java is production of web
applets. Great for pedagogical demos, but useless for research. Not
enough reason to give up the syntactical richness of C++, nor its
inherent speed advantage. Parallel programming support is nice too,
but most of my models tend to be serial or batch parallel. Parallel
support in Java is much more limited.

Cheers

On Tue, May 03, 2005 at 02:23:36PM +0100, James Marshall wrote:
> Hi Russell,
>   define serious production work!
>   With Repast I think there is quite a lot of Java modelling being 
> done... I made the switch to Repast from Swarm some time ago. A lot of 
> the modelling people want to do is for much smaller scale models than 
> the kind you probably use at UNSW's HPC unit, i.e. models where the 
> sensitivity and robustness analyses can often be done by running a batch 
> script overnight on your desktop PC.
>   I even did a larger model (that ran via batch parallelism on Imperial 
> College's HPC machines) for a consultancy project in Java Swarm, my main 
> motivation being ease of model construction and maintenance for the 
> other people on the project, who didn't have good software engineering, 
> C++, etc. backgrounds. There were some performance issues to work 
> around, but I felt efficiency of modelling was more important than 
> runtime efficiency (I have to say, if I'd already tried Repast before 
> starting the project I probably would have chosen that over Java Swarm 
> for the same reason)
>   But, Gary's work on floating point precision in modelling is very 
> sobering, and he's quite right to point out Java's inadequate support in 
> this area. I should definitely be revising my practices after reading 
> Gary's work, but have to confess it has slipped my mind!
>   Regards,
>       James
> 
> Russell Standish wrote:
> >On Sun, May 01, 2005 at 06:40:45PM -0600, Marcus G. Daniels wrote:
> >
> >>I see the two worlds (ahead of time compilation and just in time 
> >>compiation) coming together, as the crucial issue for future performance 
> >>of complex codes will have as much to do with effective dynamic code 
> >>partitioning over independent compute engines (finding parallelism) and 
> >>identification of runtime bottlenecks like out-of-cache memory access.   
> >>Expensive ahead-of-time analysis and mapping of user code to the CPU 
> >>architecture(s) in a system will still be important, but since dynamics 
> >>of programs can change over time (e.g. as in an agent based simulation), 
> >>it will also be useful to have system support to do things like 
> >>adaptively arrange the access pattern over a working set to fit in cache.
> >
> >
> >This is a fair comment, and I hope this does come to pass. The current
> >"two cultures" situation is a bit of a pain.
> >
> >
> >>>1) I learnt C++ in 1993/4, a decade after the language came out. At
> >>>that time, it was completely unknown in computational science. Even
> >>>C was considered a novelty at the time, barely registering in a
> >>>world of Fortran77.
> >>>
> >>
> >>In contrast, Java took off relatively quickly..  
> >
> >
> >In computational science, Java has not taken off at all. I know of not
> >one computational scientist using Java for serious production
> >work. There are some pedagogical examples written in Java, and
> >occasionally these might provide research outcome too, but that is
> >often incidental. Usually, the models need to be rewritten in C++ or
> >Fortran to be serious research tools.
> >
> >Matlab stands in similar role to Java as well. It is used for
> >prototyping, and for some problems, the prototype will ultimately
> >provide the searched for answer. However, many times, the Matlab code
> >needs to be rewritten, usually in Fortran90.
> >
> >A decent optimising, autoparallelising Matlab compiler could be a real
> >boon. I think the problem is that Matlab is basically a product, not a
> >language standard.
> >
> >Cheers
> >
> >
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >Modelling mailing list
> >address@hidden
> >http://www.swarm.org/mailman/listinfo/modelling
> 
> -- 
> Dr James A. R. Marshall
> Department of Computer Science
> University of Bristol
> http://www.cs.bris.ac.uk/home/marshall
> _______________________________________________
> Modelling mailing list
> address@hidden
> http://www.swarm.org/mailman/listinfo/modelling

-- 
*PS: A number of people ask me about the attachment to my email, which
is of type "application/pgp-signature". Don't worry, it is not a
virus. It is an electronic signature, that may be used to verify this
email came from me if you have PGP or GPG installed. Otherwise, you
may safely ignore this attachment.

----------------------------------------------------------------------------
A/Prof Russell Standish                  Phone 8308 3119 (mobile)
Mathematics                                    0425 253119 (")
UNSW SYDNEY 2052                         address@hidden             
Australia                                http://parallel.hpc.unsw.edu.au/rks
            International prefix  +612, Interstate prefix 02
----------------------------------------------------------------------------

Attachment: pgpQotPzHAsBa.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]