Repository navigation
ECCE is active again: what has changed, and where it is going #268
ohlincha
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ECCE, the Extensible Computational Chemistry Environment, was developed at Pacific Northwest National Laboratory until 2013. We picked it up in 2017 and kept it building for a while, but a code base of about 1,200 C++ files, written for the systems of the 2000s, was too large for a few people to keep current alongside their own work, and by the early 2020s it no longer built on current systems. Over the past months, with the help of AI, we have brought it back onto them.
What changed (8.x)
.deband.rpmpackages instead of the old build scripts.What is new in the 9.0 previews
How it was done
Much of this modernisation was done with an AI coding assistant (Claude), working under our direction: porting code, writing tests and documentation, and tracking down old bugs. Every change was reviewed, and the decisions on design and direction were ours. Each release is checked against a set of real calculations and built and tested on Linux, Windows and macOS. The README says the same.
Where it is going
Right now we are fixing and implementing: 9.0 is in beta, and testing on Windows and macOS turns up things to fix every week. Once 9.0 is out, the work will shift to maintenance.
We have also changed what made ECCE fall behind last time. The original source carried its own copies of seven other programs and libraries: wxWidgets, Mesa, Xerces-C, the Apache web server, ActiveMQ with Java, NWChem and a Perl module, plus its own copy of the Open Inventor 3-D library, all of them aging along with ECCE. It now uses the versions that come with the operating system, and builds with standard tools (CMake). Every change is built and tested automatically on Linux, Windows and macOS, so a break shows up the day it happens rather than years later. And keeping up with new systems is now a task we can manage with AI assistance, rather than one that needs a team. We intend to keep ECCE running on current systems from here on.
How to take part
ecce --bugcollects the logs that help.Andy Ohlin
All reactions