Comments (3)
-
you are right about tuning on microarchitectures, using container instead of working directly on bare metal nodes is a compromise. One can discuss about pros and cons for long and i do no thing it is relevant here.
One should take this just as another way to run warpx on HPC clusters. -
I did no think for now about publishing the images, but yes
Dockerhub
could be a possibility, but certainly coming with storage limitations. Best is to have your own local registry with controllable storage capabilties. -
About implementing other warpx options: of course one can add other option to the building procedure in the
.def
files.
from warpx.
Thank you @denisbertini , that is awesome! We have containers planned for users but did not yet get to it.
I would suggest the following workflow: we could build singularity containers via GitHub actions cronjob nightly and on every release.
There are a few nitpicks with containers we need to be aware of:
- we cannot tune for CPU microarchitectures, which according to our tests usually leaves about 2.5% performance on the table, but this gap might increase a bit in the future
- we need to build at least for OpenMPI and MPICH, to be compatible with many host MPIs.
Do you have a good workflow for publishing the generated images? GitHub has a registry, but I think the storage is very limited (we can ask for more, but not clear if we get it). Is there something like Dockerhub for Singularity these days?
Small note: your containers do not yet build the RZ geometry, so we can add that, too :)
-DWarpX_DIMS="1;2;RZ;3"
from warpx.
One should take this just as another way to run warpx on HPC clusters.
Oh yes, fully agree. Was just listing for completeness. I think it is a great addition and we can add a comment in the docs to be transparent. I think this will be super useful for many workflows, including AI/ML, optimization runs, etc.
own local registry with controllable storage capabilties
Ok, gotta check. We might be able to use NERSC's GitLab as well.
About implementing other warpx options: of course one can add other option to the building procedure in the .def files.
Yup, that's what I was thinking, too 👍
from warpx.
Related Issues (20)
- CUDA initialization failed HOT 5
- CMake: Finalize WarpX/ABLASTR Installer HOT 2
- CI: CUDA RZ PSATD
- NERSC Perlmutter Compilation Error (pre-#4986) HOT 3
- Error recompiling on Lassen HOT 3
- Some basic AMR questions`1 HOT 2
- Adios2 using Blosc2 HOT 3
- Poor scaling to multiple GPUs with electrostatic solver HOT 5
- PICMI documentation is gone HOT 4
- Issue with Limiting External Electric Field to Specific Boundary in 3D Simulation HOT 9
- Clean code: remove `tmp_particle_data`
- Bug: Invalid memory access occurred during AMReX::GpuDevice::streamSynchronize HOT 10
- Convergence behavior of electrostatic solver changes whether embedded boundary support is on or off HOT 2
- Cannot get FFT method to work for electrostatic solver HOT 5
- NumPy 2.0 Compatibility HOT 5
- Runtime error with Laser Ion acceleration test run HOT 9
- Clean code: avoid duplication in Source/Parallelization/WarpXComm.cpp
- AMReX: Conduit with SoA Particles Broken HOT 4
- How to utilize WarpX to investigate the evolution of relativistic electron beams in vacuum HOT 2
- Laser injected at an angle having non-physical effects HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from warpx.