Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Julia 1.9 #85

Merged
merged 5 commits into from
Mar 3, 2023
Merged

Support Julia 1.9 #85

merged 5 commits into from
Mar 3, 2023

Conversation

maleadt
Copy link
Member

@maleadt maleadt commented Feb 8, 2023

No description provided.

@maleadt maleadt force-pushed the tb/julia_1.9 branch 3 times, most recently from 792bf5b to 614ff8e Compare February 13, 2023 14:38
@maleadt maleadt force-pushed the tb/julia_1.9 branch 4 times, most recently from 8998dbb to 9595265 Compare February 24, 2023 16:35
@habemus-papadum
Copy link
Contributor

@maleadt I found a M1 Mac with MacOS 12 -- I can try recreating the CI issue later tonight.

@habemus-papadum
Copy link
Contributor

I tried to quickly recreate this issue on a friends machine but couldn't. Let me know if you see an obvious mistake.

julia +beta --project -e 'using Pkg; Pkg.test(; test_args=`gpuarrays/random`)'
┌ Warning: The active manifest file has dependencies that were resolved with a different julia version (1.8.5). Unexpected behavior may occur.
└ @ ~/src/Metal1.9/Manifest.toml:0
     Testing Metal
      Status `/private/var/folders/rg/6md_psjj4fxb8_s0qgh0k2200000gn/T/jl_eqAjF9/Project.toml`
⌃ [79e6a3ab] Adapt v3.5.0
  [6e4b80f9] BenchmarkTools v1.3.2
⌃ [0c68f7d7] GPUArrays v8.6.2
  [dde4c033] Metal v0.1.2 `~/src/Metal1.9`
  [0418c028] Metal_LLVM_Tools_jll v0.3.0+2
  [65323cdd] cmt_jll v0.1.0+0
  [ade2ca70] Dates `@stdlib/Dates`
  [8ba89e20] Distributed `@stdlib/Distributed`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [10745b16] Statistics v1.9.0 `@stdlib/Statistics`
  [8dfed614] Test `@stdlib/Test`
      Status `/private/var/folders/rg/6md_psjj4fxb8_s0qgh0k2200000gn/T/jl_eqAjF9/Manifest.toml`
⌃ [79e6a3ab] Adapt v3.5.0
  [6e4b80f9] BenchmarkTools v1.3.2
  [fa961155] CEnum v0.4.2
  [e2ba6199] ExprTools v0.1.8
⌃ [0c68f7d7] GPUArrays v8.6.2
⌅ [46192b85] GPUArraysCore v0.1.3
  [61eb1bfa] GPUCompiler v0.17.2
  [692b3bcd] JLLWrappers v1.4.1
  [682c06a0] JSON v0.21.3
  [929cbde3] LLVM v4.16.0
  [dde4c033] Metal v0.1.2 `~/src/Metal1.9`
  [69de0a69] Parsers v2.5.7
  [21216c6a] Preferences v1.3.0
  [189a3867] Reexport v1.2.2
  [66db9d55] SnoopPrecompile v1.0.3
  [a759f4b9] TimerOutputs v0.5.22
  [dad2f222] LLVMExtra_jll v0.0.16+2
  [0418c028] Metal_LLVM_Tools_jll v0.3.0+2
  [65323cdd] cmt_jll v0.1.0+0
  [0dad84c5] ArgTools v1.1.1 `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [8ba89e20] Distributed `@stdlib/Distributed`
  [f43a241f] Downloads v1.6.0 `@stdlib/Downloads`
  [7b1f6079] FileWatching `@stdlib/FileWatching`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [4af54fe1] LazyArtifacts `@stdlib/LazyArtifacts`
  [b27032c2] LibCURL v0.6.3 `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [a63ad114] Mmap `@stdlib/Mmap`
  [ca575930] NetworkOptions v1.2.0 `@stdlib/NetworkOptions`
  [44cfe95a] Pkg v1.9.0 `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [9abbd945] Profile `@stdlib/Profile`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA v0.7.0 `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [10745b16] Statistics v1.9.0 `@stdlib/Statistics`
  [fa267f1f] TOML v1.0.3 `@stdlib/TOML`
  [a4e569a6] Tar v1.10.0 `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [e66e0078] CompilerSupportLibraries_jll v1.0.2+0 `@stdlib/CompilerSupportLibraries_jll`
  [deac9b47] LibCURL_jll v7.84.0+0 `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll v1.10.2+0 `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll v2.28.0+0 `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll v2022.10.11 `@stdlib/MozillaCACerts_jll`
  [4536629a] OpenBLAS_jll v0.3.21+0 `@stdlib/OpenBLAS_jll`
  [bea87d4a] SuiteSparse_jll v5.10.1+6 `@stdlib/SuiteSparse_jll`
  [83775a58] Zlib_jll v1.2.13+0 `@stdlib/Zlib_jll`
  [8e850b90] libblastrampoline_jll v5.4.0+0 `@stdlib/libblastrampoline_jll`
  [8e850ede] nghttp2_jll v1.48.0+0 `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll v17.4.0+0 `@stdlib/p7zip_jll`
        Info Packages marked with ⌃ and ⌅ have new versions available, but those with ⌅ are restricted by compatibility constraints from upgrading.
Precompiling environment...
  24 dependencies successfully precompiled in 32 seconds
     Testing Running tests...
┌ Info: System information:
│ macOS 12.6.3, Darwin 21.5.0
│
│ Toolchain:
│ - Julia: 1.9.0-beta4
│ - LLVM: 14.0.6
│
│ 1 device:
└ - Apple M1 (64.000 KiB allocated)
[ Info: Using cmt library from /Users/michelle/.julia/scratchspaces/dde4c033-4e86-420c-a63e-0dd931031962/cmt/lib
┌ Info: Using Metal LLVM back-end from /Users/michelle/.julia/artifacts/3c74b0072cc694992a9d90b5778fb28f7ec53251/bin:
│ LLVM (http://llvm.org/):
│   LLVM version 14.0.0
│   Optimized build.
│   Default target: aarch64-apple-darwin21.6.0
└   Host CPU: cyclone
[ Info: Running 4 tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable.
                      |          | ---------------- CPU ---------------- |
Test         (Worker) | Time (s) | GC (s) | GC % | Alloc (MB) | RSS (MB) |
gpuarrays/random  (2) |        started at 2023-03-01T17:27:04.992
gpuarrays/random  (2) |    21.74 |   1.49 |  6.9 |    4351.27 |   551.47 |
Testing finished in 23 seconds, 426 milliseconds

Test Summary: | Pass  Total  Time
  Overall     |   50     50
    SUCCESS
     Testing Metal tests passed

@maleadt
Copy link
Member Author

maleadt commented Mar 2, 2023

Thanks for having a look. I'm not sure why it doesn't reproduce; maybe it depends on running some tests before? Let's try that out on CI.

@maleadt
Copy link
Member Author

maleadt commented Mar 3, 2023

I give up. Technically, macOS 12 isn't even supported by Metal.jl, and we can't seem to reproduce anywhere outside of CI, so let's just skip that test suite for now. We're not even using GPUArrays' RNG 🤷

EDIT: oh great there's more failures. Let's just disable CI for 1.9 then.

@maleadt
Copy link
Member Author

maleadt commented Mar 3, 2023

@staticfloat Are there any plans to upgrade the juliaecosystem machines to Ventura? They're running 12.4 now, which in any case seems out of date (we're at 12.6.3 already).

We weren't using the callback arguments anyway, and doing so works around
a strange issue during thread adoption:

      From worker 11:	ERROR: Exception handler triggered on unmanaged thread.
      From worker 11:
      From worker 11:	[74351] signal (10.1): Bus error: 10
      From worker 11:	in expression starting at none:1
      From worker 11:	unknown function (ip: 0x129df81a4)
      From worker 11:	__mtCommandBufferOnCompleted_block_invoke at /Users/tim/Julia/pkg/Metal/deps/cmt/src/command_buf.m:72
      From worker 11:	MTLDispatchListApply at /System/Library/Frameworks/Metal.framework/Versions/A/Metal (unknown line)
      From worker 11:	Allocations: 601559070 (Pool: 600823703; Big: 735367); GC: 2453
@maleadt maleadt changed the title Support and test Julia 1.9 Support Julia 1.9 Mar 3, 2023
@maleadt maleadt merged commit 5793ef5 into main Mar 3, 2023
@maleadt maleadt deleted the tb/julia_1.9 branch March 3, 2023 09:42
@staticfloat
Copy link

I typically don't update versions unless we have a need for the newer version; this could count. Do you want me to, e.g. update one machine and give it an agent tag that we can then try running certain tests on?

@maleadt
Copy link
Member Author

maleadt commented Mar 3, 2023

Do you want me to, e.g. update one machine and give it an agent tag that we can then try running certain tests on?

That would be useful, yes. I'm not sure the OS (well, the Metal framework) is the culprit, but it'd be good to eliminate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants