Skip to content

Commit 8278e11

Browse files
committed
Replace UnrolledFunctions with UnrolledUtilities
1 parent 17095b4 commit 8278e11

12 files changed

+28
-151
lines changed

.buildkite/Manifest.toml

+13-10
Original file line numberDiff line numberDiff line change
@@ -327,10 +327,10 @@ weakdeps = ["CUDA", "MPI"]
327327
ClimaCommsMPIExt = "MPI"
328328

329329
[[deps.ClimaCore]]
330-
deps = ["Adapt", "BandedMatrices", "BlockArrays", "ClimaComms", "CubedSphere", "DataStructures", "ForwardDiff", "GaussQuadrature", "GilbertCurves", "HDF5", "InteractiveUtils", "IntervalSets", "KrylovKit", "LinearAlgebra", "MultiBroadcastFusion", "NVTX", "PkgVersion", "RecursiveArrayTools", "RootSolvers", "SparseArrays", "StaticArrays", "Statistics", "Unrolled"]
330+
deps = ["Adapt", "BandedMatrices", "BlockArrays", "ClimaComms", "CubedSphere", "DataStructures", "ForwardDiff", "GaussQuadrature", "GilbertCurves", "HDF5", "InteractiveUtils", "IntervalSets", "KrylovKit", "LinearAlgebra", "MultiBroadcastFusion", "NVTX", "PkgVersion", "RecursiveArrayTools", "RootSolvers", "SparseArrays", "StaticArrays", "Statistics", "UnrolledUtilities"]
331331
path = ".."
332332
uuid = "d414da3d-4745-48bb-8d80-42e94e092884"
333-
version = "0.14.24"
333+
version = "0.14.26"
334334
weakdeps = ["CUDA", "Krylov"]
335335

336336
[deps.ClimaCore.extensions]
@@ -344,7 +344,7 @@ uuid = "cf7c7e5a-b407-4c48-9047-11a94a308626"
344344
version = "0.2.11"
345345

346346
[[deps.ClimaCoreTempestRemap]]
347-
deps = ["ClimaComms", "ClimaCore", "CommonDataModel", "Dates", "LinearAlgebra", "NCDatasets", "PkgVersion", "TempestRemap_jll"]
347+
deps = ["ClimaComms", "ClimaCore", "CommonDataModel", "Dates", "DiskArrays", "LinearAlgebra", "NCDatasets", "PkgVersion", "TempestRemap_jll"]
348348
path = "../lib/ClimaCoreTempestRemap"
349349
uuid = "d934ef94-cdd4-4710-83d6-720549644b70"
350350
version = "0.3.18"
@@ -671,9 +671,9 @@ version = "0.6.40"
671671

672672
[[deps.DiskArrays]]
673673
deps = ["LRUCache", "Mmap", "OffsetArrays"]
674-
git-tree-sha1 = "64650943240652ebedc6c43d03cccda247b327a3"
674+
git-tree-sha1 = "4687e77a603fcd86738a92758086717cd06cdaae"
675675
uuid = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3"
676-
version = "0.4.9"
676+
version = "0.4.8"
677677

678678
[[deps.Distributed]]
679679
deps = ["Random", "Serialization", "Sockets"]
@@ -2281,11 +2281,14 @@ git-tree-sha1 = "975c354fcd5f7e1ddcc1f1a23e6e091d99e99bc8"
22812281
uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728"
22822282
version = "1.6.4"
22832283

2284-
[[deps.Unrolled]]
2285-
deps = ["MacroTools"]
2286-
git-tree-sha1 = "6cc9d682755680e0f0be87c56392b7651efc2c7b"
2287-
uuid = "9602ed7d-8fef-5bc8-8597-8f21381861e8"
2288-
version = "0.1.5"
2284+
[[deps.UnrolledUtilities]]
2285+
git-tree-sha1 = "5caf11dfadeee25daafa7caabb3f252a977ffe72"
2286+
uuid = "0fe1646c-419e-43be-ac14-22321958931b"
2287+
version = "0.1.6"
2288+
weakdeps = ["StaticArrays"]
2289+
2290+
[deps.UnrolledUtilities.extensions]
2291+
UnrolledUtilitiesStaticArraysExt = "StaticArrays"
22892292

22902293
[[deps.UnsafeAtomics]]
22912294
git-tree-sha1 = "b13c4edda90890e5b04ba24e20a310fbe6f249ff"

Project.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RootSolvers = "7181ea78-2dcb-4de3-ab41-2b8ab5a31e74"
2626
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
2727
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
2828
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
29-
Unrolled = "9602ed7d-8fef-5bc8-8597-8f21381861e8"
29+
UnrolledUtilities = "0fe1646c-419e-43be-ac14-22321958931b"
3030

3131
[weakdeps]
3232
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
@@ -77,7 +77,7 @@ Statistics = "1"
7777
StatsBase = "0.34"
7878
TerminalLoggers = "0.1"
7979
Test = "1"
80-
Unrolled = "0.1.5"
80+
UnrolledUtilities = "0.1.6"
8181
julia = "1.10"
8282

8383
[extras]

docs/src/api.md

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ CurrentModule = ClimaCore
99
```@docs
1010
Utilities.PlusHalf
1111
Utilities.half
12-
Utilities.UnrolledFunctions
1312
```
1413

1514
### Utilities.Cache

ext/cuda/matrix_fields_multiple_field_solve.jl

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import ClimaCore.MatrixFields
66
import ClimaCore.MatrixFields: _single_field_solve!
77
import ClimaCore.MatrixFields: multiple_field_solve!
88
import ClimaCore.MatrixFields: is_CuArray_type
9-
import ClimaCore.Utilities.UnrolledFunctions: unrolled_map
109

1110
is_CuArray_type(::Type{T}) where {T <: CUDA.CuArray} = true
1211

src/Fields/Fields.jl

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ import ..Grids: ColumnIndex, local_geometry_type
2323
import ..Spaces: Spaces, AbstractSpace, AbstractPointSpace, cuda_synchronize
2424
import ..Spaces: nlevels, ncolumns
2525
import ..Geometry: Geometry, Cartesian12Vector
26-
import ..Utilities: PlusHalf, half, UnrolledFunctions
26+
import ..Utilities: PlusHalf, half
2727

2828
using ..RecursiveApply
2929
using ClimaComms
3030
import Adapt
31+
import UnrolledUtilities: unrolled_map
3132

3233
import StaticArrays, LinearAlgebra, Statistics, InteractiveUtils
3334

src/Fields/fieldvector.jl

+3-4
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ LinearAlgebra.ldiv!(A::LinearAlgebra.LU, x::FieldVector) =
429429
x .= LinearAlgebra.ldiv!(A, Vector(x))
430430

431431
function LinearAlgebra.norm_sqr(x::FieldVector)
432-
value_norm_sqrs = UnrolledFunctions.unrolled_map(_values(x)) do value
432+
value_norm_sqrs = unrolled_map(_values(x)) do value
433433
LinearAlgebra.norm_sqr(backing_array(value))
434434
end
435435
return sum(value_norm_sqrs; init = zero(eltype(x)))
@@ -440,9 +440,8 @@ end
440440

441441
import ClimaComms
442442

443-
ClimaComms.array_type(x::FieldVector) = promote_type(
444-
UnrolledFunctions.unrolled_map(ClimaComms.array_type, _values(x))...,
445-
)
443+
ClimaComms.array_type(x::FieldVector) =
444+
promote_type(unrolled_map(ClimaComms.array_type, _values(x))...)
446445

447446
function __rprint_diff(
448447
io::IO,

src/MatrixFields/MatrixFields.jl

+1-2
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import KrylovKit
5252
import ClimaComms
5353
import NVTX
5454
import Adapt
55+
using UnrolledUtilities
5556

5657
import ..Utilities: PlusHalf, half
5758
import ..RecursiveApply:
@@ -65,8 +66,6 @@ import ..Spaces
6566
import ..Spaces: local_geometry_type
6667
import ..Fields
6768
import ..Operators
68-
69-
using ..Utilities.UnrolledFunctions
7069
using ..Geometry:
7170
rmul_with_projection,
7271
mul_with_projection,

src/MatrixFields/field_name.jl

+3-2
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,11 @@ get_subtree_at_name(name, tree) =
160160
if name == tree.name
161161
tree
162162
else
163-
subtree = unrolled_findonly(tree.subtrees) do subtree
163+
subtrees_at_name = unrolled_filter(tree.subtrees) do subtree
164164
is_valid_name(name, subtree)
165165
end
166-
get_subtree_at_name(name, subtree)
166+
@assert length(subtrees_at_name) == 1
167+
get_subtree_at_name(name, subtrees_at_name[1])
167168
end
168169

169170
################################################################################

src/MatrixFields/field_name_dict.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ Base.:(==)(dict1::FieldNameDict, dict2::FieldNameDict) =
137137
function Base.getindex(dict::FieldNameDict, key)
138138
key in keys(dict) || throw(KeyError(key))
139139
key′, entry′ =
140-
unrolled_findonly(pair -> is_child_value(key, pair[1]), pairs(dict))
140+
unrolled_filter(pair -> is_child_value(key, pair[1]), pairs(dict))[1]
141141
internal_key = get_internal_key(key, key′)
142142
return get_internal_entry(entry′, internal_key, KeyError(key))
143143
end

src/Operators/finitedifference.jl

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import ..Utilities: PlusHalf, half, UnrolledFunctions
1+
import ..Utilities: PlusHalf, half
2+
import UnrolledUtilities: unrolled_map
23

34
const AllFiniteDifferenceSpace =
45
Union{Spaces.FiniteDifferenceSpace, Spaces.ExtrudedFiniteDifferenceSpace}
@@ -3324,10 +3325,7 @@ Adapt.adapt_structure(to, op::FiniteDifferenceOperator) =
33243325
unionall_type(typeof(op))(; adapt_bcs(to, bcs)...)
33253326

33263327
@inline adapt_bcs(to, bcs) = NamedTuple{keys(bcs)}(
3327-
UnrolledFunctions.unrolled_map(
3328-
bc -> Adapt.adapt_structure(to, bc),
3329-
values(bcs),
3330-
),
3328+
unrolled_map(bc -> Adapt.adapt_structure(to, bc), values(bcs)),
33313329
)
33323330

33333331
"""

src/Utilities/Utilities.jl

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
module Utilities
22

33
include("plushalf.jl")
4-
include("unrolled_functions.jl")
54
include("cache.jl")
65

76
"""

src/Utilities/unrolled_functions.jl

-121
This file was deleted.

0 commit comments

Comments
 (0)