ClimaComms.jl is a small package to work with diverse computing devices and
environments (e.g., CPUs/GPUs, single-process/MPI). ClimaComms.jl provides
objects to represent such devices and environments and functions to interact
with them in a unified way. ClimaComms.jl is used extensively through the
CliMA ecosystem to control where and how simulations are run (e.g., on one
CPU, or on several GPUs using with MPI).
ClimaComms.jl supports the following Devices:
CPUSingleThreadedCPUMultiThreaded(not actively used)CUDADeviceandContextes (i.e., environments for distributed computing):SingletonCommsContextMPICommsContext
Refer to the documentation for more details.