Replies: 3 comments 2 replies
-
The dependency build script
|
Beta Was this translation helpful? Give feedback.
-
Thank you for looking through the instructions and sharing your feedback!
That's great that you look into those. The online documentation does intentionally have a collapse/expand feature to let you inspect those and they are part of the source directory in
That is fully optional. The scripts do not require that you put the source of ImpactX there and you can indeed use whatever location you like, have multiple copies, etc. As an advanced user, you can adjust this part as you need. We just make it explicit in the docs here to make it simple for less experienced developers/users and to make sure that if they copy-paste the instructions top-to-bottom that they will have a working instruction set. Update: oh wait, Python install logic reads this. See here.
We do not need this. Copied over from WarpX instructions, please submit a PR to clean this line out.
Yes, we usually use a
Fixing version numbers is fully intentional. There is zero guarantee that two version numbers provided in modules are ABI compatible. To avoid nasty bugs at runtime, we rather throw an error if a version is gone than letting it corrupt a production run that was compiled with an older version, then the default changed, and at runtime the newer default is taken. |
Beta Was this translation helpful? Give feedback.
-
Hi Axel,
Could you walk me through the preferred workflow for ImpactX PRs? Could you
point me to the right place if I'm going to edit the documentation directly?
Thanks,
Eric
…On Tue, Jun 10, 2025 at 5:59 PM Axel Huebl ***@***.***> wrote:
Thank you for looking through the instructions and sharing your feedback!
I get suspicious when I'm told to just run a bunch of scripts without
knowing what they are doing so I was looking at the scripts mentioned in
the instructions here:
https://impactx.readthedocs.io/en/latest/install/hpc/perlmutter.html
That's great that you look into those. The online documentation does
intentionally have a collapse/expand feature to let you inspect those and
they are part of the source directory in docs/source/install/hpc/
First thing that bothers me is that you are expected to put the source in
$HOME/src/impactx
That is fully optional. The scripts do not require that you put the source
of ImpactX there and you can indeed use whatever location you like, have
multiple copies, etc. As an advanced user, you can adjust this part as you
need. We just make it explicit in the docs here to make it simple for less
experienced developers/users and to make sure that if they copy-paste the
instructions top-to-bottom that they will have a working instruction set.
BOOST_ROOT
We do not need this. Copied over from WarpX instructions, please submit a
PR to clean this line out.
The build procedure seems to put the build products in a specific
directory in CFS. That should also be easily changeable. I might want or
need to have several built versions accessible at once.
Yes, we usually use a SRC_DIR and SW_DIR variable in our scripts in
ImpactX/WarpX that can be adjusted for all dependencies. Maybe the one in
ImpactX needs that overhaul and is outdated, we should def use this.
The script also loads various modules with specific version numbers.
Module version numbers change frequently. In fact, the version currently
listed is not the default version. Why? There should be a comment next to
it about that.
Fixing version numbers is fully intentional. There is zero guarantee that
two version numbers provided in modules are ABI compatible. To avoid nasty
bugs at runtime, we rather throw an error if a version is gone than letting
it corrupt a production run that was compiled with an older version, then
the default changed, and at runtime the newer default is taken.
Explicit updates help here, that's why we do the extra work to maintain
(document) tested versions of modules.
—
Reply to this email directly, view it on GitHub
<#978 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD4V5DARBS7EEOK3YI2A7ZD3C5PN3AVCNFSM6AAAAAB6DQEMWWVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGNBSGY2TMMY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm a newbie on building ImpactX but I've been building other software at NERSC for a long time. I get suspicious when I'm told to just run a bunch of scripts without knowing what they are doing so I was looking at the scripts mentioned in the instructions here:
https://impactx.readthedocs.io/en/latest/install/hpc/perlmutter.html
First thing that bothers me is that you are expected to put the source in
$HOME/src/impactx
. Maybe I have other things in$HOME/src
and don't want to mix them up with impactx, or maybe I want to have multiple live impactx branches going at once. How about putting it in$IX_HOME/src/impactx
and the instructions are to setIX_HOME
to an appropriate value?The profile script has a bunch of old stuff hardcoded that does not even exist anymore. The named directory does not exist.
The build procedure seems to put the build products in a specific directory in CFS. That should also be easily changeable. I might want or need to have several built versions accessible at once.
The script also loads various modules with specific version numbers. Module version numbers change frequently. In fact, the version currently listed is not the default version. Why? There should be a comment next to it about that.
Beta Was this translation helpful? Give feedback.
All reactions