forked from ECP-WarpX/WarpX
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'development' into fix_magentostatic_no_eb
- Loading branch information
Showing
149 changed files
with
6,531 additions
and
3,875 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
.. _building-lonestar6: | ||
|
||
Lonestar6 (TACC) | ||
================ | ||
|
||
The `Lonestar6 cluster <https://portal.tacc.utexas.edu/user-guides/lonestar6>`_ is located at `TACC <https://www.tacc.utexas.edu>`__. | ||
|
||
|
||
Introduction | ||
------------ | ||
|
||
If you are new to this system, **please see the following resources**: | ||
|
||
* `TACC user guide <https://portal.tacc.utexas.edu/user-guides/>`__ | ||
* Batch system: `Slurm <https://portal.tacc.utexas.edu/user-guides/lonestar6#job-management>`__ | ||
* `Jupyter service <https://tacc.github.io/ctls2017/docs/intro_to_python/intro_to_python_011_jupyter.html>`__ | ||
* `Filesystem directories <https://portal.tacc.utexas.edu/user-guides/lonestar6#managing-files-on-lonestar6>`__: | ||
|
||
* ``$HOME``: per-user home directory, backed up (10 GB) | ||
* ``$WORK``: per-user production directory, not backed up, not purged, Lustre (1 TB) | ||
* ``$SCRATCH``: per-user production directory, not backed up, purged every 10 days, Lustre (no limits, 8PByte total) | ||
|
||
|
||
Installation | ||
------------ | ||
|
||
Use the following commands to download the WarpX source code and switch to the correct branch: | ||
|
||
.. code-block:: bash | ||
git clone https://github.com/ECP-WarpX/WarpX.git $WORK/src/warpx | ||
We use system software modules, add environment hints and further dependencies via the file ``$HOME/lonestar6_warpx_a100.profile``. | ||
Create it now: | ||
|
||
.. code-block:: bash | ||
cp $HOME/src/warpx/Tools/machines/lonestar6-tacc/lonestar6_warpx_a100.profile.example $HOME/lonestar6_warpx_a100.profile | ||
.. dropdown:: Script Details | ||
:color: light | ||
:icon: info | ||
:animate: fade-in-slide-down | ||
|
||
.. literalinclude:: ../../../../Tools/machines/lonestar6-tacc/lonestar6_warpx_a100.profile.example | ||
:language: bash | ||
|
||
Edit the 2nd line of this script, which sets the ``export proj=""`` variable. | ||
For example, if you are member of the project ``abcde``, then run ``nano $HOME/lonestar6_warpx_a100.profile`` and edit line 2 to read: | ||
|
||
.. code-block:: bash | ||
export proj="abcde" | ||
Exit the ``nano`` editor with ``Ctrl`` + ``O`` (save) and then ``Ctrl`` + ``X`` (exit). | ||
|
||
.. important:: | ||
|
||
Now, and as the first step on future logins to Lonestar6, activate these environment settings: | ||
|
||
.. code-block:: bash | ||
source $HOME/lonestar6_warpx_a100.profile | ||
Finally, since Lonestar6 does not yet provide software modules for some of our dependencies, install them once: | ||
|
||
.. code-block:: bash | ||
bash $HOME/src/warpx/Tools/machines/lonestar6-tacc/install_a100_dependencies.sh | ||
source ${SW_DIR}/venvs/warpx-a100/bin/activate | ||
.. dropdown:: Script Details | ||
:color: light | ||
:icon: info | ||
:animate: fade-in-slide-down | ||
|
||
.. literalinclude:: ../../../../Tools/machines/lonestar6-tacc/install_a100_dependencies.sh | ||
:language: bash | ||
|
||
|
||
.. _building-lonestar6-compilation: | ||
|
||
Compilation | ||
----------- | ||
|
||
Use the following :ref:`cmake commands <building-cmake>` to compile the application executable: | ||
|
||
.. code-block:: bash | ||
cd $HOME/src/warpx | ||
rm -rf build_pm_gpu | ||
cmake -S . -B build_gpu -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_HEFFTE=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3" | ||
cmake --build build_gpu -j 16 | ||
The WarpX application executables are now in ``$HOME/src/warpx/build_gpu/bin/``. | ||
Additionally, the following commands will install WarpX as a Python module: | ||
|
||
.. code-block:: bash | ||
cd $HOME/src/warpx | ||
rm -rf build_pm_gpu_py | ||
cmake -S . -B build_gpu_py -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_HEFFTE=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3" | ||
cmake --build build_gpu_py -j 16 --target pip_install | ||
Now, you can :ref:`submit Lonestar6 compute jobs <running-cpp-lonestar6>` for WarpX :ref:`Python (PICMI) scripts <usage-picmi>` (:ref:`example scripts <usage-examples>`). | ||
Or, you can use the WarpX executables to submit Lonestar6 jobs (:ref:`example inputs <usage-examples>`). | ||
For executables, you can reference their location in your :ref:`job script <running-cpp-lonestar6>` or copy them to a location in ``$WORK`` or ``$SCRATCH``. | ||
|
||
|
||
.. _running-cpp-lonestar6: | ||
|
||
Running | ||
------- | ||
|
||
.. _running-cpp-lonestar6-A100-GPUs: | ||
|
||
A100 GPUs (40 GB) | ||
^^^^^^^^^^^^^^^^^ | ||
|
||
`84 GPU nodes, each with 2 A100 GPUs (40 GB) <https://portal.tacc.utexas.edu/user-guides/lonestar6#system-gpu>`__. | ||
|
||
The batch script below can be used to run a WarpX simulation on multiple nodes (change ``-N`` accordingly) on the supercomputer lonestar6 at tacc. | ||
Replace descriptions between chevrons ``<>`` by relevant values, for instance ``<input file>`` could be ``plasma_mirror_inputs``. | ||
Note that we run one MPI rank per GPU. | ||
|
||
|
||
.. literalinclude:: ../../../../Tools/machines/lonestar6-tacc/lonestar6_a100.sbatch | ||
:language: bash | ||
:caption: You can copy this file from ``Tools/machines/lonestar6-tacc/lonestar6_a100.sbatch``. | ||
|
||
To run a simulation, copy the lines above to a file ``lonestar6.sbatch`` and run | ||
|
||
.. code-block:: bash | ||
sbatch lonestar6_a100.sbatch | ||
to submit the job. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
Examples/Tests/electrostatic_sphere/inputs_test_3d_electrostatic_sphere_adaptive
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
stop_time = 60e-6 | ||
warpx.cfl = 0.2 | ||
warpx.dt_update_interval = 10 | ||
warpx.max_dt = 1.5e-6 | ||
amr.n_cell = 64 64 64 | ||
amr.max_level = 0 | ||
amr.blocking_factor = 8 | ||
amr.max_grid_size = 128 | ||
geometry.dims = 3 | ||
geometry.prob_lo = -0.5 -0.5 -0.5 | ||
geometry.prob_hi = 0.5 0.5 0.5 | ||
boundary.field_lo = pec pec pec | ||
boundary.field_hi = pec pec pec | ||
warpx.do_electrostatic = relativistic | ||
|
||
particles.species_names = electron | ||
|
||
algo.field_gathering = momentum-conserving | ||
|
||
# Order of particle shape factors | ||
algo.particle_shape = 1 | ||
|
||
my_constants.n0 = 1.49e6 | ||
my_constants.R0 = 0.1 | ||
|
||
electron.charge = -q_e | ||
electron.mass = m_e | ||
electron.injection_style = "NUniformPerCell" | ||
electron.num_particles_per_cell_each_dim = 2 2 2 | ||
electron.profile = parse_density_function | ||
electron.density_function(x,y,z) = "(x*x + y*y + z*z < R0*R0)*n0" | ||
electron.momentum_distribution_type = at_rest | ||
|
||
diagnostics.diags_names = diag1 diag2 | ||
|
||
diag1.intervals = 30 | ||
diag1.diag_type = Full | ||
diag1.fields_to_plot = Ex Ey Ez rho | ||
|
||
diag2.intervals = 30 | ||
diag2.diag_type = Full | ||
diag2.fields_to_plot = none | ||
diag2.format = openpmd | ||
|
||
warpx.reduced_diags_names = timestep | ||
timestep.intervals = 1 | ||
timestep.type = Timestep |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.