Skip to content

Vikas/docker#62

Merged
davschneller merged 9 commits into
mainfrom
vikas/docker
Jun 3, 2026
Merged

Vikas/docker#62
davschneller merged 9 commits into
mainfrom
vikas/docker

Conversation

@davschneller
Copy link
Copy Markdown
Collaborator

PR for a PR's sake (i.e. so that we get images built).

@vikaskurapati vikaskurapati mentioned this pull request May 22, 2026
Copy link
Copy Markdown
Contributor

@Thomas-Ulrich Thomas-Ulrich left a comment

Choose a reason for hiding this comment

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

Shall we compile with Intel compilers (else the RS setups might be very slow)?

Comment thread Dockerfile_jupyterlab Outdated
--disable-dependency-tracking \
&& make -j$(nproc) && make install

# 2. Build libxsmm (Compiled ONLY on Intel hosts, cleanly skipped on ARM)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

"Compiled ONLY on amd64 hosts, "
(e.g. amd processors)

Comment thread Dockerfile_jupyterlab Outdated
COPY --from=0 /home/tools tools
### need to specify --user for gmsh installation, otherwise the tpv13 notebook can't execute !gmsh
RUN conda install \
# Cleanly removed the 'gmsh' token from the pip mapping layer
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

?
remove comment?

Comment thread Dockerfile_jupyterlab
ENV PYTHONPATH="${PYTHONPATH}:/home/tools/lib"

COPY entrypoint.sh /entrypoint.sh
RUN cd /home/tools/bin/ \
Copy link
Copy Markdown
Collaborator Author

@davschneller davschneller Jun 2, 2026

Choose a reason for hiding this comment

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

One more thing; this line and the two below should be added again—but with dneon instead of dnoarch .

Otherwise, the ARM build will not really run.

(or you switch everything to a better name, e.g. with the new binary naming)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

One more thing; this line and the two below should be added again—but with dneon instead of dnoarch .

Otherwise, the ARM build will not really run.

(or you switch everything to a better name, e.g. with the new binary naming)

Done. Please let me know if I missed naming somewhere. :)

@vikaskurapati
Copy link
Copy Markdown
Collaborator

Shall we compile with Intel compilers (else the RS setups might be very slow)?

I thought the jupyter lab container always used GCC and hence I did not make the switch. I can try to build an intel compilers version with icx, icpx on a separate branch if required.

@Thomas-Ulrich
Copy link
Copy Markdown
Contributor

Thomas-Ulrich commented Jun 2, 2026

I thought we used ghcr.io/seisscoped/container-base instead of ubuntu to be able to use Intel compilers:

https://github.com/SeisSol/Training/blob/main/Dockerfile#L35-L36

@vikaskurapati
Copy link
Copy Markdown
Collaborator

I thought we used ghcr.io/seisscoped/container-base instead of ubuntu to be able to use Intel compilers:

https://github.com/SeisSol/Training/blob/main/Dockerfile#L35-L36

Yes, but the compilers and base Ubuntu of these are quite old. I am not sure if the seisscoped has the latest Intel compilers.

https://hub.docker.com/r/seisscoped/container-base shows that the latest one is 22.04.

Do you know where this is? I can check if we could update the base container to a higher Ubuntu and get the more recent Intel compilers there. But for these smaller test cases, for jupyter lab to be run locally, I think gcc should suffice.

@vikaskurapati
Copy link
Copy Markdown
Collaborator

I thought we used ghcr.io/seisscoped/container-base instead of ubuntu to be able to use Intel compilers:
https://github.com/SeisSol/Training/blob/main/Dockerfile#L35-L36

Yes, but the compilers and base Ubuntu of these are quite old. I am not sure if the seisscoped has the latest Intel compilers.

https://hub.docker.com/r/seisscoped/container-base shows that the latest one is 22.04.

Do you know where this is? I can check if we could update the base container to a higher Ubuntu and get the more recent Intel compilers there. But for these smaller test cases, for jupyter lab to be run locally, I think gcc should suffice.

Another consideration would be Intel compilers' support for ARM64. I am not sure if they have support for ARM.

@davschneller
Copy link
Copy Markdown
Collaborator Author

You can also use the oneAPI base compiler images if needed.
Or add the oneAPI repositories to the build (to apt).

And yeah—we might need to switch compilers etc. by arch. It's possible, but probably more involved.

Another question would be—clang? (no icx, but the latest clang)

@vikaskurapati
Copy link
Copy Markdown
Collaborator

You can also use the oneAPI base compiler images if needed. Or add the oneAPI repositories to the build (to apt).

And yeah—we might need to switch compilers etc. by arch. It's possible, but probably more involved.

Another question would be—clang? (no icx, but the latest clang)

I have nothing against it, but if @Thomas-Ulrich 's concern is performance with R+S, is the clang performance benchmarked with those simulations?

@davschneller
Copy link
Copy Markdown
Collaborator Author

Personally, I'd rather try sticking with gcc for now (ICX sometimes even seemed a bit slower to me by now)—or how hard would it be to benchmark all 4 scenarios now quickly?

@vikaskurapati
Copy link
Copy Markdown
Collaborator

Personally, I'd rather try sticking with gcc for now (ICX sometimes even seemed a bit slower to me by now)—or how hard would it be to benchmark all 4 scenarios now quickly?

I would like to stick with gcc for now too, tbh. But I can try clang/icx/other compiler on a different branch sometime.

Do you mean all 4 scenarios with gcc? I think it is a matter of someone putting the effort to run them with different compilers enough number of times to compare them.

@davschneller
Copy link
Copy Markdown
Collaborator Author

Yeah, run all four with the current container (maybe just recording the ETA); if that's good enough we might be able to skip all the other compiler testing even.

Comment thread quakeworx/README.md Outdated

The simplest way to access the input files for the Gateway is by running ``git clone https://github.com/SeisSol/Training.git`` from your terminal locally. Make sure to navigate into the folder _quakeworx_ when uploading the input files to the SeisSol App from the Gateway.

SeisSol binaries in the training container follow NEW_BINARY_NAMING (for example, `seissol-cpu-elastic-p4-f64`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

NEW_BINARY_NAMING?
follow the new binary naming scheme?

Comment thread README.md Outdated
- rconv (tool to describe point and finite source models in SeisSol's NetCDF Rupture Format, https://seissol.readthedocs.io/en/latest/standard-rupture-format.html#how-to-use-rconv)
- SeisSol O4 (pre-compiled SeisSol with 4th order space-time accuracy for elastic and viscoelastic materials, https://seissol.readthedocs.io). We use the SeisSol `v1.0.1`. See the first lines of the SeisSol output to get the exact commit hash.

The SeisSol binaries in the container use NEW_BINARY_NAMING (e.g., `seissol-cpu-elastic-p4-f64` and `seissol-cpu-viscoelastic-3-p4-f64`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same here

change label

address comments
@vikaskurapati vikaskurapati marked this pull request as ready for review June 3, 2026 07:33
@vikaskurapati
Copy link
Copy Markdown
Collaborator

@Thomas-Ulrich @davschneller, any other comments? I think we are ready to merge unless you have any other issues you want to address as part of this PR. I think fixing the simulation files should be a separate PR.

@Thomas-Ulrich
Copy link
Copy Markdown
Contributor

you can merge

@davschneller
Copy link
Copy Markdown
Collaborator Author

LGTM from my side as well

@davschneller davschneller merged commit 8e3ccb8 into main Jun 3, 2026
1 check passed
@davschneller davschneller deleted the vikas/docker branch June 3, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants