Skip to content

Commit fb9455b

Browse files
Default partition in Distributed (#3496)
* correct partition * inothing -> isnothing * does not work on julia 1.9? * hopefully last one? * this was the last * other ones slipped * other ones remaining --------- Co-authored-by: Navid C. Constantinou <[email protected]>
1 parent 7c2c0e7 commit fb9455b

10 files changed

+10
-10
lines changed

src/AbstractOperations/conditional_operations.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using Oceananigans.Fields: OneField
22
using Oceananigans.Grids: architecture
3-
using Oceananigans.Architectures: on_architecture
3+
import Oceananigans.Architectures: on_architecture
44
import Oceananigans.Fields: condition_operand, conditional_length, set!, compute_at!, indices
55

66
# For conditional reductions such as mean(u * v, condition = u .> 0))

src/DistributedComputations/distributed_architectures.jl

+5-2
Original file line numberDiff line numberDiff line change
@@ -204,16 +204,19 @@ Keyword arguments
204204
if not for testing or developing. Change at your own risk!
205205
"""
206206
function Distributed(child_architecture = CPU();
207-
communicator = MPI.COMM_WORLD,
207+
communicator = nothing,
208208
devices = nothing,
209209
synchronized_communication = false,
210-
partition = Partition(MPI.Comm_size(communicator)))
210+
partition = nothing)
211211

212212
if !(MPI.Initialized())
213213
@info "MPI has not been initialized, so we are calling MPI.Init()."
214214
MPI.Init()
215215
end
216216

217+
communicator = isnothing(communicator) ? MPI.COMM_WORLD : communicator
218+
partition = isnothing(partition) ? Partition(MPI.Comm_size(communicator)) : partition
219+
217220
ranks = size(partition)
218221
Rx, Ry, Rz = ranks
219222
total_ranks = Rx * Ry * Rz

src/DistributedComputations/distributed_on_architecture.jl

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using CUDA: CuArray
22
using OffsetArrays
3+
import Oceananigans.Architectures: on_architecture
34

45
# We do not support switching from distributed and serial through `on_architecture`.
56
# We only support moving a type from CPU to GPU and the other way around

src/DistributedComputations/partition_assemble.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Oceananigans.Architectures: on_architecture
1+
import Oceananigans.Architectures: on_architecture
22

33
all_reduce(op, val, arch::Distributed) =
44
MPI.Allreduce(val, op, arch.communicator)

src/ImmersedBoundaries/grid_fitted_bottom.jl

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ using OffsetArrays: OffsetArray
44
using Oceananigans.Utils: getnamewrapper
55
using Oceananigans.Grids: total_size
66
using Oceananigans.Fields: fill_halo_regions!
7-
using Oceananigans.Architectures: on_architecture
87
using Oceananigans.BoundaryConditions: FBC
98
using Printf
109

src/ImmersedBoundaries/mask_immersed_field.jl

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using KernelAbstractions: @kernel, @index
22
using Statistics
3-
using Oceananigans.Architectures: architecture
43
using Oceananigans.Fields: location, ZReducedField, Field
54

65
instantiate(T::Type) = T()

src/ImmersedBoundaries/partial_cell_bottom.jl

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Oceananigans.Utils: prettysummary
22
using Oceananigans.Fields: fill_halo_regions!
3-
using Oceananigans.Architectures: on_architecture
43
using Printf
54

65
#####

src/TurbulenceClosures/implicit_explicit_time_discretization.jl

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using Oceananigans.Utils: on_architecture
21
using Oceananigans.Grids: AbstractGrid
32

43
abstract type AbstractTimeDiscretization end

src/TurbulenceClosures/turbulence_closure_implementations/convective_adjustment_vertical_diffusivity.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Oceananigans.Architectures: architecture, on_architecture
1+
using Oceananigans.Architectures: architecture
22
using Oceananigans.AbstractOperations: KernelFunctionOperation
33
using Oceananigans.BuoyancyModels: ∂z_b
44
using Oceananigans.Operators: ℑzᵃᵃᶜ

src/TurbulenceClosures/turbulence_closure_implementations/ri_based_vertical_diffusivity.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Oceananigans.Architectures: architecture, on_architecture
1+
using Oceananigans.Architectures: architecture
22
using Oceananigans.BuoyancyModels: ∂z_b
33
using Oceananigans.Operators
44
using Oceananigans.Grids: inactive_node

0 commit comments

Comments
 (0)