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 Device
s:
CPUSingleThreaded
CPUMultiThreaded
(not actively used)CUDADevice
andContext
es (i.e., environments for distributed computing):SingletonCommsContext
MPICommsContext
Refer to the documentation for more details.