Skip to content

Commit

Permalink
Merge branch 'master' into dk/triangular
Browse files Browse the repository at this point in the history
  • Loading branch information
dkarrasch authored Jul 17, 2023
2 parents 5e891d3 + 583329d commit 94e1e3d
Show file tree
Hide file tree
Showing 103 changed files with 911 additions and 636 deletions.
78 changes: 42 additions & 36 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ steps:
# use the CUDA installation from the CI image
using CUDA
CUDA.set_runtime_version!("local")'
if: build.message !~ /\[skip tests\]/
if: build.message !~ /\[skip tests\]/ &&
build.message !~ /\[skip julia\]/
timeout_in_minutes: 120
matrix:
setup:
Expand All @@ -35,26 +36,23 @@ steps:
- "1.7"
- "1.8"
- "1.9"
- "nightly"
adjustments:
- with:
julia: "nightly"
soft_fail: true
# - "nightly"
# adjustments:
# - with:
# julia: "nightly"
# soft_fail: true

# then, test supported CUDA toolkits (installed through the artifact system)
- group: "CUDA"
key: "cuda"
depends_on: "julia"
steps:
# NOTE: we support those CUDA versions for which the latest cuDNN is available
# https://developer.nvidia.com/rdp/cudnn-archive

- label: "CUDA {{matrix.cuda}}"
plugins:
- JuliaCI/julia#v1:
version: 1.8
- JuliaCI/julia-test#v1:
test_args: "--thorough"
test_args: "core base libraries"
- JuliaCI/julia-coverage#v1:
dirs:
- src
Expand All @@ -63,7 +61,9 @@ steps:
agents:
queue: "juliagpu"
cuda: "*"
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
if: build.message !~ /\[skip tests\]/ &&
build.message !~ /\[skip cuda\]/ &&
!build.pull_request.draft
timeout_in_minutes: 120
matrix:
setup:
Expand Down Expand Up @@ -99,6 +99,9 @@ steps:
- with:
cuda: "12.0"
package: "cuDNN"
- with:
cuda: "12.0"
package: "cuTENSOR"
plugins:
- JuliaCI/julia#v1:
version: "1.8"
Expand All @@ -110,7 +113,9 @@ steps:
agents:
queue: "juliagpu"
cuda: "*"
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
if: build.message !~ /\[skip tests\]/ &&
build.message !~ /\[skip subpackages\]/ &&
!build.pull_request.draft
timeout_in_minutes: 120
commands: |
julia -e '
Expand Down Expand Up @@ -161,7 +166,9 @@ steps:
agents:
queue: "juliagpu"
cuda: "*"
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
if: build.message !~ /\[skip tests\]/ &&
build.message !~ /\[skip downstream\]/ &&
!build.pull_request.draft
timeout_in_minutes: 60

- group: ":eyes: Special"
Expand Down Expand Up @@ -212,31 +219,30 @@ steps:
agents:
queue: "juliagpu"
cuda: "*"
if: build.message !~ /\[skip docs\]/ && !build.pull_request.draft
if: build.message !~ /\[skip docs\]/ &&
!build.pull_request.draft
timeout_in_minutes: 30

# XXX: fails often, and is very slow
#- label: "Compute sanitizer"
# plugins:
# - JuliaCI/julia#v1:
# version: 1.8
# - JuliaCI/julia-test#v1:
# julia_args: "-g2"
# test_args: "--sanitize --quickfail --jobs=2"
# - JuliaCI/julia-coverage#v1:
# dirs:
# - src
# - lib
# - examples
# agents:
# queue: "juliagpu"
# cuda: "*"
# env:
# JULIA_CUDA_USE_COMPAT: 'false' # NVIDIA bug #3418723: injection tools prevent probing libcuda
# commands: |
# julia --project -e 'using CUDA; CUDA.set_runtime_version!(v"11.6")'
# if: build.message !~ /\[skip tests\]/
# timeout_in_minutes: 240
- label: "Compute sanitizer"
plugins:
- JuliaCI/julia#v1:
version: 1.8
- JuliaCI/julia-test#v1:
test_args: "--sanitize core"
- JuliaCI/julia-coverage#v1:
dirs:
- src
- lib
- examples
agents:
queue: "juliagpu"
cuda: "*"
env:
JULIA_CUDA_USE_COMPAT: 'false' # NVIDIA bug #3418723: injection tools prevent probing libcuda
if: build.message !~ /\[skip tests\]/ &&
build.message !~ /\[skip sanitizer\]/ &&
!build.pull_request.draft
timeout_in_minutes: 10

# we want to benchmark every commit on the master branch, even if it failed CI
- wait: ~
Expand Down
56 changes: 28 additions & 28 deletions Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

[[AbstractFFTs]]
deps = ["ChainRulesCore", "LinearAlgebra"]
git-tree-sha1 = "16b6dbc4cf7caee4e1e75c49485ec67b667098a0"
git-tree-sha1 = "cad4c758c0038eea30394b1b671526921ca85b21"
uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c"
version = "1.3.1"
version = "1.4.0"

[[Adapt]]
deps = ["LinearAlgebra", "Requires"]
Expand Down Expand Up @@ -63,16 +63,16 @@ uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
version = "1.16.0"

[[ChangesOfVariables]]
deps = ["LinearAlgebra", "Test"]
git-tree-sha1 = "f84967c4497e0e1955f9a582c232b02847c5f589"
deps = ["InverseFunctions", "LinearAlgebra", "Test"]
git-tree-sha1 = "2fba81a302a7be671aefe194f0525ef231104e7f"
uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0"
version = "0.1.7"
version = "0.1.8"

[[Compat]]
deps = ["Dates", "LinearAlgebra", "UUIDs"]
git-tree-sha1 = "7a60c856b9fa189eb34f5f8a6f6b5529b7942957"
git-tree-sha1 = "4e88377ae7ebeaf29a047aa1ee40826e0b708a5d"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "4.6.1"
version = "4.7.0"

[[CompilerSupportLibraries_jll]]
deps = ["Artifacts", "Libdl"]
Expand All @@ -99,9 +99,9 @@ version = "0.1.9"

[[GPUArrays]]
deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"]
git-tree-sha1 = "a3351bc577a6b49297248aadc23a4add1097c2ac"
git-tree-sha1 = "2e57b4a4f9cc15e85a24d603256fe08e527f48d1"
uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7"
version = "8.7.1"
version = "8.8.1"

[[GPUArraysCore]]
deps = ["Adapt"]
Expand All @@ -111,19 +111,19 @@ version = "0.1.5"

[[GPUCompiler]]
deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"]
git-tree-sha1 = "cb090aea21c6ca78d59672a7e7d13bd56d09de64"
git-tree-sha1 = "72b2e3c2ba583d1a7aa35129e56cf92e07c083e3"
uuid = "61eb1bfa-7361-4325-ad38-22787b887f55"
version = "0.20.3"
version = "0.21.4"

[[InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"

[[InverseFunctions]]
deps = ["Test"]
git-tree-sha1 = "6667aadd1cdee2c6cd068128b3d226ebc4fb0c67"
git-tree-sha1 = "eabe3125edba5c9c10b60a160b1779a000dc8b29"
uuid = "3587e190-3f89-42d0-90ee-14403ec27112"
version = "0.1.9"
version = "0.1.11"

[[IrrationalConstants]]
git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2"
Expand All @@ -137,22 +137,22 @@ uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
version = "1.4.1"

[[KernelAbstractions]]
deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"]
git-tree-sha1 = "47be64f040a7ece575c2b5f53ca6da7b548d69f4"
deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"]
git-tree-sha1 = "6d08ca80b621635fed9cdfeb9a4280a574020bf3"
uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
version = "0.9.4"
version = "0.9.7"

[[LLVM]]
deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"]
git-tree-sha1 = "26a31cdd9f1f4ea74f649a7bf249703c687a953d"
git-tree-sha1 = "8695a49bfe05a2dc0feeefd06b4ca6361a018729"
uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
version = "5.1.0"
version = "6.1.0"

[[LLVMExtra_jll]]
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"]
git-tree-sha1 = "09b7505cc0b1cee87e5d4a26eea61d2e1b0dcd35"
git-tree-sha1 = "c35203c1e1002747da220ffc3c0762ce7754b08c"
uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab"
version = "0.0.21+0"
version = "0.0.23+0"

[[LazyArtifacts]]
deps = ["Artifacts", "Pkg"]
Expand Down Expand Up @@ -292,20 +292,20 @@ uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[[SpecialFunctions]]
deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"]
git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880"
git-tree-sha1 = "7beb031cf8145577fbccacd94b8a8f4ce78428d3"
uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
version = "2.2.0"
version = "2.3.0"

[[StaticArrays]]
deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"]
git-tree-sha1 = "8982b3607a212b070a5e46eea83eb62b4744ae12"
git-tree-sha1 = "fffc14c695c17bfdbfa92a2a01836cdc542a1e46"
uuid = "90137ffa-7385-5640-81b9-e52037218182"
version = "1.5.25"
version = "1.6.1"

[[StaticArraysCore]]
git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a"
git-tree-sha1 = "1d5708d926c76a505052d0d24a846d5da08bc3a4"
uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
version = "1.4.0"
version = "1.4.1"

[[Statistics]]
deps = ["LinearAlgebra", "SparseArrays"]
Expand Down Expand Up @@ -343,9 +343,9 @@ version = "0.2.1"

[[UnsafeAtomicsLLVM]]
deps = ["LLVM", "UnsafeAtomics"]
git-tree-sha1 = "ea37e6066bf194ab78f4e747f5245261f17a7175"
git-tree-sha1 = "323e3d0acf5e78a56dfae7bd8928c989b4f3083e"
uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249"
version = "0.1.2"
version = "0.1.3"

[[Zlib_jll]]
deps = ["Libdl"]
Expand Down
7 changes: 3 additions & 4 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "CUDA"
uuid = "052768ef-5323-5732-b1bb-66c8b64840ba"
version = "4.3.2"
version = "4.4.0"

[deps]
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"
Expand All @@ -10,7 +10,6 @@ CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
CUDA_Driver_jll = "4ee394cb-3365-5eb0-8335-949819d2adfc"
CUDA_Runtime_Discovery = "1af6417a-86b4-443c-805f-a4643ffb695f"
CUDA_Runtime_jll = "76a88914-d11a-5bdc-97e0-2f5a05c973a2"
CompilerSupportLibraries_jll = "e66e0078-7015-5450-92f7-15fbd957f2ae"
ExprTools = "e2ba6199-217a-4e67-a87a-7c52f15ade04"
GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7"
GPUCompiler = "61eb1bfa-7361-4325-ad38-22787b887f55"
Expand Down Expand Up @@ -41,9 +40,9 @@ CUDA_Runtime_Discovery = "0.2"
CUDA_Runtime_jll = "0.6"
ExprTools = "0.1"
GPUArrays = "8.6"
GPUCompiler = "0.20"
GPUCompiler = "0.21"
KernelAbstractions = "0.9.2"
LLVM = "5"
LLVM = "6"
Preferences = "1"
Random123 = "1.2"
RandomNumbers = "1.5.3"
Expand Down
2 changes: 1 addition & 1 deletion lib/cublas/CUBLAS.jl
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ function xt_handle()
finalizer(current_task()) do task
push!(idle_xt_handles, cuda.context, new_handle) do
# TODO: which context do we need to destroy this on?
cublasXtDestroy(handle)
cublasXtDestroy(new_handle)
end
end

Expand Down
4 changes: 2 additions & 2 deletions lib/cublas/linalg.jl
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ function LinearAlgebra.generic_matvecmul!(Y::CuVector, tA::AbstractChar, A::Stri
end

T = eltype(Y)
alpha, beta = promote(_add.alpha, _add.beta, zero(T))
alpha, beta = _add.alpha, _add.beta
if alpha isa Union{Bool,T} && beta isa Union{Bool,T}
if T <: CublasFloat && eltype(A) == eltype(B) == T
if tA in ('N', 'T', 'C')
Expand Down Expand Up @@ -281,7 +281,7 @@ end # VERSION

function LinearAlgebra.generic_matmatmul!(C::CuVecOrMat, tA, tB, A::StridedCuVecOrMat, B::StridedCuVecOrMat, _add::MulAddMul)
T = eltype(C)
alpha, beta = promote(_add.alpha, _add.beta, zero(T))
alpha, beta = _add.alpha, _add.beta
mA, nA = size(A, tA == 'N' ? 1 : 2), size(A, tA == 'N' ? 2 : 1)
mB, nB = size(B, tB == 'N' ? 1 : 2), size(B, tB == 'N' ? 2 : 1)

Expand Down
Loading

0 comments on commit 94e1e3d

Please sign in to comment.