Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Math Science

Computer Program For Particle Physics At Risk of Obsolescence (quantamagazine.org) 105

"Maintenance of the software that's used for the hardest physics calculations rests almost entirely with a retiree," reports Quanta magazine, saying the situation "reveals the problematic incentive structure of academia." Particle physicists use some of the longest equations in all of science. To look for signs of new elementary particles in collisions at the Large Hadron Collider, for example, they draw thousands of pictures called Feynman diagrams that depict possible collision outcomes, each one encoding a complicated formula that can be millions of terms long. Summing formulas like these with pen and paper is impossible; even adding them with computers is a challenge. The algebra rules we learn in school are fast enough for homework, but for particle physics they are woefully inefficient.

Programs called computer algebra systems strive to handle these tasks. And if you want to solve the biggest equations in the world, for 33 years one program has stood out: FORM. Developed by the Dutch particle physicist Jos Vermaseren, FORM is a key part of the infrastructure of particle physics, necessary for the hardest calculations. However, as with surprisingly many essential pieces of digital infrastructure, FORM's maintenance rests largely on one person: Vermaseren himself. And at 73, Vermaseren has begun to step back from FORM development. Due to the incentive structure of academia, which prizes published papers, not software tools, no successor has emerged. If the situation does not change, particle physics may be forced to slow down dramatically...

Without ongoing development, FORM will get less and less usable — only able to interact with older computer code, and not aligned with how today's students learn to program. Experienced users will stick with it, but younger researchers will adopt alternative computer algebra programs like Mathematica that are more user-friendly but orders of magnitude slower. In practice, many of these physicists will decide that certain problems are off-limits — too difficult to handle. So particle physics will stall, with only a few people able to work on the hardest calculations.

In April, Vermaseren is holding a summit of FORM users to plan for the future. They will discuss how to keep FORM alive: how to maintain and extend it, and how to show a new generation of students just how much it can do. With luck, hard work and funding, they may preserve one of the most powerful tools in physics.

Thanks to long-time Slashdot reader g01d4 for submitting the story.
This discussion has been archived. No new comments can be posted.

Computer Program For Particle Physics At Risk of Obsolescence

Comments Filter:
  • Is it open source?

    If so, you don't need particle physicists to maintain it. You only need particle physicists to articulate their specific needs. Software engineers and high-flying mathematicians will be better at modernising the UI and squeezing out a few extra cycles at each step of the calculation.

    • Re:Obvious question (Score:4, Informative)

      by Anonymous Coward on Saturday December 03, 2022 @02:50PM (#63099596)
      They try to do this where I work, and it fails miserably. Trying to explain what to do to a programmer who is not a subject matter expert is like trying to explain ray tracing to a chimpanzee.
      • I agree - I once had to work with programmers with no electromagnética background on a Photonics analysis script, and even after weeks they just didnâ(TM)t understand why certain things were important nor where the math came from. They were spent much of the time working on code and coding methods (some of which was very useful), but had no idea how to solve the actual problem involving Fourier transforms etc.
      • They try to do this where I work, and it fails miserably. Trying to explain what to do to a programmer who is not a subject matter expert is like trying to explain ray tracing to a chimpanzee.

        Maybe you just need more chimps and more time [wikipedia.org] ...

      • by Going_Digital ( 1485615 ) on Saturday December 03, 2022 @04:11PM (#63099842)
        I agree, I have worked on code for physics experiments and it is hard if you don’t understand the physics or more precisely the mathematical model behind it. It is the age old problem of a physicist not knowing how to code well and a coder not knowing how to do physics. In many realms it is possible to bridge the gap, but in advanced science that is far more difficult.
        • by arglebargle_xiv ( 2212710 ) on Saturday December 03, 2022 @07:24PM (#63100308)

          Wish I had mod points. I occasionally work with nuclear physicists and it would take me anything from years to a lifetime to learn what they're doing in their code and why, and how to change it without breaking things.

          And to the person who keeps bleating "you just need to explain it, if you can't do that you're an idiot": We have about 6.023e23 books on writing secure software, it's been explained endlessly in hundreds of different ways, and yet we don't have anything like secure software. On top of that, security is simple compared to some of the physics we're dealing with.

          • Re: (Score:2, Funny)

            by Anonymous Coward

            We have about 6.023e23 books on writing secure software

            All those books were written by Avogadro, who was a Mole.

      • The math is done. It's there, it works. The problem is maintenance. That's not a physical problem, it's an engineering problem. In the future new math may be needed. That's not an engineering problem. Let's not conflate the two things. I've migrated code without understand why it does what it does before.....
        • It is done in some sense, but people come up with better ways to do things. A link from the article: https://www.quantamagazine.org/the-algorithm-that-lets-particle-physicists-count-higher-than-two-20211122/

          If you find a better algorithm to simplify an equation, do you write a new program or integrate into an existing one?

          I don’t really believe the premise that nobody will maintain this program. It seems too widely used.

          Migrating/refactoring high performance code can be tricky. You can easily do thin

      • The programmer does need to have SOME subject matter expertise. And it helps for them to have actual interest in the subject.

        Honestly "programmer" feels close to encompassed by "human to computer translation expert". If the subject matter expert is bad at explaining things then the programmer can't do anything to help.

        And honestly I think most people are bad at explaining things. It's one reason I keep thinking we need a change in how we "teach" and "learn". Why not reuse the best methods everywhere? W

      • rying to explain what to do to a programmer who is not a subject matter expert is like trying to explain ray tracing to a chimpanzee.

        In fairness, trying to explain programming to most of the chimpanzees who call themselves "programmers" is even more difficult than explaining Astro Navigation to Arnold Rimmer.

        At least Rimmer could spell "fish"!

      • Please do not disrespect chimpanzees this way.

      • By this measure, no programmer is useful (or at least efficient) in other than a field off endeavor they studied and more or less mastered.

        In the business world you use analysts, Business Analysts most often titled, to understand customer needs and present these to programmers in a manner they can understand and deliver on. If this has already been explained, it ought to be again and again, lest anyone think you need to be a SME to program.

        How the hell do new ideas become useable? You're a SME on the next i

      • 0.So THAT;S why we learn new things...

        1.I assume you have proven examples. Have them use those as reference, and work until they can replicate success...

    • by Yo,dog! ( 1819436 ) on Saturday December 03, 2022 @02:52PM (#63099604)
      It's open source.
      It's highly technical.
      Academia doesn't value software development like it should.
      • Academia doesn't value software development like it should.

        I think it s not as bad as it seems. People writing complicated mathematical software publish papers explaining their new methods, basically they publish the release notes. This Release Notes paper gets plenty of citations when the software is used by other academics.

        Debugging and GUI development is certainly under-valued for the time they take, but breakthrough mathematics/physics made into code makes good publication records for these academics. Arguably GUI development is more a side engineering than the

        • Publish where, what impact factor will that journal have?
          • Publish where, what impact factor will that journal have?

            The IF of the journal does not matter, because the Release Notes is the obligatory paper you have to cite. It will have hundred or thousands of citations independently of where it was published.

            * Gwyddion, GUI image processing software. http://gwyddion.net/publicatio... [gwyddion.net] Their original publication "Gwyddion: an open-source software for SPM data analysis" (2012) https://www.degruyter.com/docu... [degruyter.com] has 2663 citations right now.

            * GROMACS, molecular dynamics software. The group published 200 papers: https://manual [gromacs.org]

      • Academia doesn't value software development like it should.

        Academia doesn't devalue it. The funding agencies, i.e. the government, doesn't value it. If they could get money to work on it, academia would value it just fine. But the government answers to the people who voted for them who demand "value for money" so why are we giving money to slackers who aren't doing important research?

    • you don't need particle physicists to maintain it. You only need particle physicists to articulate their specific needs.

      I do not think so. Bug fixes could be impossible without solid background in mathematics.

      FORM (symbolic manipulation system) [wikipedia.org]

      • by sfcat ( 872532 )
        So it is a bad version of Matlab or Mathematica then. I think the problem here is with the culture of physics. It seems less than advisable to use some custom piece of barely maintained code from the 80s to do your analysis work in the 2020s. It isn't even a real analysis package, it is some weird special programming language hacked together by someone with no real background in Computer Science. It is surprising that they are having issues with it?
        • by test321 ( 8891681 ) on Saturday December 03, 2022 @04:10PM (#63099838)

          It seems less than advisable to use some custom piece of barely maintained code from the 80s to do your analysis work in the 2020s.

          There is the argument It Works. There are millions of lines of code of legacy Fortran code that run the daily weather forecasts or nuclear bomb simulation. Nobody wants to spend millions in porting and validation, to replace something that works with something that maybe does not work anymore. The appearance of new fashionable languages is not enough compelling, when everybody in the field knows Fortran (or Cobol).

        • Re:Obvious question (Score:5, Informative)

          by Yo,dog! ( 1819436 ) on Saturday December 03, 2022 @04:38PM (#63099924)
          You're totally off the mark. FORM is custom code that runs far faster than a Matlab or Mathematica solution would be expected to run (and which would be no easier to develop) and the mostly C code looks well structured and well maintained. It's the code's future that's under discussion.
        • by spazzmo ( 743767 )
          hahahahaha
      • The problem is that many here on Sloshdat do not have any notion of the complexity of the mathematics involved and therefore cannot post meaningful comments.
    • by juancn ( 596002 )
      Sadly yes and the code [github.com] is frankly, horrible.

      It's fairly well commented, but it's extremely idiosyncratic and structured weirdly. At first glance it doesn't look to bad, but once you start going deeper it get weird/

      Many single letter variable names, odd casing conventions, forward and backward gotos, etc. I mean, you can really tell it's sciency code, sucks but gets the job done.

      • by narcc ( 412956 )

        Meh, still better than the NEC code. The comments are extremely helpful, if a bit sparse, which makes me hate it less.

        I don't know that I'd want to maintain it as it is, but I wouldn't mind working on a clean up.

        • Lol, yeah, I was about to mention NEC. It completely blew my mind last year when I briefly got into using NEC for ham radio antenna design and discovered that pretty much every free/open-source program based on NEC is literally just a wrapper around a nearly-incomprehensible 30+ year old Fortran program that pretends it's reading and writing punched cards.

      • Didn't look that bad to me.

        There are a couple of functions in there that are pretty demonic, but they're small and well documented. Someone could re-implement them to look nicer, if they really needed.

        Otherwise, single-letter variable names seem to be limited to iterators, which is a good place for them.
        goto use appeared reasonable from what I scanned- minus a couple of examples of pretty egregious spaghetti (what I suspect you saw)

        It's not beautiful code, but it's not remotely close to horrible.
    • Obvious response: yes. Just do a quick search.

      But I think your quick response is unlikely to be true. For one, the program doesn't have much of a UI (text input, text output), so that's not where the maintenance lies.

      I don't know the details of the program (having just heard of it). It seems like it's mostly a symbolic manipulation program, but geared towards very large equations - equations that cannot fit into main memory of even modern systems. According to the article, it is orders of magnitude faster t

    • People don't pick projects to contribute to at random, you need to have some sort of personal interest to a project to make an effort. So yeah, you need a physicist, because nobody else gives a fig about the project. Also, you probably aren't going to do anything meaningful for such a project if you can't understand the math and particle physics math is a doozie. It most likely doesn't even need any sort of UI, but it probably does need to run on weird supercomputers that are far removed from your everyday
    • The problem is that even if the code is open source, it may still be extremely difficult to figure out how to use it. The input parameters may only make sense to someo with a really deep understanding of the physics, and it may not be obvious how to use the code tuning parameters. The UI is rarely the issue, so much as knowing what you want the code to do. Many of these problems are so computation intensive that they can't be brute-forced.

      A lot of physics code is available free online, so anyone who i
  • All computer programs become obsolete. Replace it with something better.
  • I see the same problem with TRIM/SRIM, which is a freely available and remarkably useful program for particle collision Monte Carlo simulations - but has no open-source analog as far as I can tell. http://www.srim.org/ [srim.org] I wonder if the creator would open source it eventually. Possibly their/otherâ(TM)s careers may depend on it staying closed source.
    • I think SRIM is still native to Windows XP!
    • A lot of SRIM/TRIM is slowly being replaced by more general codes, such as GEANT4. As an aside, I am the author of the electromagnetic ion scattering code which appears in TestEm09 in the GEANT4 libraries. This actually gets highly correct answers for ion scattering in the keV-MeV range, and has been benchmarked extensively in semiconductor applications. Might be worth a try. GEANT4 takes a lot of time to learn, and is slower than TRIM, but infinitely more flexible. YMMV.
  • Just open source too
  • For many fields writing papers is just archaic.

    A lot of value can actually be in datasets, in software or in other things.

    In machine learning for example, a Jupyter notebook is often far better than some poorly written paper that's almost impossible to reproduce. (As some major papers in the past have been)

    • Yeah...but even the best digital artifact is fundamentally ephemeral unless it is well documented in clear language.

      That is what the platonic ideal of the paper is: explain what you did in enough detail for someone to understand, ask intelligent questions, or even reproduce something like your result.

      Dumping a pile of code, even with some comments, is not valid substitute. Because there might be something you forgot to write down, or inadvertently obfuscated for reasons of efficiency or prettiness.

      And peopl

  • Obligatory XKCD (Score:5, Insightful)

    by 140Mandak262Jamuna ( 970587 ) on Saturday December 03, 2022 @03:43PM (#63099764) Journal
    https://xkcd.com/2347/ [xkcd.com] Thanks for the mod points. Yes, it is karma whoring.
  • declare is vital to national security and bung it a large pork barrel - oh wait ... it isn't a large corporation seeking welfare. perhaps the Chinese will take it over.
  • It's not linked to in the article, where is it?

    Some time ago there was an article about needing Computer Scientists to optimize the algorithms that run on HCP clusters, as they'd only been written and maintained by physics grad students. Software to simulate the whole universe, and all the various included laws.

    But where is it? If one wanted to start, where would they look?

  • CERN has software developers - some famous.

    CERN will also have electricity due to France's reactors.

    Maybe they can talk.

  • Let the maintainers of Ptolomy's epicycle program maintain this obsolete pile of code. Time to put the effort into development of the Amplituhedron approach.
  • Dumb question, but doesn't it (basically) work yet (for a lot of useful purposes)?

    Why does it need maintenance? Bitrot lol?
  • Is our problem that we believe the world can and must be split into separate little boxes? And that we can only focus on one box at a time to get true expertise?

    That biologists looking at genes think they can work without knowing about the software that allows their results.

    The physicists looking at particle accelerator results that want to ignore all the methods they use to extract answers with.

    They want to focus on the genes/particles, but aren't willing to spend the effort to maintain good tools and equ

  • Put a little Rust on it. Super-safe coding. Never be a problem again.
  • Anyone who's ever had to use MODTRAN, please raise your hand and suppress your tears.

    There's a slick gui and everything for it, but under the hood is a mess of fortran that compiles into a giant all encompassing blob.

    One controls the behavior of this blob by supplying files called "tapes" to the working directory in which the blob executes. "tape5" contains the "control cards" that determine the execution path inside the blob and "tape6" contains the program output...helpfully formatted in 72 columns with p

  • Due to the incentive structure of academia, which prizes published papers, not software tools, no successor has emerged.

    Such a change that academia is a naturally-occurring aspect of the universe which cannot be influenced along a path which could benefit mankind.

  • by xarragon ( 944172 ) on Sunday December 04, 2022 @12:31AM (#63100772)

    Link (repo): https://github.com/vermaseren/... [github.com]
    Homepage: https://www.nikhef.nl/~form/ [nikhef.nl]
    Written in C, using libgmp and libz. Has complete autoconf/autotools setup.

  • Just because it's orders of magnitude slower, isn't it still better to use a more user-friendly solution and run it on the fastest hardware you can? People are more expensive than computers nowadays, or am I missing something?
    • They are already running it at fastest hardware they can get which are the biggest supercomputers available. There isn't anything bigger to be had.
    • I don't know about this code, but I did work on a plasma physics project at SLAC. The codes people used wold take a month to run a single input case on a supercomputer.
  • by kackle ( 910159 )

    ...only able to interact with older computer code,

    So, rewrite the older computer code, if it's even worth doing.

    and not aligned with how today's students learn to program

    This reminds me of when my little nephew asked why all the clocks in the world aren't replaced with easier-to-read digital clocks. Shouldn't the new students be learning the better tools if they need to use them in their field?

Time is the most valuable thing a man can spend. -- Theophrastus

Working...