Skip to content

Conversation

infinitymdm
Copy link
Contributor

Summary

Initial inclusion of the Xyce parallel analog circuit simulator. Xyce performs many of the same functions as ngspice, but is optimized for highly parallel execution. This makes it possible to run simulations on much larger circuits, or even distribute simulation across many compute devices.

Test Plan

  • Use Xyce to test a simple RC low-pass filter circuit with .ac analysis

Checklist

  • Package was built and tested against unstable
  • This change could gainfully be listed in the weekly sync notes once merged

@infinitymdm
Copy link
Contributor Author

Not gonna lie, this was awful to build. Trilinos in particular is a mess. Eventually I was able to get it all working though, with the caveat that I haven't tested it on a parallel filesystem (though since parallel fs is usually a high-availability server thing, I'm pretty sure that doesn't matter)

@infinitymdm
Copy link
Contributor Author

I see the checks - will add monitoring & fix the .a's.

@malfisya malfisya added the Topic: Sync Notes This PR/Issue can be highlighted in sync notes label Jul 11, 2025
Copy link
Member

@EbonJaeger EbonJaeger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple things besides the static libs.

Copy link
Member

@EbonJaeger EbonJaeger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the xyce package, I notice that it looks like there's a directory missing in the paths, i.e. it installs /usr/share/XyceRest.py instead of /usr/share/xyce/XyceRest.py. The path /usr/doc/README.TXT also looks strange to me.

I notice that they say that the CMake build is experimental; maybe it will install to the correct locations if we use the old autotools build system?

@infinitymdm
Copy link
Contributor Author

infinitymdm commented Jul 18, 2025

I notice that they say that the CMake build is experimental; maybe it will install to the correct locations if we use the old autotools build system?

The Xyce autotools build tries to find Trilinos by looking for Makefile.export files for its various packages. These don't appear to be available when building Trilinos with cmake, as I'm doing currently. Note that cmake is the recommended way to build Trilinos; their website no longer provides instructions for building with anything else.

If the choice here is between building Trilinos with an old, potentially unmaintained build system and building Xyce with a beta build system, I'm in favor of building Xyce with cmake and manually fixing the couple of odd install paths. Thoughts?

EDIT: I see it's a lot of problematic paths. Looking for solutions within the constraints of the build system. If all else fails I can do a more manual install, but let's hope it doesn't get that messy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Topic: Sync Notes This PR/Issue can be highlighted in sync notes
Projects
Status: Triage
Development

Successfully merging this pull request may close these issues.

3 participants