From df2bb7af55a29f849f9408a2c4049341a5efb05b Mon Sep 17 00:00:00 2001 From: Frederic Perez Date: Mon, 6 Nov 2023 22:34:06 +0100 Subject: [PATCH] prepare 5.0 --- .gitlab-ci.yml | 15 --------------- doc/Sphinx/Overview/highlights.rst | 2 ++ doc/Sphinx/Overview/releases.rst | 13 ++++++++++++- doc/Sphinx/Understand/GPU_offloading.rst | 24 +++++++++++++----------- doc/Sphinx/Understand/performances.rst | 2 +- doc/Sphinx/Use/run.rst | 12 ++++++++---- 6 files changed, 36 insertions(+), 32 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0c462a2e..6faa6ff17 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,7 +15,6 @@ install: stage: install only: - develop - - tentative_merge script: # Force workdir cleaning in case of retried @@ -34,7 +33,6 @@ compile_default: stage: compile_default only: - develop - - tentative_merge script: # Move in test dir @@ -46,7 +44,6 @@ runQuick: stage: run_quick only: - develop - - tentative_merge script: # Move in test dir @@ -58,7 +55,6 @@ run1D: stage: run_default only: - develop - - tentative_merge script: # Move in test dir @@ -71,7 +67,6 @@ run2D: stage: run_default only: - develop - - tentative_merge script: # Move in test dir @@ -86,7 +81,6 @@ run3D: stage: run_default only: - develop - - tentative_merge script: # Move in test dir @@ -102,7 +96,6 @@ runAM: stage: run_default only: - develop - - tentative_merge script: # Move in test dir @@ -115,7 +108,6 @@ runCollisions: stage: run_default only: - develop - - tentative_merge script: # Move in test dir @@ -127,7 +119,6 @@ compile_picsar: stage: compile_picsar only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei @@ -138,7 +129,6 @@ run_picsar: stage: run_picsar only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei/validation @@ -148,7 +138,6 @@ compile_debug: stage: compile_debug only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei @@ -159,7 +148,6 @@ compile_no_mpi_threadmultiple: stage: compile_no_mpi_threadmultiple only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei @@ -170,7 +158,6 @@ compile_no_openmp: stage: compile_no_openmp only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei @@ -181,7 +168,6 @@ compile_omptasks: stage: compile_omptasks only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei @@ -192,7 +178,6 @@ run_omptasks: stage: run_omptasks only: - develop - - tentative_merge script: - cd /sps3/gitlab-runner/$CI_PIPELINE_ID/smilei/validation diff --git a/doc/Sphinx/Overview/highlights.rst b/doc/Sphinx/Overview/highlights.rst index 35341483c..1e755f6e2 100755 --- a/doc/Sphinx/Overview/highlights.rst +++ b/doc/Sphinx/Overview/highlights.rst @@ -13,6 +13,8 @@ SMILEI can bes tested on recent supercomputers such as Adastra where it shows gr :width: 12cm :align: center +---- + Mitigation of numerical artifacts with relativistic particles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The staggering in space and time of the electromagnetic fields and the numerical dispersion of electromagnetic solvers diff --git a/doc/Sphinx/Overview/releases.rst b/doc/Sphinx/Overview/releases.rst index 1bb211dfe..c5669af1f 100755 --- a/doc/Sphinx/Overview/releases.rst +++ b/doc/Sphinx/Overview/releases.rst @@ -39,12 +39,22 @@ Projects * In preparation: - * GPU support * Spectral solvers ---- +Release 5.0 +^^^^^^^^^^^^^^^^^^^^^ + +* **GPU support** (not all features are supported at the moment) + + * Both AMD and Nvidia GPUs + * Cartesian geometry in 2D and in 3D + * Moving Window + * Diagnostics: Field, Probes, Scalar, ParticleBinning, TrackParticles + +---- Release 4.8 ^^^^^^^^^^^^^^^^^^^^^ @@ -104,6 +114,7 @@ Release 4.8 * **For developers**: new table management for Monte-Carlo physical processes (transparent to users) +---- Release 4.7 ^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/Sphinx/Understand/GPU_offloading.rst b/doc/Sphinx/Understand/GPU_offloading.rst index 1a31c21ae..20fb5ac07 100644 --- a/doc/Sphinx/Understand/GPU_offloading.rst +++ b/doc/Sphinx/Understand/GPU_offloading.rst @@ -1,23 +1,25 @@ GPU offloading ---------------------- -In order to be able to be used on most recent supercomputers :program:`Smilei` has been ported on GPUs. -Although a few key features remain to be implemented such as AM geometry, ionization and PML, the fundamentals of the code are currently accelerated on GPUs -if GPUs are available. - -Initially built to handle complex graphical output and related to rendering and video games, GPUs appeared only relatively recently in the HPC ecosystem. +To support recent supercomputers, :program:`Smilei` has been ported on GPU (graphical processing units). +Initially built to handle complex graphical output and related to rendering and video games, +GPUs appeared only relatively recently in the HPC ecosystem. Unlike CPUs, GPUs can do much smaller sets of tasks with massive data throughput. -Currently 7 of the 10 most powerful supercomputers are based on GPU acceleration and everything points to that trend of adding accelerators to continue: The announced exaflopic supercomputers will include GPUs. - +Currently 7 of the 10 most powerful supercomputers are based on GPU acceleration and +the trend seems confirmed at least in the near future: +the announced exaflopic supercomputers will include GPUs. -* Guideline using GPU: in general it is better to use one patch per GPU to obtain the best performance out of the GPU +* Guideline: in general it is recommended to use one patch per GPU + to obtain the best performance. However, for better memory management, + testing a few patches per GPU is encouraged. -* Current supported features: +* Currently supported features: * Both AMD's GPUs and Nvidia's GPUs are supported * Cartesian geometry in 2D and in 3D - * Diagnostics: field, probe, scalar, bin, particle tracking + * Diagnostics: Field, Probes, Scalar, ParticleBinning, TrackParticles * Moving Window. -* Notable features currently missing: AM geometry, ionization, PML, envelop +* A few key features remain to be implemented (AM geometry, ionization, PML, envelope, + additional physics), but the fundamentals of the code are ported. \ No newline at end of file diff --git a/doc/Sphinx/Understand/performances.rst b/doc/Sphinx/Understand/performances.rst index 0075c07f5..56a15df76 100644 --- a/doc/Sphinx/Understand/performances.rst +++ b/doc/Sphinx/Understand/performances.rst @@ -14,4 +14,4 @@ provide important advantages. parallelization SDMD vectorization - + GPU_offloading diff --git a/doc/Sphinx/Use/run.rst b/doc/Sphinx/Use/run.rst index 2d422f00b..903274ad2 100755 --- a/doc/Sphinx/Use/run.rst +++ b/doc/Sphinx/Use/run.rst @@ -133,13 +133,17 @@ Running on GPU-equiped nodes On a supercomputer equipped with GPUs it is necessary to use a binding script. Here are two examples: -With Nvidia GPUs: srun bind_gpu.sh ./smilei input.py +With Nvidia GPUs: +``srun bind_gpu.sh ./smilei input.py`` -With AMD GPUs using cray on Adastra: srun --cpu-bind=none --mem-bind=none --mpi=cray_shasta --kill-on-bad-exit=1 -- ./bind ./smilei input.py +With AMD GPUs using cray on Adastra: +``srun --cpu-bind=none --mem-bind=none --mpi=cray_shasta --kill-on-bad-exit=1 -- ./bind ./smilei input.py`` -For the binding scripts themselves, as it depends completely on the node architecture, please contact you admin support team. +For the binding scripts themselves, as it depends completely on the node +architecture, please contact your admin support team. -Be aware that GPU support is in development and not all features are currently available. Please refer to the list of current supported features. +Be aware that GPU support is in development and not all features are currently available. +Please refer to the list of current supported features. ----