Vikas/docker#62
Conversation
Thomas-Ulrich
left a comment
There was a problem hiding this comment.
Shall we compile with Intel compilers (else the RS setups might be very slow)?
| --disable-dependency-tracking \ | ||
| && make -j$(nproc) && make install | ||
|
|
||
| # 2. Build libxsmm (Compiled ONLY on Intel hosts, cleanly skipped on ARM) |
There was a problem hiding this comment.
"Compiled ONLY on amd64 hosts, "
(e.g. amd processors)
| 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 |
| ENV PYTHONPATH="${PYTHONPATH}:/home/tools/lib" | ||
|
|
||
| COPY entrypoint.sh /entrypoint.sh | ||
| RUN cd /home/tools/bin/ \ |
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
One more thing; this line and the two below should be added again—but with
dneoninstead ofdnoarch.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. :)
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. |
|
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. |
|
You can also use the oneAPI base compiler images if needed. 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? |
|
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. |
|
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. |
|
|
||
| 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`). |
There was a problem hiding this comment.
NEW_BINARY_NAMING?
follow the new binary naming scheme?
| - 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`). |
change label address comments
da90d75 to
7701e3b
Compare
|
@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. |
|
you can merge |
|
LGTM from my side as well |
PR for a PR's sake (i.e. so that we get images built).