Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #187 spectrum: write input file path for each block in the output JSON file #190

Merged
merged 4 commits into from
Feb 6, 2024

Conversation

vasdommes
Copy link
Collaborator

  • spectrum: write input file path for each block in the output JSON file #187
    Added "block_path" field for each block.
    Example:
    [
    {
    "block_path": "test/data/spectrum/matrix/pmp.xml",
    "zeros":
    [
    ],
    "error": "5.429771596769312184535668038468911539759940662901028162749495519013509037247620960768141321327882432805452272879980489718253827609253386051253288046180277373127257180078401955697263585532647568639824447988688492466336485053375681892993114530873804445879448324419581326089371655314254986752860257182521168499296e-31"
    },
    {
    "block_path": "test/data/spectrum/matrix/pmp.xml",
    "zeros":
    [
    {
    "zero": "1.344386196155997494649115541556055680779288071443475472658297186359057835165095752578565899117525650315582818302022506817287388344444495185930471309274477211608561831573348526026012247487431161798482826542828707167515732449524468157043917696557720551156378398246706363426750115300061228240534453019807402628912",
    "lambda":
    [
    "-0.3559184903564825058880080430651484728773534402055623418111493954738237968330942679483672624227710803343181043089677314088630363780538243012805308586583878323185576389297608278031796287652332797309891956140099169830705502765883745239440114220174206083500796947263763821895044734809117530057953027490216952969409",
    "0.4229372746520496473797877248830593349110374988636914636540851411628556827814030398913949809091012112986363672037669076407276396951757496137173963235720053945008178020087908994931063752019636206183453627322858073988658025335122961607407936659872800542120124152580465834943202526362014922162994798565661901716801"
    ]
    }
    ],
    "error": "2.106341529054153493822615203762740915252698509836743151085700344932498499775784575219216154565981214469609051205877899311066284177077079288235775383183588788802297257627895669117791050910283709418273131529034572615330843471944050739804017779982180774619544925919578248471888246304789464530575701354050007739832e-27"
    }
    ]

… instead of MPI_Reduce.

Data for each block are stored on single rank only, but old version was calling MPI_Reduce for each BigFloat value.
The value equals zero on all ranks expect for the one that owns current block.
Thus, it is sufficient to MPI_Send value from this rank to root.
… JSON file

Added "block_path" field to JSON
…ctrum.json output

For example, the path (e.g. read from nsv file)
  ./a/b/../c/d
will be converted to normalized absolute path, e.g.
  /home/johndoe/sdpb/a/c/d

weakly_canonical will not throw error if path is missing.
@vasdommes vasdommes added this to the 2.7.0 milestone Feb 6, 2024
@vasdommes vasdommes self-assigned this Feb 6, 2024
@vasdommes vasdommes merged commit d16007c into master Feb 6, 2024
2 checks passed
@vasdommes vasdommes deleted the spectrum-block-path branch February 6, 2024 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant