HB analysis does not calculate the result

138 views
Skip to first unread message

Jun-ichi OKAMURA

unread,
Sep 5, 2022, 3:12:23 AM9/5/22
to xyce-users
Hi,

I have just compiled Xyce 7.5 on Ubuntu 22.04, then tried to verify it with Xyce_regression test suite. Got 77 failed and all related to HB analysis.
I have also checked the following simple file and got 0.0 as a result. 
Any suggestions are welcome.

Thank you
Jun
-----
.global_param sourcevoltage=2
Vin 1 0 SIN(0 {sourcevoltage} 2e9)
R1 1 0 50
.options hbint numfreq=1
.hb 2e9
.print hb FORMAT=gnuplot vr(1)
.end
----
Open-EDA1:~/Xyce_test$ cat test.cir.HB.TD.prn
Index       TIME              VR(1)      
0        0.00000000e+00    0.00000000e+00
1        1.66666667e-10    0.00000000e+00
2        3.33333333e-10    0.00000000e+00
End of Xyce(TM) Simulation
Open-EDA1:~/Xyce_test$ cat test.cir.HB.FD.prn
Index       FREQ              VR(1)      
0       -2.00000000e+09    0.00000000e+00
1        0.00000000e+00    0.00000000e+00
2        2.00000000e+09    0.00000000e+00
End of Xyce(TM) Simulation


xyce-users

unread,
Sep 5, 2022, 12:01:49 PM9/5/22
to xyce-users
This suggests that you might not have compiled Xyce with a suitable FFT library.

Please post the results of "Xyce -capabilities".  It should be something like this if all the dependencies were properly resolved:

Serial
Verilog-A derived (ADMS) models
Analytic sensitivities in ADMS models
FFT (FFTW)
Reaction parser
Stokhos enabled
Amesos2 (Basker and KLU2) enabled

JUN-ICHI OKAMURA

unread,
Sep 5, 2022, 9:09:38 PM9/5/22
to xyce-users
Hi,

Thank you and see below. I am suspecting something wrong with FFTW3 which was installed by apt command. I will try to compile FFTW3 from scratch, yet appreciate it if there were any other way.

BR

Jun


--
You received this message because you are subscribed to the Google Groups "xyce-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xyce-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/xyce-users/b65bcbff-eb18-44ae-a13b-348708fd10b1n%40googlegroups.com.
--

Trigence

Tokyo, Japan.        Mobile +81-80-4344-6802 

Representative,      Jun-ichi OKAMURA mailto:oka...@trigence.co.jp

---------

CONFIDENTIALITY NOTE:This message contains information, which may be privileged or 

confidential. Any unauthorized dissemination, distribution, copying or use of information is 

strictly prohibited. If you have received this communication in error, please notified the sender 

by email and delete this communication immediately.Thank you in advance for your cooperation 

and assistance.

Message has been deleted
Message has been deleted

xyce-users

unread,
Sep 5, 2022, 9:30:28 PM9/5/22
to xyce-users
Apologies for the noise.  My speculation that FFT was missing was wrong, so it is unlikely that installing FFTW3 from source will solve this problem.

You should probably hold off trying anything else.  I am currently building a new Ubuntu 22.04 virtual machine and will be testing to see if I can reproduce your problem.  I will report back with results when that testing is complete.  It'll take a while, I have to download the Ubuntu installation ISO over a fairly slow connection first.

JUN-ICHI OKAMURA

unread,
Sep 5, 2022, 9:31:39 PM9/5/22
to xyce-users

Hi,

Thank you.

I have compiled Xyce by configure and make following the web site "Building Guide", and Trilinos also. Any other suggestions?

BR

Jun

On 2022/09/06 10:17, xyce-users wrote:
I would not leap to the conclusion that compiling FFTW3 from source is the solution.  That is unlikely to be the problem.  Xyce's configure found fftw3 and compiled it in, so my speculation was wrong and that wasn't the problem.

I have compiled and tested Xyce under Ubuntu 20.04 many, many times, always using FFTW3 installed through apt, and have never seen problems with HB like those you've reported.  We will probably need to know a lot more before determining exactly what could possibly be wrong.

I am rechecking my Ubuntu 20.04 install to make sure nothing is broken,  but at this point I am at a loss to explain how Xyce could be so very wrong on your system if FFT is in fact linked in.

Could you please post how you built Xyce and Trilinos?  Did you follow the Building Guide on the web site, or did you try the CMake build system instead?



On Monday, September 5, 2022 at 7:09:38 PM UTC-6 oka...@trigence.co.jp wrote:

xyce-users

unread,
Sep 5, 2022, 9:38:41 PM9/5/22
to xyce-users
No suggestions at the moment except to wait for me to run my testing on Ubuntu 22.04 to see if I can reproduce your error.  This version of Ubuntu was not tested with Xyce, and there may be some additional step needed on that system that we had not encountered before in prior versions.

JUN-ICHI OKAMURA

unread,
Sep 5, 2022, 10:15:57 PM9/5/22
to xyce-users

Hi,

OK and appreciated, looking forward to seeing your confirmation.

BR

Jun

xyce-users

unread,
Sep 6, 2022, 1:44:43 AM9/6/22
to xyce-users
OK, I finally got my Ubuntu 22.04 virtual machine running and  got Trilinos and Xyce built under it.

I am unable to reproduce your results after following the building guide directions.  So whatever the problem is for you, it's not that there's some secret sauce that got introduced in 22.04.

Here's what I did on my completely clean Ubuntu 22.04 install:

    sudo apt install gcc g++ gfortran make cmake bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool autoconf automake git python3-scipy python-is-python3 
              # scipy is only required by the test suite, and our test suite assumes that python can be invoked as "python" not "python3"
              # the first of these facts is documented in the web page about the test suite, but not the latter --- I'll fix that.
    git clone --recurse-submodules https://github.com/tvrusso/XyceBundle.git
    cd XyceBundle
    git checkout Release-7.5.0
    ./Build_And_Test_Xyce   4       # this is because my virtual machine only has 4 processors --- use whatever your system has here if you choose to try XyceBundle


XyceBundle is a sort of short cut to building and testing Xyce once all the dependencies are installed via apt --- the XyceBundle repository pulls down Xyce, Xyce_Regression, and Trilinos, and has some scripts to automate the building and testing.

All 2400 of the tests in the test suite passed, including all the HB stuff.  And your little sample netlist worked just fine:
   $ cat Jun.cir
   Test HB

   .global_param sourcevoltage=2
   Vin 1 0 SIN(0 {sourcevoltage} 2e9)
   R1 1 0 50
   .options hbint numfreq=1
   .hb 2e9
   .print hb FORMAT=gnuplot vr(1)
   .end
   $ cat Jun.cir.HB.FD.prn
   Index       FREQ              VR(1)      
   0       -2.00000000e+09    1.11022302e-16
   1        0.00000000e+00   -2.22044605e-16
   2        2.00000000e+09    1.11022302e-16
   End of Xyce(TM) Simulation
   $ cat Jun.cir.HB.TD.prn
   Index       TIME              VR(1)      
   0        0.00000000e+00    0.00000000e+00
   1        1.66666667e-10    1.73205081e+00
   2        3.33333333e-10   -1.73205081e+00
   End of Xyce(TM) Simulation

All that XyceBundle does, though, is run exactly the cmake invocation for Trilinos and configure invocation for Xyce that's given in the building guide.  So if you did in fact do exactly what is in the building guide, I can't guess what's wrong.

I can't imagine that the results that you're seeing could possibly be the result of a missing dependency (other than FFT, which you're not missing), since any other missing dependencies would have prevented Xyce from building at all.

Could you please try to run that "apt install" line above and see if it does any actual installation?  If you already have all that stuff, it should just say it is doing nothing.

This is extremely puzzling now.  You aren't, by any chance, building the *parallel* version of Xyce on Ubuntu, are you?  I haven't tried that yet and probably won't have time to do so for another day or two.

xyce-users

unread,
Sep 6, 2022, 1:49:39 AM9/6/22
to xyce-users
Ooops.  My instructions for building Xyce 7.5 out of XyceBundle missed a step.  It would have gotten you the development version, not 7.5.0.

That should have read:

   
   sudo apt install gcc g++ gfortran make cmake bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool autoconf automake git python3-scipy python-is-python3 
              # scipy is only required by the test suite, and our test suite assumes that python can be invoked as "python" not "python3"
              # the first of these facts is documented in the web page about the test suite, but not the latter --- I'll fix that.
    git clone --recurse-submodules https://github.com/tvrusso/XyceBundle.git
    cd XyceBundle
    git checkout Release-7.5.0
    git submodule update              # this was the missing step
    ./Build_And_Test_Xyce   4       # this is because my virtual machine only has 4 processors --- use whatever your system has here if you choose to try XyceBundle

If you were following along at home, you can always do that missing step and then rebuild/retest without doing any of the previous again.  There will be fewer than the 2400 tests I stated.

Jun-ichi OKAMURA

unread,
Sep 9, 2022, 4:08:03 AM9/9/22
to xyce-users
Thank you. I will try to follow the procedure next week.

BTW, I have compiled from Xyce-7.5.TGZ rather than git-clone, so is TGZ not recommended? Or also is it needs the additional procedure like git-clone?

BR
Jun

xyce-users

unread,
Sep 9, 2022, 10:01:27 AM9/9/22
to xyce-users
There should be no difference at all between compiling from a 7.5 release TGZ file from github and doing a git clone of the 7.5 repository state.  It's the same code.

I had only shown my procedure to demonstrate the exact steps I took to get a working version on Ubuntu 22.04.  My use of "XyceBundle" was just a shortcut that included a script that built and installed Trilinos (into a directory in my own home directory) and built Xyce against it in one step.  But that script is doing exactly what the building guide says.

Jun-ichi OKAMURA

unread,
Sep 12, 2022, 1:14:10 AM9/12/22
to xyce-users
Hi, 

I found Xyce_serial which you advised is OK but Xyce_parallel cannot clean the TEST. The Xyce_serial version shows only one fail (Bug_289) even Xyce_parallel shows 124 fails, which are all related to HB/FFT analysis see below. 

Screen Shot 2022-09-12 at 13.56.40.png
I have followed the advised procedure to compile Xyce_serial and modified shell_script/reconfgure_files for Xyce_parallel referencing to BUILD page as same as the first trial. Seems to me that FFTW3 cannot work properly with MPI processing... Any suggestion?

Screen Shot 2022-09-12 at 14.06.38.png


xyce-users

unread,
Sep 12, 2022, 9:47:05 AM9/12/22
to xyce-users
No suggestion at this time.  This is puzzling, as we have been building and testing Xyce with FFTW in parallel for years and never had any problem.

I will have to test out parallel Xyce myself on Ubuntu 22.04 and see if there's anything strange going on. 

xyce-users

unread,
Sep 12, 2022, 9:50:23 AM9/12/22
to xyce-users
There is a strange failure of MPI_TEST/bug_967, which is a test case meant to check for a broken MPI.  It was put in place because Ubuntu 17.10 up to Ubuntu 19,10 (including Ubuntu 18.04 LTS) had a broken MPI build that couldn't be used with Xyce.  The fact that that test is failing may be important.  But it has nothing to do with FFT or HB, so it may be a red herring.

Unfortunately, I can only work on Ubuntu 22.04 testing in my spare time and probably won't get to it for a few days.

xyce-users

unread,
Sep 12, 2022, 10:41:09 PM9/12/22
to xyce-users
Well, not a few days.  I looked into it this evening.

I have just built Xyce 7.5 on my Ubuntu 22.04 virtual machine with OpenMPI and it passed all the tests, including the MPI_Test/bug_967 that had worried me in your results.  So whatever is going on for you is not some weird quirk of Ubuntu 22.04.  I cannot account for how your build is failing when mine on the same operating system is working just fine.

At this point, the only thing to do is to dig down and figure out exactly *how* all your tests are failing and then *why*.    Since this is unlikely to be of general interest to the group, we should probably continue this off-line by your sending some information to xy...@sandia.gov, our support email address.

Let's start with this:  please send us the exact cmake invocation you used to build trilinos and the configure invocation  you used to build Xyce.  Then please attach the file "test_results" that was created in the directory you told run_xyce_regression to use for its output --- this file contains a list of only those tests that didn't pass.  While you're at it, please send your run_xyce_regression command line.

Once I see the list of all the tests that are failing, I will need to ask you for some additional files created by the testing process so we can see how and why they failed. 

JUN-ICHI OKAMURA

unread,
Sep 12, 2022, 10:53:49 PM9/12/22
to xyce-users

Dear Sir,

Thank you and will follow your suggestion. I am traveling now and back this weekend to reply to xy...@sandia.gov.

BR

Jun

JUN-ICHI OKAMURA

unread,
Oct 10, 2022, 8:52:29 PM10/10/22
to xyce-users

This is summary of compilation process;

1. Install all necessary modules as following;

sudo apt install gcc g++ gfortran make cmake bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool autoconf automake git python3-scipy python-is-python3

2. Install mpi related following modules

sudo apt install openmpi-bin libopenmpi-dev

3。Cloned XyceBundle from git and followed the suggestions

git clone --recurse-submodules https://github.com/tvrusso/XyceBundle.git

cd XyceBundle
git checkout Release-7.5.0
git submodule update

5。Make below new script files by attached diff files.

Build_And_Install_Trilinos_Paralle
Build_And_Test_Xyce_Parallel
trilinos_reconfigures/reconfigure.trilinos.Linux_parallel
xyce_reconfigures/reconfigure.xyce.Linux_parallel

Permit execution all by chmod +x

6。Build

Build_And_Test_Xyce_Parallel #N

BR

Jun

On 2022/10/09 9:37, JUN-ICHI OKAMURA wrote:

Apologies, for the late reply.

I got a clean test result with Xyce parallel compilation, after when I reinstalled ubuntu 22.04 into the server.

I might have something wrong with preparation or contention to other applications around FFTW3 modules, I guess.

Anyway, thank you for your best advice.

BR

Jun

On 2022/09/13 11:41, xyce-users wrote:
--

Trigence

Tokyo, Japan.        Mobile +81-80-4344-6802 

Representative,      Jun-ichi OKAMURA mailto:oka...@trigence.co.jp

---------

CONFIDENTIALITY NOTE:This message contains information, which may be privileged or 

confidential. Any unauthorized dissemination, distribution, copying or use of information is 

strictly prohibited. If you have received this communication in error, please notified the sender 

by email and delete this communication immediately.Thank you in advance for your cooperation 

and assistance.

Build_And_Install_Trilinos.diff
Build_And_Test_Xyce.diff
reconfigure.trilinos.Linux.diff
reconfigure.xyce.Linux.diff

JUN-ICHI OKAMURA

unread,
Oct 10, 2022, 8:52:29 PM10/10/22
to xyce-users

Apologies, for the late reply.

I got a clean test result with Xyce parallel compilation, after when I reinstalled ubuntu 22.04 into the server.

I might have something wrong with preparation or contention to other applications around FFTW3 modules, I guess.

Anyway, thank you for your best advice.

BR

Jun

On 2022/09/13 11:41, xyce-users wrote:
Reply all
Reply to author
Forward
0 new messages