COMPUTING SEMINAR

Title : Scientific Computing using the Blitz++ Class Library (Part 2)
Speaker : Todd Veldhuizen / Univerity of Waterloo
Date : Friday 24 April 1998 at 14:00hrs
Place : IT Auditorium, bldg 31/3-005
Organiser : G.Folger / IT

*** PLEASE NOTE UNUSUAL DAY AND TIME ***

ABSTRACT

The language C++ has features which make it attractive for scientific computing: templates for generic programming, operator overloading for expressiveness, and object-orientation for abstraction and code reuse. Despite these features, the scientific computing community has been reluctant to adopt C++, partly due to performance problems. In the early 1990s, C++ programs were much slower than their Fortran counterparts -- typical benchmarks showed C++ lagging behind Fortran's performance by anywhere from 20% to a factor of ten. Users of C++ often rewrote the number crunching parts of their programs in Fortran to get acceptable performance.

In the past five years, the performance of C++ programs has improved markedly due to a combination of better optimizing C++ compilers and new library techniques. In some recent benchmarks, C++ is even faster than Fortran. In this article, I'll explain these techniques and show benchmarks comparing a C++ class library (Blitz++) to Fortran.