If you wish to speed up your code, this chapter should interest you. Several methods are available in Arcane to allow code acceleration: using all available CPU cores, using CPU vector units, and using accelerators (GPU). In the case of unbalanced code, it is also possible to use load balancing, in order to distribute the computational load equally across all subdomains.
Table of Contents for this chapter:
- Handling parallelism in Arcane
Introduction to parallelism introduced in Arcane.
- Concurrency and Multi-threading
Presents the use of multi-threading in Arcane (in addition to domain decomposition).
- Vectorization
Presents the mechanisms available in Arcane to use today's CPU vector units.
- Load balancing on the mesh
Describes the use of the load balancing mechanism on the mesh.
- Shared Memory Windows in Multi-Process
Describes the use of memory windows in shared memory.