-
Notifications
You must be signed in to change notification settings - Fork 189
Proceedings 2020 ESPResSo meetings
Jean-Noël Grad edited this page Jul 20, 2021
·
1 revision
- split forces from the Particle struct (#4016)
- forces/torques are observables derived from the Particle state
- can be store elsewhere, possibly in multiple places that are then combined with a reduction
- helps with parallelization, e.g. shared memory parallelization on NUMA architectures
- integrator per particle (#4015)
- currently, cannot combine e.g. inertialess tracers with other types of virtual sites
- currently, Verlet list update code is duplicated in all integrators
- remove per-particle temperature (#4008)
- not used for physics simulations
- community calls once per month to meet with the user base and have discussions about the future of ESPResSo
- this replaces sending a delegate on-site
- particle coupling with thermalization is still problematic
- look for UB with UBSAN (the thermalized fluid is not deterministic)
- EK needs to be added
- for participants already working physically at the ICP: possibility to meet in person in the CIP pool and seminar room
- otherwise join remotely using Zoom via breakout rooms
- address currently opened tickets (schlaicha, jngrad, pkreissl)
- consider creating a tutorial for error analysis (Carl)
- implement autocorrelation method in the Correlator framework
- rename all tutorials, use abbreviations in CMake commands
- ELC+ICC tutorial to replace the crystallization tutorial (areinauer)
- split tutorial 04 into two LB and polymer tutorials (christophlohrmann)
- tutorial 12: long runtime with electrostatics enabled, look for an analytical form for the curve
- ROCm packages are not stable enough and CI requires frequent troubleshooting
- the Intel docker image has to be built manually, move MPICH to the Fedora image
- Thu Oct 1 at 2pm
- Michael is ready
- Peter and Rudolf are in progress
- the ICP recording studio is ready (JN can help)
- use ILIAS to host videos and the forum
- e-learning material
- after the school, host videos on a public platform at the discretion of speakers
- consider recording a simple tutorial walkthrough (after the summer school)
- write CI tests for URLs (JN)
- group for US West Coast time zone
- groups for beginners and advanced users
- the tutor hosts a Zoom session on an ICP workstation with:
- ESPResSo installed (Rudolf) and GPU + webcam + headset
- using a special account with limited rights
- give control to participants in turns
- do a Zoom test with everyone 1 week before the summer school with tutorial 01 LJ (e.g. Sep 29 afternoon)
- check default config for tutorials (JN)
- look into ILIAS guest accounts (JN + Lars + Frank)
- someone needs to moderate Q&A sessions (Rudolf: Mon+Tue+Wed, Alex: Thu, Christian: Fri)
- scientific talks are live at 5 pm
- CPU LB thermalization bug (#3847)
- only the thermalized fluid velocity was tested
- thermalized stress fluctuations need to be tested (@pkreissl @RudolfWeeber)
- talk recordings:
- slides in 16:9 format, logos only on first slide
- record a sample lecture and write down instructions (@jngrad)
- tutoring sessions:
- teams of 5 sharing the same coding environment, participants take turns in writing code
- tutors should communicate their availability to @RudolfWeeber
- pairs of tutors should hide answer cells (instructions for hidden Jupyter cells available in #3249 (comment))
- write down learning objectives for each tutorial
- Visual Studio Code doesn't allow sharing Jupyter notebooks, they have to be converted to python scripts, plots are visible but not at the correct place
- eScout HiWi to help with the videoconferencing system
- record slides with video of the speaker
- audio quality is more important than video quality
- acquire a speaker headset
- collaborative ESPResSo coding with Visual Studio code live share
- host provides a Jupyter server
- tested on Linux and Windows, check on a mac
- the same Visual Studio code must be used on all clients (can be installed without root rights)
- disable SD GPU test until the feature is fixed
- at the end of August to update tutorials
Sources of bugs in 4.1.2:
- several python tests either did not run or the assertions statements were malformed
- bugs in the script interface were not detected due to insufficient coverage, it's now 94% covered
- OpenGL-related bugs cannot be detected in CI
Physics-related bugs are limited to LB boundaries, agrid calculation and shape distance calculations.
New features:
- Brownian and Stokesian Dynamics
- MD load balancing
- probably Lees Edwards
Core changes:
- ghost communication simplification
- topology refactor: introduces overhead in NpT simulations
- we need shorter lectures and record them in advance, with good quality so we can re-use them
- there should be a Q&A session after lectures to keep the school interactive
- sort out this week the details of the lectures
- we can get technical support from a HiWi for the videoconferencing
- VS Code for a shared programming environment, could be used in 5-people teams, think of a different way of running the tutorials
- limit capacity to 20 participants (4 teams of 5 people)
- MMM2D issue was reported on the ScaFaCoS project (scafacos/scafacos#28)
- not directly comparable to ESPResSo ELC
- MMM2D last maintained version is in ESPResSo 4.1
- can be used as reference
- no longer maintained
- CMake logic is ready
- GPU code compiles on NVCC, Clang, HIP
- GPU tests fail CI (JN+Carl)
- after tests are passing CI, Henri can move the project to a repository
- lubrication correction will be implemented later
- CECAM cancelled all events until September
- fully virtualizing the school:
- server-based IPython notebooks (Carl)
- participants need to work in small groups (BigBlueButton has breakout rooms, get professional advice)
- Stuttgart students will be physically present (at the moment, only 10 people are allowed in the CIP pool)
- pre-record the talks during the summer, including for external speakers (and scientific talks?)
- we'll need twice more people for the tutorials
- time zone issues?
- update the CECAM page accordingly, explaining it'll be interactive, videos will be made publicly available (JN)
- Christian won't be available during the school
- 2021 call closes July 19 (JN)
- not well tested
- code difficult to maintain
- pressure calculation should re-use the pressure observable
- now running with more than 2 MPI ranks
- engine code needs to be checked again (Christoph)
- LB pressure (Ingo)
- LB thermalization (Michael)
- VTK output (JN) and checkpointing
- ELC bugfix in #3731 needs to be backported to 4.1.3rc (@reinaual)
- mailing list survey: GPU is only used for LB and direct summation
- LB: can be OpenMP-parallelized in walberla
- direct summation: could be MPI-parallelized
- 4.2.0 release: keep GPU support
- 4.3.0 release: will use walberla, at which point GPU support can be re-assessed
- optional packages can be silently skipped if dependencies are not found when passing CMake flag
-DWITH_OPTIONAL_FEATURE=ON
- opt-in vs. opt-out vs. implementing (and maintaining) an ON/OFF/IF_AVAILABLE option macro in CMake
- check for a mechanism in CMake to detect if the value of an
option()
was default-set or user-set (@jngrad)
- mailing list is not optimal for surveys: too few people are subscribed, and not everyone might be reading it
- reach out to users based on recent publications citing es (@jngrad + HiWi) and to former participants of the espresso school
- get more people on the mailing list, e.g. by inviting people to subscribe with a message on the espresso download page and on the GitHub page (@jngrad)
- get feedback from people who do not use espresso anymore
- postpone details to the next meeting
- making SD an external library via e.g. a submodule
- focus core team efforts on the interface with the library
- lubrication still needs fixing, can be deferred for now
- cost of GPU infrastructure maintenance in continuous integration is high
- GPU LB only brings a 2x to 3x speed-up over CPU LB
- particle communication between CPU and GPU is the limiting factor
- double precision has bad performance on most GPU hardware
- single vs. double precision issues are visible e.g. in electrophoresis of a sphere, or with mass drift in long LB simulations
- communicate these issues with the community and get an idea of how many people are actually using GPU acceleration (@RudolfWeeber)
- update CONTRIBUTING.md (@RudolfWeeber)
- do the school physically if international travel is allowed in October, otherwise virtualize the school
- make decision in June
- accept enrollments for now (@jngrad)
- GCC 9.3 and Clang 9.0 (#3654)
- in the Ubuntu 20.04 dockerfile, use the older compilers
- boost 1.71 (#3650)
- try older clang version (JN)
- ship boost with espresso?
- replace boost::mpi by HPX and other boost features by standard features?
- thrust 1.9.3 (#3636):
- either provide the patch (seems to already be in OSX)
- or ship thrust 1.9.5 with espresso (look for compatibility table with cuda versions)
- a few remaining tasks: documentation, RNG issue
- document integration scheme
- decide who reviews the PR
- short term:
- review observable edges (#3608, Rudolf)
- refactor profile observables, if need be add unit tests (JN)
- implement RDF as an observable (JN)
- long term:
- implement ParticleTraits (Kai)
- use boost histograms instead of the custom code? requires boost 1.70
- shared pointers still cause double free (#2701)
- Michael can have a look
- seek to establish direct contact with the waLBerla team
-
ParticleTrait
-based observables (Kai+Flo) -
PidProfileObservable<CoordSystem>
Observables (JN) -
ProfileObservable<ParticleTrait, CoordSystem>
(JN) - histogram-based observables are slow (e.g. LB profiles)
- add a method to return
ProfileObservable
axis ranges
- distance functions already moved into the
System
class (#3586) - convert RDF to a
ProfileObservable
(JN)
- two simulations with seeds 42 resp. 43 will be correlated with time lag 1 (#3585)
- probably won't make it into 4.1.3, unless it's an easy backport
- retiring the
clang:6.0
image that used Clang6, cuda 9.0 and Ubuntu16.04 (bee cluster was updated to CUDA 10.2)- use the Ubuntu 20.04 image
- Clang 9 makes several python tests slower: espressomd/espresso#157 (comment)
- getting rid of the boost patch (Rudolf)
- 2nd step of increasing min req. boost version (to 1.65 from Ubuntu 18.04, #3093)
- state of cuda images
- cuda libraries don't match with the cuda docker base images,
cuda:latest
is the only version that might still work - use the Ubuntu packages
libcudart10.1
and friends in the Ubuntu 20.04 image instead of relying on Nvidia docker images?
- cuda libraries don't match with the cuda docker base images,
- refactor the cell system (Flo, #3589)
- simplify the Cell system interface
- remove state tracking
- LB interpolation wrong near a boundary interface (Rudolf)
- Drude sample test fails CI (#3104), probably caused by an incorrect tuning of the
r_cut
parameter- prevent
r_cut
values inferior to LJsigma
with a user-suppliedr_cut_min
in the tuning function (@fweik, #3437)
- prevent
- P3M benchmark fails CI (#2924), the test was removed, cause is unclear
- do core team weekly meetings on Monday at 1 pm
- comment on dependencies between PRs, especially on docker (+request multiple reviews)
- communicate the issues that prevent the merging of a PR (e.g. misuse of the interface)
- experiment with releasing task schedules (@jngrad, @RudolfWeeber)
- NEP 29 - Recommend Python and Numpy version support as a community policy standard
- support table and drop schedule
- need to sync espresso dependencies with the ones in Ubuntu 20.04 and correctly pin the ones installed via pip in order to avoid incompatibility issues (like #3420)
- espresso should only support the last LTS + 1 year (3 year time-window)
- try Ubuntu 20.04 in CI at the beginning of April
- tested in CI by Christoph Junghans
- add
-no-sse
to the compiler flags on 32bit to simulate i586? - or drop i586 support since 32bit is no longer supported on Ubuntu 20.04
- semester ends on Feb 7, doodle for Feb 10-14