.. _building-quartz: Quartz (LLNL) ============= The `Quartz Intel CPU cluster `_ is located at LLNL. Introduction ------------ If you are new to this system, **please see the following resources**: * `LLNL user account `_ * `Quartz user guide `_ * Batch system: `Slurm `_ * `Production directories `_: * ``/p/lustre1/$(whoami)`` and ``/p/lustre2/$(whoami)``: personal directory on the parallel filesystem * Note that the ``$HOME`` directory and the ``/usr/workspace/$(whoami)`` space are NFS mounted and *not* suitable for production quality data generation. 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 $HOME/src/warpx We use the following modules and environments on the system (``$HOME/quartz_warpx.profile``). .. literalinclude:: ../../../../Tools/machines/quartz-llnl/quartz_warpx.profile.example :language: bash :caption: You can copy this file from ``Tools/machines/quartz-llnl/quartz_warpx.profile.example``. We recommend to store the above lines in a file, such as ``$HOME/quartz_warpx.profile``, and load it into your shell after a login: .. code-block:: bash source $HOME/quartz_warpx.profile Then, ``cd`` into the directory ``$HOME/src/warpx`` and use the following commands to compile: .. code-block:: bash cd $HOME/src/warpx rm -rf build cmake -S . -B build cmake --build build -j 6 The other :ref:`general compile-time options ` apply as usual. **That's it!** A 3D WarpX executable is now in ``build/bin/`` and :ref:`can be run ` with a :ref:`3D example inputs file `. Most people execute the binary directly or copy it out to a location in ``/p/lustre1/$(whoami)``. Running ------- .. _running-cpp-quartz-CPUs: Intel Xeon E5-2695 v4 CPUs ^^^^^^^^^^^^^^^^^^^^^^^^^^ The batch script below can be used to run a WarpX simulation on 2 nodes on the supercomputer Quartz at LLNL. Replace descriptions between chevrons ``<>`` by relevant values, for instance ```` could be ``plasma_mirror_inputs``. .. literalinclude:: ../../../../Tools/machines/quartz-llnl/quartz.sbatch :language: bash :caption: You can copy this file from ``Tools/machines/quartz-llnl/quartz.sbatch``. To run a simulation, copy the lines above to a file ``quartz.sbatch`` and run .. code-block:: bash sbatch quartz.sbatch to submit the job.