I saw it live in CERN when I stayed there during 2003-04 timeframe. Depending on the research group, the code was either mostly Fortran or C++.
Python is used everywhere from running builds, automate data acquisition or show nice data GUIs. On my group, TDAQ-Atlas, Java was actually used for the data rendering part. -- Paulo Russel Winder Wrote: > On Sun, 2011-12-18 at 10:30 -0500, dsimcha wrote: > [...] > > Please elaborate. I think D for HPC is a terrific idea. It's the only > > language I know of with all of the following four attributes: > > For years HPC was Fortran only (*). Many of the codes used today were > written in the 1970s and Fortran compiler technology revolves around > making those sequential codes run on parallel kit. > > During the 1990s there was a move to writing new codes in C++ -- > especially in the HEP area. Of course many of these codes rely on being > able to call into the Fortran codes. > > With the rise of data visualization there was a need for a language for > writing GUIs and the like, and they have decided on Python since it > connects to C and C++ trivially. They also found SciPy and NumPy which > actually leads to prototyping new codes in Python and then rewriting in > Fortran or C++ if there is a need to -- which often there is not. > > With PyPy now running faster than CPython there is a possibility that > new codes other than core computation frameworks will always be in > Python. > > Given the time and effort it took to get C++ accepted by this Fortran > oriented community. > > > 1. Allows you to program straight down to the bare metal with zero or > > close to zero overhead, like C and C++. > > Or Fortran. > > > 2. Interfaces with C and Fortran legacy code with minimal or no overhead. > > This is an essential. This is Go's biggest problems, it cannot link > easily to existing codes. > > > 3. Has modern convenience/productivity features like GC, a real module > > system and structural typing via templates. > > The bulk of the HEP community might know the words but only if it is in > Fortran -- or C++. > > > 4. Has support for parallelism in the standard library. (I'm aware of > > OpenMP, but in my admittedly biased opinion std.parallelism is orders of > > magnitude more flexible and easier to use.) > > The main current tool is MPI for cluster and multicore parallelism using > SPMD and MIMD models, and OpenMP for thread management on multicore > systems. Fortran, C, C++, and Python all have MPI capability and > Fortran, C, and C++ have OpenMP -- OpenMP isn't relevant to Python. > This has been the model for 20 years and is likely immovable. No matter > how good a different model is, it is fighting a war on an entrenched > technology. > > The issue is not really a technical one, it is an inertia and > expectation, even political, one. > > C++ broke into the Fortran dominated area by fiat of a group of people > in the HEP community. Also Barton & Nackman "Scientific and Engineering > C++: An Introduction with Advanced Techniques and Examples" was an > important factor. > > The question is what is the need and the vector for D to gain traction > in this area where it really does have a USP? > > > (*) FORTRAN and Fortran are different languages. The case was changed > formally with the Fortran 1995 standard. > -- > Russel. > ============================================================================= > Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net > 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk > London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder >